Skip to main content
Glama
demo-mcp-server

demo-mcp-server

demo-mcp-server

一个临时性的 MCP 服务器与客户端元数据文档,用于在开发过程中端到端地演练 OAuth 授权流程。这里没有任何生产代码。

服务器

src/ 通过 streamable HTTP 提供 MCP 服务,并受 Auth0 签发的 Bearer 令牌保护:

路径

行为

POST /mcp

MCP 端点。未认证的请求会收到 401,并附带 WWW-Authenticate 质询,其中指明元数据文档

GET /.well-known/oauth-protected-resource/mcp

RFC 9728 受保护资源元数据

令牌根据租户的 JWKS 对 iss、exp 和 aud 进行校验;未指明任何组织的令牌将被拒绝:没有组织,就不存在可供工作的团队边界。两个工具要求不同的 scope——whoami 需要 mcp:read,并报告令牌所携带的身份;echo 需要 mcp:write——因此 scope 不足的调用会产生真实的 403,并附带 insufficient_scope。

nvm use 22 && npm install
npm run dev

设置位于 src/config.ts 中,每一项都可以通过环境变量覆盖。资源标识符必须与客户端实际连接的 URL 一致;如果元数据文档指明的是其他任何内容,客户端将拒绝该文档。

Related MCP server: MCP Server OAuth Toy

元数据文档

docs/client.json 通过 GitHub Pages 发布,其 URL 就是客户端的 client_id,依据 OAuth Client ID Metadata Document 和 MCP client registration。

重定向 URI 采用 MCP Inspector 的默认值:CLI 和 TUI 使用端口 6276,Web 客户端使用端口 6274。

此仓库是公开的,因为授权服务器需要匿名获取该文档。其中不包含任何配置或凭据。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Minimal MCP server for testing SkyStage's self-auth auto-detection feature. It includes tools like ping, echo, server_info, and read_secret, and uses a mock OAuth provider for login.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    A simple HTTP-based MCP server that provides demo tools (get_test_string, echo, check_maintenance), greeting prompts, and test resources, with optional OAuth 2.1 support.
    -