内容
# 🚀 Nchan MCP 传输层
> 一个高性能的 WebSocket/SSE 传输层和网关,用于 **Anthropic 的 MCP(模型上下文协议)** — 由 Nginx、Nchan 和 FastAPI 提供支持。
> 用于构建 **实时、可扩展的 AI 集成**,适用于 Claude 和其他 LLM 代理。
---
## ✨ 什么是 Nchan MCP 传输层?
**Nchan MCP 传输层** 为 MCP 客户端(如 Claude)提供了一个 **实时 API 网关**,用于通过以下方式与您的工具和服务进行通信:
- 🧵 **WebSocket** 或 **服务器发送事件(SSE)**
- ⚡️ **可流式传输的 HTTP** 兼容
- 🧠 由 Nginx + Nchan 提供支持,实现 **低延迟发布/订阅**
- 🛠 与 FastAPI 集成,用于后端逻辑和 OpenAPI 工具
> ✅ 适用于构建 **Claude 插件**、**LLM 代理** 或通过 MCP 将 **外部 API** 集成到 Claude 中。
---
## 🧩 主要功能
| 功能 | 描述 |
|----------------------------------|-----------------------------------------------------------------------------|
| 🔄 **双协议支持** | 无缝支持 **WebSocket** 和 **SSE**,自动检测 |
| 🚀 **高性能发布/订阅** | 构建于 **Nginx + Nchan** 之上,可处理数千个并发连接 |
| 🔌 **MCP 兼容传输** | 完全实现 **模型上下文协议**(JSON-RPC 2.0) |
| 🧰 **OpenAPI 集成** | 从任何 OpenAPI 规范中自动生成 MCP 工具 |
| 🪝 **工具/资源系统** | 使用 Python 装饰器注册工具和资源 |
| 📡 **异步执行** | 后台任务队列 + 通过推送通知实时更新进度 |
| 🧱 **容器化部署** | 使用 Docker Compose 轻松部署 |
---
## 🧠 为什么使用 Nchan MCP 传输层?
MCP 允许像 **Claude** 这样的 AI 助手与外部工具通信。但是:
- 原生 MCP 使用 **HTTP + SSE**,在 **长任务**、**网络不稳定** 和 **高并发** 方面存在问题
- WebSocket 不被 Claude 原生支持 — 该项目 **填补了这一空白**
- 使用纯 Python 的服务器端逻辑(如 `FastMCP`)可能 **在负载下无法扩展**
✅ **Nchan MCP 传输层** 为您提供:
- Web 级别性能(Nginx/Nchan)
- FastAPI 支持的工具后端
- 向 Claude 客户端实时传递事件
- 开箱即用的 OpenAPI 到 Claude 集成
---
## 🚀 快速入门
### 📦 1. 安装服务器 SDK
```bash
pip install httmcp
```
### 🧪 2. 在 Docker 中运行演示
```bash
git clone https://github.com/yourusername/nchan-mcp-transport.git
cd nchan-mcp-transport
docker-compose up -d
```
### 🛠 3. 定义您的工具
```python
@server.tool()
async def search_docs(query: str) -> str:
return f"Searching for {query}..."
```
### 🧬 4. 暴露 OpenAPI 服务(可选)
```python
openapi_server = await OpenAPIMCP.from_openapi("https://example.com/openapi.json", publish_server="http://nchan:80")
app.include_router(openapi_server.router)
```
### 🖥️ 5. 一键 GPT 操作部署到 MCP 服务器
HTTMCP 提供了一个强大的 CLI,用于将 GPT 操作部署到 MCP 服务器:
```bash
# 安装
pip install httmcp[cli]
# 从 GPT 操作 OpenAPI 规范一键部署
python -m httmcp -f gpt_actions_openapi.json -p http://nchan:80
```
---
## 📚 用例
- 使用 WebSocket/SSE 的 Claude 插件服务器
- 实时 LLM 代理后端(类似 LangChain/AutoGen)
- 通过 OpenAPI 将 Claude 连接到内部 API
- MCP 的高性能工具/服务桥
---
## 🔒 要求
- 带有 Nchan 模块的 Nginx(在 Docker 镜像中预安装)
- Python 3.9+
- Docker / Docker Compose
---
## 🛠 技术栈
- 🧩 **Nginx + Nchan** – 持久连接管理和发布/订阅
- ⚙️ **FastAPI** – 后端逻辑和 JSON-RPC 路由
- 🐍 **HTTMCP SDK** – 完整的 MCP 协议实现
- 🐳 **Docker** – 部署准备就绪
---
## 📎 关键词
`mcp 传输层`、`nchan websocket`、`sse for anthropic`、`mcp jsonrpc 网关`、`claude 插件后端`、`可流式传输的 http`、`实时 ai api 网关`、`fastapi websocket mcp`、`mcp 发布/订阅`、`mcp openapi 桥接`
---
## 🤝 贡献
欢迎提交拉取请求!如果您想帮助改进,请提交问题:
- 性能
- 部署
- SDK 集成
---
## 📄 许可证
MIT 许可证