使用说明
远程MCP服务器
一种模型上下文协议(MCP)服务器实现,支持现代流式HTTP和传统HTTP+SSE传输,旨在与Claude.ai和其他MCP兼容客户端集成。
特性
- ✅ 符合MCP协议修订版2025-03-26
- ✅ 可流式HTTP传输(主要)
- ✅ 传统HTTP+SSE传输(向后兼容性)
- ✅ 基本工具:echo、ping、get_time
- ✅ Docker容器化
- ✅ 健康检查端点
- ✅ 浏览器客户端的CORS支持
先决条件
- Node.js 20+(用于本地开发)
- Docker和Docker Compose(用于容器化部署)
- npm或纱线
快速开始
地方发展
- 克隆存储库:
git clone <repository-url>
cd remote-mcp-server
- 安装依赖项:
npm install
- 复制环境变量:
cp .env.example .env
- 在开发模式下运行:
npm run dev
Docker部署
- 使用Docker Compose构建和运行:
# Basic logging (info level)
docker-compose up -d
# Detailed logging (debug level)
LOG_LEVEL=debug docker-compose up -d
- 检查服务器运行状况:
curl http://localhost:3001/health
- 查看日志:
# View logs
docker-compose logs mcp-server
# Follow logs in real-time
docker-compose logs -f mcp-server
API终点
- POST/mcp -现代流式HTTP端点
- GET/mcp -传统SSE连接端点
- POST/消息 -传统HTTP请求端点
- GET/健康 -健康检查端点
MCP检验员测试
- 克隆MCP检查器:
git clone https://github.com/modelcontextprotocol/inspector
cd inspector
npm install
npm run dev
- 连接到服务器:
- 网址:
http://localhost:3001 - 测试工具、提示和资源
- 网址:
可用工具
-
回声 -回应提供的信息
{ "name": "echo", "arguments": { "message": "Hello, MCP!" } } -
拼 -返回带有时间戳的pong的健康检查
{ "name": "ping", "arguments": {} } -
获取时间 -以各种格式返回当前服务器时间
{ "name": "get_time", "arguments": { "format": "iso" // or "unix", "readable" } }
部署到Synology NAS
- 导出Docker镜像:
docker save remote-mcp-server:latest > mcp-server.tar
-
在Synology容器管理器中导入:
- 上传.tar文件
- 创建映射了端口3001的容器
- 配置环境变量
-
设置Cloudflare隧道以暴露端口3001
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| 端口 | 3001 | 服务器端口 |
| MCP_ENDPOINT | /MCP | 主MCP端点 |
| ENABLE_LEGACY_TRANSPORT | true | 启用旧版HTTP+SSE支持 |
| LOGLEVEL | 信息 | 日志记录级别: info (基本), debug (详细) |
| NODE_ENV | 开发 | 环境模式 |
建筑
┌─────────────────┐ ┌──────────────────┐
│ Claude.ai │────▶│ Cloudflare │
│ MCP Client │ │ Tunnel │
└─────────────────┘ └──────────────────┘
│
▼
┌──────────────────┐
│ MCP Server │
│ Port 3001 │
├──────────────────┤
│ • Streamable HTTP│
│ • Legacy SSE │
│ • Tools/Prompts │
└──────────────────┘
许可证
麻省理工学院
