模型上下文协议(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更新牧马人文件
环境变量
此MCP服务器需要配置一些环境变量:
| 设置 | 说明 |
|---|---|
AUTH0_DOMAIN | 您的Auth0租户的域(例如。, acme.auth0.com) |
AUTH0_CLIENT_ID | 您创建的Auth0应用程序的客户端ID |
AUTH0_CLIENT_SECRET | 您创建的Auth0应用程序中的客户端密码 |
AUTH0_AUDIENCE | 您在Auth0 dashbaord中注册的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..workers.dev/callback为了测试这一点,您现在可以使用Workers AI LLM游乐场。引导到 https://playground.ai.cloudflare.com/ 并使用以下URL模式连接到左下角的MCP服务器:
https://mcp-auth0-oidc..workers.dev/sse这将打开一个弹出窗口,您可以在其中登录,之后您将能够使用所有工具。
故障排除
如果您在设置或使用MCP服务器时遇到任何问题,以下是一些故障排除步骤:
检查员工日志
访问 Cloudflare工作日志 在您的仪表板中
Auth0仪表板日志
- 导航到Auth0仪表板中的日志部分
- 查看身份验证尝试和失败
常见问题
- 如果身份验证失败,请验证您的Auth0配置和机密
- 对于连接问题,请确保您的Worker已部署并且域正确
- 检查Auth0中是否正确配置了所有回调URL
- 验证API_BASE_URL是否与已部署的API终结点匹配
