用途:remote-mcp-server-with-auth 是一个可上线的模板,用于构建并部署带 GitHub OAuth 认证的远程 MCP(Model Context Protocol)服务器,部署目标为 Cloudflare Workers,并集成 PostgreSQL。
主要能力:采用模块化工具架构,每个工具单独放在 src/tools/ 下;同时支持 /mcp(流式 HTTP,推荐)与 /sse(SSE,旧版)两种传输协议;内置 GitHub OAuth 用户认证与基于角色的权限;通过 lifespan 管理跨工具调用的 PostgreSQL 连接池;提供 SQL 注入防护、查询校验与基于用户名的写权限控制;可选 Sentry 集成用于生产监控。
使用方式:克隆仓库后执行 npm install、npm install -g wrangler、wrangler login,复制 .dev.vars.example 为 .dev.vars 并配置 GITHUB_CLIENT_ID、GITHUB_CLIENT_SECRET、COOKIE_ENCRYPTION_KEY、DATABASE_URL 等;加密密钥可用 openssl rand -hex 32 生成。在 GitHub Developer Settings 创建 OAuth App,回调地址为 http://localhost:8792/callback 或生产域名下的 /callback。本地用 wrangler dev 启动,默认监听 http://localhost:8792,可用 npx @modelcontextprotocol/inspector@latest 测试。生产部署需 wrangler kv namespace create "OAUTH_KV" 并更新 wrangler.jsonc,再执行 wrangler deploy,随后用 wrangler secret put 设置各项生产密钥。也可在 Claude Desktop 配置中以 url 和 transport(streamableHttp)方式接入。
扩展:在 src/tools/ 新建工具文件,用 zod 定义输入 schema,通过 server.tool 注册,再在 src/tools/index.ts 的 registerAllTools 中加入。项目还附带 src/simple-math.ts 最小示例。
限制:具体仓库地址、版本要求、是否收费、性能指标及生产效果资料未提供;工具能力与安全行为需开发者自行按官方文档验证。