MCP Conversation Server

MCP 对话服务器

一个模型上下文协议 (MCP) 服务器实现,用于管理与 OpenRouter 语言模型的对话。该服务器为应用程序提供了一个标准化接口,使其能够通过统一的对话管理系统与各种语言模型进行交互。

特征

  • MCP 协议支持
    • 完全符合 MCP 协议
    • 资源管理和发现
    • 基于工具的交互模型
    • 流式响应支持
    • 错误处理和恢复
  • OpenRouter 集成
    • 支持所有 OpenRouter 型号
    • 实时流式响应
    • 自动计数令牌
    • 模型上下文窗口管理
    • 可用的型号包括:
      • 克劳德3号作品
      • 克劳德3首十四行诗
      • 骆驼 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 工具:

  1. 创建对话
    { provider: 'openrouter', // Provider is always 'openrouter' model: string, // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229') title?: string; // Optional conversation title }
  2. 发送消息
    { conversationId: string; // Conversation ID content: string; // Message content stream?: boolean; // Enable streaming responses }
  3. 列表对话
    { filter?: { model?: string; // Filter by model startDate?: string; // Filter by start date endDate?: string; // Filter by end date } }

资源

该服务器提供对多种资源的访问:

  1. 对话://{id}
    • 访问特定对话详细信息
    • 查看消息历史记录
    • 检查对话元数据
  2. 对话://列表
    • 列出所有活跃对话
    • 按条件过滤对话
    • 按最近活动排序

发展

建筑

npm run build

运行测试

npm test

调试

该服务器提供了多种调试功能:

  1. 错误日志
    • 所有错误都通过堆栈跟踪记录
    • 代币使用情况追踪
    • 速率限制监控
  2. MCP 检查器
    npm run inspector
    使用 MCP 检查器可以:
    • 测试工具执行
    • 查看资源内容
    • 监控消息流
    • 验证协议合规性
  3. 提供商验证
    await server.providerManager.validateProviders();
    验证:
    • API 密钥有效性
    • 模型可用性
    • 速率限制状态

故障排除

常见问题及解决方案:

  1. OpenRouter连接问题
    • 验证您的 API 密钥是否有效
    • 检查OpenRouter 仪表板上的速率限制
    • 确保模型ID正确
    • 监控信用使用情况
  2. 消息流错误
    • 验证模型流支持
    • 检查连接稳定性
    • 监控令牌限制
    • 处理超时设置
  3. 文件系统错误
    • 检查目录权限
    • 验证路径配置
    • 监控磁盘空间
    • 处理并发访问

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到分支
  5. 创建拉取请求

执照

ISC 许可证

-
security - not tested
A
license - permissive license
-
quality - not tested

模型上下文协议服务器实现,为应用程序通过统一对话管理系统与 OpenRouter 的语言模型交互提供标准化接口。

  1. Features
    1. Installation
      1. Configuration
        1. Configuration
        2. Server Configuration
      2. Usage
        1. Basic Server Setup
        2. Available Tools
        3. Resources
      3. Development
        1. Building
        2. Running Tests
        3. Debugging
        4. Troubleshooting
      4. Contributing
        1. License
          ID: 9z65bn8i2v