🌊 HTTP + SSE MCP Server w/ OAuth

🌊 HTTP + SSE MCP Server w/ OAuth

site icon
2025.05.03 0
TypeScriptOAuth授权流式传输MCP服务器其它
该MCP服务器是一个支持OAuth授权的HTTP和SSE传输的参考实现,旨在提供一个远程MCP服务器,支持流式HTTP和SSE传输,并基于MCP规范进行OAuth授权。它允许用户轻松替换自己的MCP服务器和OAuth凭证,适用于需要OAuth授权和流式传输的场景。
View on GitHub

Overview

基本能力

产品定位

该MCP服务器是一个支持OAuth授权的HTTP和SSE传输的参考实现,旨在提供一个远程MCP服务器,支持流式HTTP和SSE传输,并基于MCP规范进行OAuth授权。

核心功能

  1. 支持流式HTTP和SSE传输。
  2. 支持OAuth授权,基于MCP规范。
  3. 提供无状态和有状态的服务器实现。
  4. 支持动态客户端注册(RFC7591)。
  5. 可以与MCP主机(如Cursor或Claude Desktop)或自定义代理集成。

适用场景

  1. 需要OAuth授权的MCP服务器。
  2. 需要流式HTTP或SSE传输的MCP服务器。
  3. 需要动态客户端注册的场景。
  4. 与MCP主机或自定义代理集成的场景。

工具列表

  1. mcp-remote:用于将远程传输桥接到STDIO传输的工具。
  2. StreamableHTTPClientTransport:用于在JS/TS代理中集成流式HTTP传输的工具。

常见问题解答

  1. 为什么需要动态客户端注册?
  2. MCP规范要求支持动态客户端注册,以便新客户端可以自动注册到新服务器。
  3. 如何设置OAuth授权?
  4. 推荐使用Auth0作为上游OAuth授权服务器,并配置动态客户端注册。
  5. 如何选择传输方式?
  6. 可以使用http-firstsse-firsthttp-onlysse-only选项来选择传输方式。

使用教程

使用依赖

  1. 安装Bun(推荐)或npm + tsc。 shell # 安装Bun curl -fsSL https://bun.sh/install | bash

安装教程

  1. 克隆仓库并安装依赖。 shell git clone https://github.com/NapthaAI/http-oauth-mcp-server.git cd http-oauth-mcp-server bun install
  2. 复制并配置.env文件。 shell cp .env.template .env # 编辑.env文件,填写Auth0的配置信息

调试方式

  1. 运行无状态服务器(仅支持流式HTTP传输)。 shell bun run src/app.stateless.ts
  2. 运行有状态服务器(支持流式HTTP和SSE传输)。 shell bun run src/app.stateful.ts
  3. 使用mcp-remote工具测试服务器。 shell bunx mcp-remote --transport http-first http://localhost:5050/mcp

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。