mcpField
M
MCP Server Reference Implementation

MCP Server Reference Implementation

本地服务
github.com/QuantGeekDev开发工具973 周前更新

关于 MCP Server Reference Implementation

这是基于 TypeScript 的 MCP 服务参考实现,用于开发者测试 OAuth 授权流程。它支持 Cognito 和可自托管的 Keycloak,并验证 `mcp:access` 范围。

主要功能

  1. 01实现草案授权规范
  2. 02支持 Cognito 和 Keycloak
  3. 03验证 `mcp:access` 范围
  4. 04基于 TypeScript SDK

适用场景

  1. 01测试 MCP 授权流程
  2. 02配置 Cognito 资源服务
  3. 03试验 Keycloak 身份验证

MCP 相关

它是实现授权规范草案的 MCP 服务,包含授权服务发现相关更新,可供 MCP 客户端测试授权访问。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务参考实现

这是使用官方 typescript sdk 实现的 draft Authorization spec updates 参考 MCP 服务。

此仓库可与此 Postman collection 配合使用。

身份验证提供方

有两种不同的身份验证提供方可选:

  1. Cognito
  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 环境变量来覆盖默认值(如果不清楚,请查看 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. 在 AWS Cognito 控制面板的 Domains 标签页中配置此资源服务器

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。