344 查看 · 2026-07-07 更新
MCP 会话服务器
一个用于管理与 OpenRouter 语言模型对话的 Model Context Protocol (MCP) 服务器实现。该服务器为应用程序提供了一个标准化接口,通过统一的对话管理系统与各种语言模型进行交互。
功能
-
MCP 协议支持
- 完全符合 MCP 协议
- 资源管理和发现
- 基于工具的交互模式
- 流式响应支持
- 错误处理和恢复
-
OpenRouter 集成
- 支持所有 OpenRouter 模型
- 实时流式响应
- 自动令牌计数
- 模型上下文窗口管理
- 可用模型包括:
- Claude 3 Opus
- Claude 3 Sonnet
- Llama 2 70B
- 以及 OpenRouter 目录中的更多模型
-
对话管理
- 创建和管理多个对话
- 系统消息支持
- 消息历史跟踪
- 令牌使用监控
- 对话过滤和搜索
-
流式支持
- 实时消息流
- 分块响应处理
- 令牌计数
-
文件系统持久化
- 对话状态持久化
- 可配置的存储位置
- 自动状态管理
安装
bash npm install mcp-conversation-server
配置
配置
MCP 会话服务器的所有配置现在都通过 YAML 提供。请更新 config/models.yaml 文件以设置您的配置。例如:
yaml
MCP 服务器配置
openRouter: apiKey: "YOUR_OPENROUTER_API_KEY" # 替换为您实际的 OpenRouter API 密钥。
persistence: path: "./conversations" # 存储对话数据的目录。
models:
在此处定义您的模型
provider/model-name : id: provider/model-name contextWindow: 123456 streaming: true temperature: 0.7 description: 模型描述
如果未指定,则使用的默认模型
defaultModel: provider/model-name
服务器配置
MCP 会话服务器现在从 YAML 文件加载其所有配置。在您的应用程序中,您可以按如下方式加载配置:
typescript const config = await loadModelsConfig(); // 从 config/models.yaml 加载 openRouter, persistence, models 和 defaultModel 设置
注意:由于所有配置都通过 YAML 文件提供,因此不再需要环境变量。
使用
基本服务器设置
typescript import { ConversationServer } from mcp-conversation-server ;
const server = new ConversationServer(config); server.run().catch(console.error);
可用工具
服务器公开了几个 MCP 工具:
-
create-conversation
typescript { provider: openrouter , // 提供者始终是 openrouter model: string, // OpenRouter 模型 ID(例如, anthropic/claude-3-opus-20240229 ) title?: string; // 可选的对话标题 }
-
send-message
typescript { conversationId: string; // 对话 ID content: string; // 消息内容 stream?: boolean; // 启用流式响应 }
-
list-conversations
typescript { filter?: { model?: string; // 按模型筛选 startDate?: string; // 按开始日期筛选 endDate?: string; // 按结束日期筛选 } }
资源
服务器提供了对以下资源的访问:
-
conversation://{id}
- 访问特定对话详情
- 查看消息历史
- 检查对话元数据
-
conversation://list
- 列出所有活动对话
- 按条件筛选对话
- 按最近活动排序
开发
构建
bash npm run build
运行测试
bash npm test
调试
服务器提供了几个调试功能:
- 错误日志- 所有错误都带有堆栈跟踪记录
- 令牌使用情况跟踪
- 速率限制监控
-
MCP Inspector
bash npm run inspector
使用 MCP Inspector 可以:
- 测试工具执行
- 查看资源内容
- 监控消息流
- 验证协议合规性
-
提供者验证
typescript await server.providerManager.validateProviders();
验证:
- API 密钥有效性
- 模型可用性
- 速率限制状态
故障排除
常见问题及解决方案:
-
OpenRouter 连接问题
- 确认您的 API 密钥有效
- 在 OpenRouter 仪表板 上检查速率限制
- 确保模型 ID 正确
- 监控信用使用情况
-
消息流式传输错误
- 确认模型支持流式传输
- 检查连接稳定性
- 监控令牌限制
- 处理超时设置
-
文件系统错误
- 检查目录权限
- 核实路径配置
- 监控磁盘空间
- 处理并发访问
贡献
- 分叉仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
许可证
ISC 许可证
来源
- 来源:github
- 链接:https://github.com/bsmi021/mcp-conversation-server