OAuth认证服务器

Hono-based MCP服务器,支持与任何MCP兼容的OAuth2服务器进行认证,可部署到Supabase Edge Functions、Cloudflare Workers和Deno Deploy。

  • by IntranetFactory
  • TypeScript
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 IntranetFactory/hono-oauth-mcp

使用说明

Hono OAuth MCP服务器

这是一个基于Hono的MCP(模型上下文协议)服务器,可与任何符合MCP标准的OAuth2服务器一起进行身份验证。服务器已配置为部署到:

  • Supabase边缘函数
  • Cloudflare员工
  • Deno部署

环境变量

AUTH_SERVER_URL

OAuth授权服务器URL。Cloudflare Workers和Deno Deploy部署需要此URL。

作为Supabase边缘功能部署时可选 -将由自动可用的自动构建 SUPABASE_URL 环境变量。

例子: https://jdnlvjebzatlybaysdcp.supabase.co/auth/v1

Supabase边缘函数

此服务器支持来自Supabase OAuth2服务器的MCP身份验证。

环境:当作为Supabase边缘功能部署时 SUPABASE_URL 环境变量自动可用。服务器将自动构建 AUTH_SERVER_URL 从它(如 {origin}/auth/v1),因此不需要额外的环境配置。

先决条件

应安装Supabase CLI。如果需要,将其作为依赖项安装:

# Install as dev dependency
pnpm add -D supabase

发展

supabase functions serve

部署

首先,链接您的项目(一次性设置):

supabase link --project-ref <your-project-ref>

注意:在您的Supabase仪表板URL中查找您的项目参考: https://supabase.com/dashboard/project/<your-project-ref> 或在“项目设置”>“常规”>“参考ID”中

然后部署该函数:

supabase functions deploy mcp-oauth

或者部署所有功能:

supabase functions deploy

关于MCP检查器兼容性的说明(2026年1月): MCP检查器尚未符合RFC 9728,无法正确处理 resource_metadata WWW-Authenticate标头中的参数。当OAuth元数据端点在不常见的路径上提供服务时,这会导致问题,例如 /functions/v1/mcp-oauth/.well-known/oauth-protected-resource.Claude Desktop和Claude Web正确处理此问题,并将成功发现元数据端点。看 检查员问题#576 了解详情。

Cloudflare员工

发展

pnpm cloudflare:dev

部署

pnpm cloudflare:deploy

德诺

先决条件

安装Deno:

# macOS/Linux
curl -fsSL https://deno.land/install.sh | sh

# Windows
irm https://deno.land/install.ps1 | iex

发展

pnpm deno:dev
# or directly with deno
deno task dev

部署

首先,创建一个新应用程序(一次性设置):

deno deploy create --org=<your-org>
# Deploy to production
pnpm deno:deploy
# or directly with deno
deno task deploy