使用说明
MCP对话服务器
用于管理与OpenRouter语言模型对话的模型上下文协议(MCP)服务器实现。该服务器为应用程序提供了一个标准化的接口,通过统一的对话管理系统与各种语言模型进行交互。
特性
-
MCP协议支持
- 完全符合MCP协议
- 资源管理和发现
- 基于工具的交互模型
- 流媒体响应支持
- 错误处理和恢复
-
OpenRouter集成
- 支持所有OpenRouter型号
- 实时流媒体响应
- 自动令牌计数
- 模型上下文窗口管理
- 可用型号包括:
- 颜色3选项
- 克劳德三首十四行诗
- 火焰270b
- 以及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工具:
-
创建对话
{ provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title } -
发送消息
{ conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses } -
列出对话
{ filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }
资源
服务器提供对多种资源的访问:
-
对话://{id}
- 访问特定对话详细信息
- 查看消息历史记录
- 检查对话元数据
-
骗局versation://list
- 列出所有活动对话
- 按条件筛选对话
- 按最近的活动排序
发展
建筑
npm run build
运行测试
npm test
调试
服务器提供了几个调试功能:
-
错误记录
- 所有错误都记录在堆栈跟踪中
- 令牌使用跟踪
- 速率限制监控
-
MCP检查员
npm run inspector使用MCP检查器:
- 测试工具执行
- 查看资源内容
- 监控消息流
- 验证协议合规性
-
提供商验证
await server.providerManager.validateProviders();验证:
- API密钥有效性
- 型号可用性
- 费率限制状态
故障排除
常见问题和解决方案:
-
OpenRouter连接问题
- 验证您的API密钥是否有效
- 检查速率限制 OpenRouter的仪表板
- 确保型号ID正确
- 监控信贷使用情况
-
消息流错误
- 验证模型流媒体支持
- 检查连接稳定性
- 监控令牌限制
- 处理超时设置
-
文件系统错误
- 检查目录权限
- 验证路径配置
- 监控磁盘空间
- 处理并发访问
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
ISC许可证