MCP SSE服务器POC
一个概念验证服务器,用于将模型上下文协议(MCP)的STDIO传输到即时服务器发送事件(SSE)流中,可作为服务部署。即时远程托管MCP服务器,无需基础设施工作。
特性
- 通过简单的UI创建和管理MCP服务器配置
- 为每种配置生成稳定的SSE端点
- 通过SSE流式传输实时模型响应
- 使用Express、Drizzle ORM和PostgreSQL构建
- 在Render上单击部署
地方发展
先决条件
- Node.js(v18或更高版本)
- PostgreSQL数据库
设置
- 克隆此存储库:
git clone https://github.com/yourusername/mcp-sse-poc.git
cd mcp-sse-poc- 安装依赖项:
npm install- 设置本地PostgreSQL数据库并创建
.env包含数据库连接字符串的文件:
DATABASE_URL=postgresql://username:password@localhost:5432/mcp_sse_db- 生成并运行迁移:
npm run generate
npm run migrate- 启动开发服务器:
npm run dev- 打开浏览器并导航到
http://localhost:3000
渲染部署
1.将你的代码推送到GitHub/GitLab
确保您的存储库包含此项目中的所有文件。
2.在Render上创建Web服务
- 登录到您的 渲染仪表板
- 点击 New → Web服务
- 连接您的GitHub/GitLab存储库
- 配置服务:
- 名字:选择一个名称(例如。, mcp-sse-poc) - 环境:节点 - 生成命令: npm install (这将触发构建和迁移的安装后脚本) - 启动命令: npm start
- 点击 创建Web服务
3.添加PostgreSQL数据库
- 在“渲染”中,单击 New → PostgreSQL数据库
- 命名它(例如。,
mcp-sse-db) - 选择免费计划
- 点击 创建数据库
- 复制提供的
DATABASE_URL连接字符串
4.配置环境变量
- 返回您的Web服务
- 导航到 环境 标签
- 添加以下环境变量:
- 钥匙: DATABASE_URL - 价值:粘贴您复制的连接字符串
5.部署
Render将自动部署您的应用程序。部署后,您可以通过Render提供的URL访问它。
用法
- 在浏览器中打开已部署的应用程序
- 通过输入名称和JSON配置创建新的MCP服务器配置
- 保存配置以生成SSE URL
- 在客户端应用程序中使用SSE URL来流式传输模型响应
配置示例
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}模型上下文协议(MCP)
模型上下文协议是一种轻量级的、基于STDIO的规范,用于通过标准输入/输出接口与语言模型进行交互。它允许实时流式传输模型响应,设计简单且可扩展。
核心概念
- STDIO传输
- 输入:描述上下文消息的JSON blob - 输出:增量响应令牌流式传输到stdout - 错误和事件:stderr上的非阻塞通知
- JSON消息格式
{
"context": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Translate to French: Hello, world!" }
],
"stream": true
}- 服务器发送事件(SSE)
- 每个JSON块都成为一个SSE事件 - 与MCP单向流模型的完美映射
许可证
麻省理工学院
