Skip to main content
Glama

Remote MCP Server

by roboulos

Snappy MCP 服务器与 Xano 集成

基于 Cloudflare Workers 构建的远程 MCP 服务器,集成 Xano 数据库,用于工具管理、会话跟踪和 OAuth。现已全面支持最新的 Streamable HTTP 传输协议 (2024-11-05)。

本地开发

# clone the repository git clone https://github.com/roboulos/remote-mcp-server.git # install dependencies cd remote-mcp-server npm install # Configure Xano API Key # Add your Xano API key to wrangler.jsonc in the XANO_API_KEY variable # run locally npm run dev

您应该能够在浏览器中打开http://localhost:8787/

连接到您的 MCP 服务器

使用 MCP 检查器(旧版)

要使用较旧的 SSE 传输探索新的 MCP API,您可以使用MCP 检查器

  • 使用npx @modelcontextprotocol/inspector启动
  • 在检查器中,将传输类型切换为SSE ,并输入http://localhost:8787/sse作为要连接的 MCP 服务器的 URL,然后点击“连接”
  • 您将导航到(模拟)用户/密码登录屏幕。输入任意电子邮件地址并登录。
  • 您应该被重定向回 MCP 检查器,现在您可以列出并调用任何定义的工具!

使用 Workers AI Playground(可流式传输的 HTTP)

要使用最新的 Streamable HTTP 传输协议进行测试:

  1. 参观Workers AI 游乐场
  2. 当提示连接到 MCP 服务器时,请输入您的端点 URL:
    https://remote-mcp-server.robertjboulos.workers.dev/mcp
    或进行本地测试:
    http://localhost:8787/mcp
  3. 出现提示时提供身份验证凭据:
    • auth_token :您的 Xano 身份验证令牌
    • user_id :您的 Xano 用户 ID
  4. Playground 将使用新协议自动处理会话管理

将 Claude Desktop 连接到您的本地 MCP 服务器

旧版 SSE 传输

要使用较旧的 SSE 传输进行连接,请按照Anthropic 的快速入门进行操作,并在 Claude Desktop 中转到设置 > 开发人员 > 编辑配置以查找您的配置文件。

在文本编辑器中打开该文件并将其替换为以下配置:

{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "http://localhost:8787/sse" ] } } }

这将运行本地代理并让 Claude 通过 HTTP 与您的 MCP 服务器通信。

可流式传输的 HTTP 传输(推荐)

要将更新、更高效的 Streamable HTTP 传输与 Claude Desktop 一起使用,请更新您的配置以使用/mcp端点:

{ "mcpServers": { "xano": { "remoteUrl": "http://localhost:8787/mcp", "auth": { "type": "bearer", "token": "YOUR_XANO_AUTH_TOKEN" }, "headers": { "x-user-id": "YOUR_USER_ID" } } } }

用您的实际凭证替换YOUR_XANO_AUTH_TOKENYOUR_USER_ID

打开 Claude 后,会打开一个浏览器窗口并允许您登录。您会在右下角看到可用的工具。输入正确的提示后,Claude 会要求调用该工具。

Xano 集成

该 MCP 服务器使用 Xano 作为其后端:

  1. 工具管理:在 Xano 的____mcp_tools表中定义工具,它们将自动在 MCP 服务器中注册
  2. 会话跟踪:所有 MCP 会话均在___mcp_sessions表中进行跟踪,并具有唯一的会话 ID
  3. OAuth 身份验证:OAuth 令牌和状态存储在 Xano 的___oauth_tokens___oauth_states表中
  4. 日志记录:所有 MCP 请求都记录在___mcp_logs表中

可流式传输的 HTTP 实现

该服务器实现了最新的模型上下文协议可流式 HTTP 传输(2024-11-05),具有以下特点:

身份验证方法

服务器支持多种身份验证机制以实现最大兼容性:

  1. URL 参数?auth_token=xxx&user_id=yyy (传统方法)
  2. 授权标头:授权:带有x-user-id标头的Authorization: Bearer xxx (现代方法)
  3. 请求主体:身份验证参数可以包含在初始化有效载荷中

会话管理

服务器根据最新规范处理会话ID:

  1. 会话创建:服务器为新连接生成唯一的会话ID
  2. 会话跟踪:客户端存储此 ID,并将其作为?sessionId=xxx包含在未来的请求中
  3. 状态持久性:每个会话在 Xano 中维护自己的状态,该状态在请求之间持久存在

协议合规性

实施包括对以下方面的适当支持:

  1. 统一消息端点:支持/mcp/message端点模式
  2. 协议标头:所有响应都包含适当的标头,例如MCP-Available-Transports
  3. SSE Streaming :增强了对流响应的 SSE 支持
  4. 响应格式:标准 JSON-RPC 2.0 格式,带有协议特定扩展

设置 Xano

  1. 使用所需的表创建 Xano 项目(参见数据库模式)
  2. 创建 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

  1. npx wrangler kv namespace create OAUTH_KV
  2. 按照指南将 kv 命名空间 ID 添加到wrangler.jsonc
  3. 将您的 Xano API 密钥添加到wrangler.jsonc中的XANO_API_KEY变量
  4. 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

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Cloudflare Workers-based implementation of the Model Context Protocol server with OAuth login, allowing Claude and other MCP clients to connect to remote tools.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers with OAuth login, allowing AI assistants like Claude to execute tools remotely through HTTP connections.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server implementation that runs on Cloudflare Workers with OAuth login, allowing Claude and other AI models to access tools via the MCP standard.
    Last updated -
    TypeScript
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that runs on Cloudflare Workers, supporting OAuth login and enabling Claude AI to access remote tools and services via MCP.
    Last updated -
    TypeScript

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/roboulos/remote-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server