认证代理服务器

MCP服务器是一个认证代理服务,用于代表用户调用受保护的API。

  • by jiancui-research
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jiancui-research/mcp-auth0-oidc

使用说明

模型上下文协议(MCP)服务器

这是一台MCP(可能是指某种特定类型的服务器,如管理控制平面服务器等,具体需根据上下文确定)服务器,它要求用户首先进行身份验证。验证通过后,MCP服务器将能够代表用户调用受保护的API。

配置

所有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=The Client ID of the application you created in Auth0
AUTH0_CLIENT_SECRET=The Client Secret of the application you created in 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上,您首先需要设置以下密钥:

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:

npm run deploy

在Auth0仪表板中,也请确保为您的已部署MCP服务器添加一个新的回调URL,例如:

https://mcp-auth0-oidc.<your-subdomain>.workers.dev/callback

要测试这一点,您现在可以使用Workers AI LLM Playground。请导航至 https://playground.ai.cloudflare.com/ 的中文翻译可以是:“https://playground.ai.cloudflare.com/(云服务平台链接)”。不过,通常我们不会直接翻译网址,而是保留原样,因为网址是国际通用的,不需要翻译。但如果要描述这个网址的内容或用途,可以说:“这是Cloudflare提供的一个AI Playground(AI实验场)链接。” 并使用以下URL模式连接到左下角的MCP服务器:

https://mcp-auth0-oidc.<your-subdomain>.workers.dev/sse

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

故障排除

如果您在设置或使用MCP服务器时遇到任何问题,以下是排查故障的一些步骤:

检查工作日志

参观 Cloudflare Workers 日志 在你的仪表盘上

Auth0 控制台日志

  • 在您的 Auth0 控制台中导航至“日志”部分
  • 审查身份验证尝试和失败情况

常见问题

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