Snappy MCP Server with Xano Integration
一个用于 Cloudflare Workers 的模型上下文协议 (Model Context Protocol) 服务器,它与 Claude AI 集成,并通过 OAuth 登录和 SSE 连接启用工具使用。
roboulos
README
基于 Xano 集成的 Snappy MCP 服务器
一个构建在 Cloudflare Workers 上的远程 MCP 服务器,集成了 Xano 数据库,用于工具管理、会话跟踪和 OAuth。
本地开发
# 克隆仓库
git clone https://github.com/roboulos/remote-mcp-server.git
# 安装依赖
cd remote-mcp-server
npm install
# 配置 Xano API 密钥
# 将您的 Xano API 密钥添加到 wrangler.jsonc 文件中的 XANO_API_KEY 变量中
# 本地运行
npm run dev
您应该能够在浏览器中打开 http://localhost:8787/
将 MCP 检查器连接到您的服务器
要探索您的新 MCP API,您可以使用 MCP 检查器。
- 使用
npx @modelcontextprotocol/inspector启动它 - 在检查器中,将传输类型切换为
SSE,并输入http://localhost:8787/sse作为要连接的 MCP 服务器的 URL,然后单击“连接” - 您将导航到一个(模拟)用户/密码登录屏幕。输入任何电子邮件和密码进行登录。
- 您应该被重定向回 MCP 检查器,现在您可以列出和调用任何已定义的工具!
<div align="center"> <img src="img/mcp-inspector-sse-config.png" alt="具有上述配置的 MCP 检查器" width="600"/> </div>
<div align="center"> <img src="img/mcp-inspector-successful-tool-call.png" alt="工具调用后的 MCP 检查器" width="600"/> </div>
将 Claude Desktop 连接到您的本地 MCP 服务器
MCP 检查器很棒,但我们真正想将其连接到 Claude!按照 Anthropic 的快速入门 进行操作,并在 Claude Desktop 中转到 Settings > Developer > Edit Config 以查找您的配置文件。
在您的文本编辑器中打开该文件,并将其替换为以下配置:
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/sse"
]
}
}
}
这将运行一个本地代理,并允许 Claude 通过 HTTP 与您的 MCP 服务器通信
当您打开 Claude 时,应该会打开一个浏览器窗口,允许您登录。您应该在右下角看到可用的工具。给定正确的提示,Claude 应该要求调用该工具。
<div align="center"> <img src="img/available-tools.png" alt="单击锤子图标会显示可用工具列表" width="600"/> </div>
<div align="center"> <img src="img/claude-does-math-the-fancy-way.png" alt="Claude 通过调用 MCP add 工具来回答提示 '我似乎丢失了计算器,并且手指不够用了。您能使用数学工具将 23 和 19 相加吗?'" width="600"/> </div>
Xano 集成
此 MCP 服务器使用 Xano 作为其后端,用于:
- 工具管理:在 Xano 的
____mcp_tools表中定义工具,它们将自动在 MCP 服务器中注册 - 会话跟踪:所有 MCP 会话都在
___mcp_sessions表中跟踪 - OAuth 身份验证:OAuth 令牌和状态存储在 Xano 的
___oauth_tokens和___oauth_states表中 - 日志记录:所有 MCP 请求都记录在
___mcp_logs表中
设置 Xano
- 创建一个具有所需表的 Xano 项目(请参阅数据库模式)
- 为以下内容创建 API 端点:
/api/tools- GET - 列出所有工具/api/tools/execute/{tool_name}- POST - 执行特定工具/api/sessions- POST - 创建新会话/api/sessions/update-activity- PUT - 更新会话活动/api/oauth/tokens- POST - 存储 OAuth 令牌/api/oauth/tokens/{user_id}/{provider}- GET - 获取 OAuth 令牌/api/oauth/states- POST - 存储 OAuth 状态/api/oauth/states/{state}- GET - 验证 OAuth 状态/api/logs- POST - 记录 MCP 请求
部署到 Cloudflare
npx wrangler kv namespace create OAUTH_KV- 按照指南将 kv 命名空间 ID 添加到
wrangler.jsonc - 将您的 Xano API 密钥添加到
wrangler.jsonc文件中的XANO_API_KEY变量中 npm run deploy
从远程 MCP 客户端调用您新部署的远程 MCP 服务器
就像您在上面的“本地开发”中所做的那样,运行 MCP 检查器:
npx @modelcontextprotocol/inspector@latest
然后,在检查器中输入您的 Worker 的 workers.dev URL(例如:worker-name.account-name.workers.dev/sse)作为要连接的 MCP 服务器的 URL,然后单击“连接”。
您现在已从远程 MCP 客户端连接到您的 MCP 服务器。
将 Claude Desktop 连接到您的远程 MCP 服务器
更新 Claude 配置文件以指向您的 workers.dev URL(例如:worker-name.account-name.workers.dev/sse)并重新启动 Claude
{
"mcpServers": {
"math": {
"command": "npx",
"args": [
"mcp-remote",
"https://worker-name.account-name.workers.dev/sse"
]
}
}
}
调试
如果出现任何问题,重新启动 Claude 可能会有所帮助,或者尝试使用以下命令直接从命令行连接到您的 MCP 服务器。
npx mcp-remote http://localhost:8787/sse
在极少数情况下,清除添加到 ~/.mcp-auth 的文件可能会有所帮助
rm -rf ~/.mcp-auth
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。
Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。