MCP认证服务器

一个基于Node.js的MCP(Model Context Protocol)服务器,集成了Asgardeo认证功能,提供简单的加法工具和问候资源。

  • by ayshsandu
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ayshsandu/mcp-auth-quickstart

使用说明

MCP身份验证快速入门

一个具有Asgardeo身份验证的Node.js MCP(模型上下文协议)服务器,具有简单的添加工具和问候资源。

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • 配置了MCP客户端应用程序的Asgardeo帐户

设置

  1. 克隆或下载项目

  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    • 创建一个 .env 文件并根据需要更新值:
      PORT=3000
      BASE_URL=https://api.asgardeo.io/t/myagents
      MCP_RESOURCE=http://localhost:3000/mcp
      
  4. 配置Asgardeo应用程序:

    • 确保您在Asgardeo中有一个MCP客户端应用程序
    • 注意 client-id 用于测试

运行服务器

使用身份验证启动MCP服务器:

npm start

服务器将在上运行 http://localhost:3000/mcp (或中指定的端口 .env).

MCP检验员测试

  1. 运行检查器:

    npx @modelcontextprotocol/inspector http://localhost:3000/mcp
    
  2. 配置身份验证:

    • 在MCP检查器中,转到身份验证设置

    • 在“OAuth 2.0 Flow”下,输入您的Asgardeo client-id

    • 按照OAuth流程进行身份验证

      您需要按照中的说明在Asgardeo中创建测试用户 随附单用户指南 以进行身份验证。

  3. 测试服务器:

    • 列出可用的工具和资源
    • 尝试使用“添加”工具,输入如下 {"a": 5, "b": 3}
    • 使用URI查询“问候”资源,如 greeting://world

API终点

  • POST /mcp -MCP协议端点(需要身份验证)
  • OAuth端点由Asgardeo中间件自动处理

安全

  • 所有MCP请求都需要有效的Asgardeo身份验证
  • CORS已启用用于开发(限制在生产中)
  • 未经授权的请求返回401,其中包含WWW-Authenticate标头

发展

  • 使用TypeScript和Express构建
  • 用途 @modelcontextprotocol/sdk 用于MCP实施
  • 通过身份验证 @asgardeo/mcp-express

故障排除

  • 确保您的Asgardeo应用程序具有正确的重定向URI: http://localhost:6274/oauth/callback
  • 检查一下 .env 文件具有适用于租户的正确Asgardeo基本URL
  • 验证MCP检查器是否在正确的端口上运行

许可证

Apache许可证2.0