模型上下文协议OAuth认证服务

@pratham-svg/MCP-OAuth
0 Stars 351 次浏览 pratham-svg 更新于 2026-08-23

一个需要通过 Auth0 进行用户身份验证的模型上下文协议服务器,然后才能代表已验证用户启用安全的 API 访问。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Model Context Protocol (MCP) 服务器

这是一个需要用户首先进行身份验证的MCP服务器。然后,MCP服务器将能够代表用户调用受保护的API。

配置

Todos API

在使用MCP服务器之前,您需要按照这里的文档部署Todos API。

Auth0配置

在Auth0仪表板中,在“应用程序”部分创建一个新的应用程序(类型:“常规Web应用程序”)。

一旦应用程序被创建,请在本地开发时将以下URL配置为回调URL:

http://localhost:8788/callback

设置KV命名空间

  • 创建KV命名空间:
    wrangler kv:namespace create "OAUTH_KV"
  • 使用KV ID更新Wrangler文件

环境变量

此MCP服务器需要配置一些环境变量:

设置 描述
AUTH0_DOMAIN 您的Auth0租户的域名(例如,acme.auth0.com
AUTH0_CLIENT_ID 从您创建的Auth0应用程序中获取的客户端ID
AUTH0_CLIENT_SECRET 从您创建的Auth0应用程序中获取的客户端密钥
AUTH0_AUDIENCE 您在Auth0仪表板中注册的API的唯一标识符(例如,urn:todos-api
AUTH0_SCOPE MCP服务器请求的作用域。这里我们请求基本的个人资料信息(openid email profile)、刷新令牌能力(offline_access)以及API访问权限(read:todos
NODE_ENV 环境设置 - 对于本地开发使用development
API_BASE_URL 您运行Todos API的基础URL

开发

在项目的根目录下创建一个.dev.vars文件,并采用如下结构:

AUTH0_DOMAIN=yourdomain.us.auth0.com
AUTH0_CLIENT_ID=您在Auth0中创建的应用程序的客户端ID
AUTH0_CLIENT_SECRET=您在Auth0中创建的应用程序的客户端密钥
AUTH0_AUDIENCE=urn:todos-api
AUTH0_SCOPE=openid email profile offline_access read:todos
NODE_ENV=development
API_BASE_URL=http://localhost:8789

测试MCP服务器

要启动MCP服务器,可以使用以下命令:

npm run dev

通过MCP Inspector,您可以连接到MCP服务器,列出可用工具并调用它们。请确保将传输类型设置为sse并将URL设置为http://localhost:8788/sse

将MCP服务器部署到Cloudflare

要将MCP服务器部署到Cloudflare,您首先需要设置以下密钥:

bash
wrangler secret put AUTH0_DOMAIN
wrangler secret put AUTH0_CLIENT_ID
wrangler secret put AUTH0_CLIENT_SECRET
wrangler secret put AUTH0_AUDIENCE
wrangler secret put AUTH0_SCOPE
wrangler secret put API_BASE_URL一旦设置好密钥,您可以使用以下命令部署 API:

bash
npm run deploy

在 Auth0 仪表板中,还需要为已部署的 MCP 服务器添加一个新的回调 URL,例如:

bash
https://mcp-auth0-oidc..workers.dev/callback

要测试这一点,现在可以使用 Workers AI LLM Playground。导航至 https://playground.ai.cloudflare.com/ 并在左下角通过以下 URL 模式连接到您的 MCP 服务器:

bash
https://mcp-auth0-oidc..workers.dev/sse

这将打开一个弹出窗口,您可以在其中登录,之后便能够使用所有工具。

故障排除

如果您在设置或使用 MCP 服务器时遇到任何问题,这里有一些故障排除步骤:

检查 Worker 日志

访问您的仪表板中的 Cloudflare Workers 日志

Auth0 仪表板日志

  • 导航到 Auth0 仪表板中的日志部分
  • 查看身份验证尝试和失败记录

常见问题

  • 如果身份验证失败,请验证您的 Auth0 配置和密钥
  • 对于连接问题,请确保您的 Worker 已部署且域名正确
  • 确保所有回调 URL 在 Auth0 中都已正确配置
  • 验证 API_BASE_URL 与您部署的 API 端点匹配

相关 MCP 服务