b

bsmi021

rag-systemsagent-orchestrationknowledge-and-memory

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 工具:

  1. create-conversation

    typescript { provider: openrouter , // 提供者始终是 openrouter model: string, // OpenRouter 模型 ID(例如, anthropic/claude-3-opus-20240229 ) title?: string; // 可选的对话标题 }

  2. send-message

    typescript { conversationId: string; // 对话 ID content: string; // 消息内容 stream?: boolean; // 启用流式响应 }

  3. list-conversations

    typescript { filter?: { model?: string; // 按模型筛选 startDate?: string; // 按开始日期筛选 endDate?: string; // 按结束日期筛选 } }

资源

服务器提供了对以下资源的访问:

  1. conversation://{id}

    • 访问特定对话详情
    • 查看消息历史
    • 检查对话元数据
  2. conversation://list

    • 列出所有活动对话
    • 按条件筛选对话
    • 按最近活动排序

开发

构建

bash npm run build

运行测试

bash npm test

调试

服务器提供了几个调试功能:

  1. 错误日志- 所有错误都带有堆栈跟踪记录
  • 令牌使用情况跟踪
  • 速率限制监控
  1. MCP Inspector

    bash npm run inspector

    使用 MCP Inspector 可以:

    • 测试工具执行
    • 查看资源内容
    • 监控消息流
    • 验证协议合规性
  2. 提供者验证

    typescript await server.providerManager.validateProviders();

    验证:

    • API 密钥有效性
    • 模型可用性
    • 速率限制状态

故障排除

常见问题及解决方案:

  1. OpenRouter 连接问题

    • 确认您的 API 密钥有效
    • OpenRouter 仪表板 上检查速率限制
    • 确保模型 ID 正确
    • 监控信用使用情况
  2. 消息流式传输错误

    • 确认模型支持流式传输
    • 检查连接稳定性
    • 监控令牌限制
    • 处理超时设置
  3. 文件系统错误

    • 检查目录权限
    • 核实路径配置
    • 监控磁盘空间
    • 处理并发访问

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

ISC 许可证

来源

bsmi021 - MCP - HelloWorld