MCP服务器参考实现

一个基于TypeScript SDK的MCP服务器参考实现,支持Cognito和Keycloak两种认证方式,适用于需要实现授权规范更新的开发场景。

  • by QuantGeekDev
  • TypeScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 QuantGeekDev/mcp-oauth2.1-server

使用说明

MCP服务器参考实现

这是MCP服务器实现的参考 授权规范更新草案 使用官方字体sdk。

此repo可以与此一起使用 邮差收藏

身份验证提供者

有两个单独的身份验证提供程序选项:

  1. 干邑
  2. Keycloak(自托管)

我们验证范围: mcp:access,与 <resource-id>/mcp:access例如, https://mcp-server.com/mcp:access

重要提示

请记住,OAuth 2.1不允许 http 协议,因此您需要使用带有静态url的ngrok(可从ngrok免费获得)来正确测试这一点。

如果你不在乎,想在没有ngrok的情况下使用localhost,你可以通过在.envs中设置它们来覆盖授权和资源服务器的PORT和PROTOCOL env变量(如果你感到困惑,请检查config文件夹)

使用ngrok进行设置

  1. 构建并启动服务器:

    npm i
    npm run build
    npm run start
    
  2. MCP服务器将在端口1335上启动。

  3. 在另一个终端中,创建到MCP服务器的ngrok隧道:

    ngrok http --domain=<get-a-custom-domain-from-ngrok(free)-and-place-here> 1335
    
  4. 在中配置此资源服务器 Domains 您的标签 AWS Cognito仪表板