Token导航 LogoToken导航TokenDH.com
Snapnia MCP logo
AI代理未说明官方级别未说明来源级核验

Snapnia MCP

MCP Server

一个基于Supabase的FastMCP服务器,为MCP兼容客户端提供Snapnia工具,包括想法检索、工件管理和AI编排等功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

helderperez-dev

提供方

helderperez-dev

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Snapnia MCP服务器

Supabase支持 FastMCP 该服务器为MCP兼容客户端(如Claude Desktop和AI IDE)提供Snapnia工具。

特性

  • FastMCP运行时 –轻量级的进程内MCP服务器
  • Supabase集成 –用户和MCP密钥的安全存储
  • 创意检索 –搜索、列出并获取详细的想法信息
  • 工件管理 –读取和编辑项目规范文件
  • 🤖 AI编排 –由LangChain+GPT-4/Claude提供的智能工作流程指导

- 根据想法制定实施计划 - 获取了解上下文的下一步建议 - 验证规范的完整性 - 解决实施障碍 - 按阶段跟踪项目进度

  • Docker支持 –构建和运行用于生产的映像
  • 类型化配置 –通过Pydantic设置进行管理

先决条件

  • Python 3.11+
  • 带有服务角色键的Supabase项目
  • (可选)Docker和Docker Compose用于容器化部署
  • 地方发展过程中的依赖管理诗

1.数据库设置

在Supabase项目中创建支持模式(SQL编辑器):

CREATE TABLE profiles (
  id UUID PRIMARY KEY REFERENCES auth.users(id) ON DELETE CASCADE,
  email TEXT UNIQUE NOT NULL,
  full_name TEXT,
  mcp_key TEXT UNIQUE,
  is_active BOOLEAN DEFAULT true,
  is_superuser BOOLEAN DEFAULT false,
  created_at TIMESTAMPTZ DEFAULT NOW(),
  updated_at TIMESTAMPTZ DEFAULT NOW()
);

ALTER TABLE profiles ENABLE ROW LEVEL SECURITY;

CREATE POLICY "Users can view own profile" ON profiles
  FOR SELECT USING (auth.uid() = id);

CREATE POLICY "Users can update own profile" ON profiles
  FOR UPDATE USING (auth.uid() = id);

CREATE OR REPLACE FUNCTION public.handle_new_user()
RETURNS TRIGGER AS $$
BEGIN
  INSERT INTO public.profiles (id, email)
  VALUES (NEW.id, NEW.email);
  RETURN NEW;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;

CREATE TRIGGER on_auth_user_created
  AFTER INSERT ON auth.users
  FOR EACH ROW EXECUTE FUNCTION public.handle_new_user();

2.配置

创建 .env 从示例文件中选择并提供Supabase凭据:

cd snapnia-mcp
cp .env.example .env
# edit .env with SUPABASE_URL / SUPABASE_ANON_KEY / SUPABASE_SERVICE_ROLE_KEY

3.运行服务器

码头工人

make docker-build
make docker-up

# tail logs
make docker-logs

# stop
make docker-down

地方发展

make install
make run

4.提供MCP密钥

从外部生成MCP密钥(例如,通过Supabase SQL或管理UI)并将其存储在 public.profiles.mcp_key。服务器需要与匹配的密钥 mcp_ 由迁移强制执行的前缀。

5.从MCP客户端连接

将服务器添加到MCP客户端配置中(Claude Desktop示例):

{
  "mcpServers": [
    {
      "name": "snapnia-mcp",
      "type": "process",
      "config": {
        "command": "python",
        "args": ["-m", "src.snapnia_mcp.fastmcp_server"],
        "env": {
          "SUPABASE_URL": "https://your-project.supabase.co",
          "SUPABASE_ANON_KEY": "...",
          "SUPABASE_SERVICE_ROLE_KEY": "..."
        }
      }
    }
  ]
}

每个工具都需要一个 mcp_key 客户提供的论据。无效或无效的密钥将被拒绝。

项目结构

snapnia-mcp/
├── src/snapnia_mcp/
│   ├── fastmcp_server.py   # FastMCP tools and runtime
│   ├── run.py              # CLI entry point
│   ├── core/config.py      # Settings
│   ├── services/supabase.py# Supabase integration
│   └── models/user.py      # Pydantic models
├── database/migrations/    # Supabase SQL migrations
├── Dockerfile
├── docker-compose.yml
├── Makefile                # Helper tasks
├── pyproject.toml          # Poetry dependencies
└── requirements.txt        # Pip dependencies (generated snapshot)

有用的命令

make install      # Install dependencies (poetry)
make run          # Launch FastMCP runtime locally
make docker-up    # Build & start container
make docker-down  # Stop container
make format       # Format code (black + ruff)
make lint         # Run ruff / mypy
make clean        # Remove caches

安全说明

  • 将Supabase服务角色密钥视为机密。
  • 定期旋转MCP按键;从中删除已吊销的密钥 profiles.
  • 如果公开,请在容器或代理层限制CORS/ingress。

创意检索文档

有关从Snapnia数据库中检索用户想法和公开想法的详细信息:

- 数据库结构和关系 - 行级安全(RLS)策略 - 用于检索带有注释、反应和视图的想法的SQL查询 - AI IDE集成的最佳实践 - 完整的数据字段参考

- 常见SQL查询 - 关键表列 - RLS策略摘要 - 常见过滤器和模式

- 创意检索辅助类 - 获取用户想法、公众想法和趋势内容的方法 - 搜索和过滤示例 - AI IDE集成模式

- 使用MCP服务器工具的分步示例 - 基于AI的创意生成的上下文构建 - 错误处理和最佳实践

快速入门:检索想法

# 1. Authenticate user
user = mcp0_get_user_info(mcp_key="user_mcp_key")

# 2. Get user's ideas
result = mcp2_execute_sql(
    project_id="uuojjdfwkwpkpkoebaof",
    query=f"""
    SELECT i.*, p.username, p.full_name
    FROM ideas i
    LEFT JOIN profiles p ON i.user_id = p.id
    WHERE i.user_id = '{user['id']}'
      AND i.deleted_at IS NULL
    ORDER BY i.created_at DESC;
    """
)

# 3. Get public ideas
result = mcp2_execute_sql(
    project_id="uuojjdfwkwpkpkoebaof",
    query="""
    SELECT i.*, p.username, p.avatar_url
    FROM ideas i
    LEFT JOIN profiles p ON i.user_id = p.id
    WHERE i.is_private = false 
      AND i.deleted_at IS NULL
    ORDER BY i.created_at DESC
    LIMIT 50;
    """
)

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAI代理MCP服务器本地部署Supabase集成AI编排想法检索工件管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP