这是一个用于管理与OpenRouter语言模型对话的Model Context Protocol(MCP)服务器实现。该服务器提供了一个标准化接口,使应用程序能够通过统一的对话管理系统与各种语言模型进行交互。
MCP协议支持
OpenRouter集成
对话管理
流式支持
文件系统持久化
npm install mcp-conversation-server
MCP对话服务器的所有配置现在都通过YAML文件提供。请更新config/models.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文件加载所有配置。在您的应用中,您可以按如下方式加载配置:
const config = await loadModelsConfig(); // 从'config/models.yaml'加载openRouter、persistence、models和defaultModel设置
注意:不再需要环境变量,因为所有配置都通过YAML文件提供。
import { ConversationServer } from 'mcp-conversation-server';
const server = new ConversationServer(config);
server.run().catch(console.error);
服务器暴露了几个MCP工具:
创建对话
{
provider: 'openrouter', // 提供者始终是'openrouter'
model: string, // OpenRouter模型ID(例如,'anthropic/claude-3-opus-20240229')
title?: string; // 可选的对话标题
}
发送消息
{
conversationId: string; // 对话ID
content: string; // 消息内容
stream?: boolean; // 启用流式响应
}
列出对话
{
filter?: {
model?: string; // 按模型筛选
startDate?: string; // 按开始日期筛选
endDate?: string; // 按结束日期筛选
}
}
服务器提供了对几个资源的访问:
conversation://{id}
conversation://list
npm run build
npm test
服务器提供了几个调试功能:
错误日志
MCP检查器
npm run inspector
使用MCP检查器来:
提供者验证
await server.providerManager.validateProviders();
验证:
常见问题及解决方案:
OpenRouter连接问题
消息流式传输错误
文件系统错误
ISC许可证