用途:在 Node.js 生态中构建生产级 MCP(Model Context Protocol)服务器,采用 Express.js、TypeScript,并通过 Scalekit 做 OAuth 2.1 Bearer 令牌认证。适用于复用 npm 包、需要自定义中间件链、为既有 Express 应用添加 MCP 能力,或需要细粒度 HTTP 控制(路由、CORS、健康检查、多端点)与服务器或无服务器部署。若偏好 Python 或无需 Express 的简单方案,则不适合。
主要能力:令牌校验流程为客户端先收到 401 与 WWW-Authenticate,再向 Scalekit 换取令牌,随后携 Bearer 令牌 POST 到 MCP 端点;Express 认证中间件用 Scalekit Node SDK 校验 JWT 签名、过期、签发者与受众;McpServer 处理 JSON-RPC 与工具注册;StreamableHTTPServerTransport 桥接 HTTP 与 MCP;Zod 做参数输入校验;提供 /.well-known/oauth-protected-resource 元数据端点供客户端发现。还涉及 CORS、作用域授权、多租户、限流与生产加固。
使用方式:配置 SK_ENV_URL、SK_CLIENT_ID、SK_CLIENT_SECRET、EXPECTED_AUDIENCE、PROTECTED_RESOURCE_METADATA、PORT 等环境变量,初始化 Scalekit 客户端,注册工具,编写认证中间件(跳过元数据与健康检查端点),在 POST 路由通过 transport.handleRequest 处理请求。测试可用 npx @modelcontextprotocol/inspector@latest 或 cURL 直接调用,负载测试用 autocannon。
限制与注意:必须校验受众与签发者,不要手工解析 JWT,禁止记录令牌,密钥用环境变量管理;中间件顺序应为 CORS→body 解析→认证→路由。缺少元数据会返回 500。具体价格、平台与部署细节资料未提供。