关于 MCP Conversation Server
MCP Conversation Server 是通过 OpenRouter 管理语言模型对话的 MCP 服务,面向需要在应用中统一创建、查询和持久化会话的开发者。它支持流式回复、会话筛选及令牌用量跟踪。
主要功能
- 01创建并管理多个对话
- 02连接 OpenRouter 模型
- 03流式传输回复
- 04筛选和搜索会话
- 05持久化对话状态
适用场景
- 01在应用中创建模型对话
- 02持续查看消息历史
- 03按模型或日期筛选会话
MCP 相关
该服务向 MCP 客户端提供创建对话、发送消息和列出对话的工具,并通过资源 URI 提供对话详情与历史。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP 对话服务
一个用于通过 OpenRouter 的语言模型管理对话的模型上下文协议(MCP)服务实现。该服务提供标准化接口,让应用通过统一的对话管理系统与各种语言模型交互。
功能
-
MCP 协议支持
- 完全符合 MCP 协议
- 资源管理与发现
- 基于工具的交互模式
- 支持流式响应
- 错误处理与恢复
-
OpenRouter 集成
- 支持所有 OpenRouter 模型
- 实时流式响应
- 自动统计令牌数
- 模型上下文窗口管理
- 可用模型包括:
- Claude 3 Opus
- Claude 3 Sonnet
- Llama 2 70B
- 以及 OpenRouter 目录中的许多其他模型
-
对话管理
- 创建和管理多个对话
- 支持系统消息
- 跟踪消息历史
- 监控令牌用量
- 对话筛选与搜索
-
流式支持
- 实时消息流
- 分块响应处理
- 令牌计数
-
文件系统持久化
- 对话状态持久化
- 可配置存储位置
- 自动状态管理
安装
npm install mcp-conversation-server
配置
配置
MCP 对话服务的所有配置现在都通过 YAML 提供。请在 config/models.yaml 文件中更新设置。例如:
# MCP Server Configuration
openRouter:
apiKey: "YOUR_OPENROUTER_API_KEY" # Replace with your actual OpenRouter API key.
persistence:
path: "./conversations" # Directory for storing conversation data.
models:
# Define your models here
'provider/model-name':
id: 'provider/model-name'
contextWindow: 123456
streaming: true
temperature: 0.7
description: 'Model description'
# Default model to use if none specified
defaultModel: 'provider/model-name'
服务配置
MCP 对话服务现在会从 YAML 文件加载所有配置。在应用中,可以按如下方式加载配置:
const config = await loadModelsConfig(); // Loads openRouter, persistence, models, and defaultModel settings from 'config/models.yaml'
注意:不再需要环境变量,因为所有配置都通过 YAML 文件提供。
用法
基本服务设置
import { ConversationServer } from 'mcp-conversation-server';
const server = new ConversationServer(config);
server.run().catch(console.error);
可用工具
该服务提供多个 MCP 工具:
-
create-conversation
{ provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title } -
send-message
{ conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses } -
list-conversations
{ filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }
资源
该服务提供对多个资源的访问:
-
conversation://{id}
- 访问特定对话详情
- 查看消息历史
- 检查对话元数据
-
conversation://list
- 列出所有活跃对话
- 按条件筛选对话
- 按最近活动排序
开发
构建
npm run build
运行测试
npm test
调试
该服务提供多种调试功能:
-
错误日志
- 记录所有错误及其堆栈跟踪
- 跟踪令牌用量
- 监控速率限制
-
MCP Inspector
npm run inspector使用 MCP Inspector 来:
- 测试工具执行
- 查看资源内容
- 监控消息流
- 验证协议合规性
-
提供方验证
await server.providerManager.validateProviders();验证:
- API 密钥有效性
- 模型可用性
- 速率限制状态
故障排查
常见问题与解决方案:
-
OpenRouter 连接问题
- 确认 API 密钥有效
- 在 OpenRouter 的控制面板 中检查速率限制
- 确保模型 ID 正确
- 监控额度用量
-
消息流错误
- 确认模型支持流式传输
- 检查连接稳定性
- 监控令牌限制
- 处理超时设置
-
文件系统错误
- 检查目录权限
- 确认路径配置
- 监控磁盘空间
- 处理并发访问
参与贡献
- Fork 此仓库
- 创建功能分支
- 提交更改
- 推送到分支
- 创建 Pull Request
许可证
ISC 许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。