
🌊 HTTP + SSE MCP Server w/ OAuth

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授权。
核心功能
- 支持流式HTTP和SSE传输。
- 支持OAuth授权,基于MCP规范。
- 提供无状态和有状态的服务器实现。
- 支持动态客户端注册(RFC7591)。
- 可以与MCP主机(如Cursor或Claude Desktop)或自定义代理集成。
适用场景
- 需要OAuth授权的MCP服务器。
- 需要流式HTTP或SSE传输的MCP服务器。
- 需要动态客户端注册的场景。
- 与MCP主机或自定义代理集成的场景。
工具列表
mcp-remote
:用于将远程传输桥接到STDIO传输的工具。StreamableHTTPClientTransport
:用于在JS/TS代理中集成流式HTTP传输的工具。
常见问题解答
- 为什么需要动态客户端注册?
- MCP规范要求支持动态客户端注册,以便新客户端可以自动注册到新服务器。
- 如何设置OAuth授权?
- 推荐使用Auth0作为上游OAuth授权服务器,并配置动态客户端注册。
- 如何选择传输方式?
- 可以使用
http-first
、sse-first
、http-only
或sse-only
选项来选择传输方式。
使用教程
使用依赖
- 安装Bun(推荐)或npm + tsc。
shell # 安装Bun curl -fsSL https://bun.sh/install | bash
安装教程
- 克隆仓库并安装依赖。
shell git clone https://github.com/NapthaAI/http-oauth-mcp-server.git cd http-oauth-mcp-server bun install
- 复制并配置
.env
文件。shell cp .env.template .env # 编辑.env文件,填写Auth0的配置信息
调试方式
- 运行无状态服务器(仅支持流式HTTP传输)。
shell bun run src/app.stateless.ts
- 运行有状态服务器(支持流式HTTP和SSE传输)。
shell bun run src/app.stateful.ts
- 使用
mcp-remote
工具测试服务器。shell bunx mcp-remote --transport http-first http://localhost:5050/mcp