Skip to main content
Glama

MCP 对话服务器

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

特征

  • MCP 协议支持

    • 完全符合 MCP 协议

    • 资源管理和发现

    • 基于工具的交互模型

    • 流式响应支持

    • 错误处理和恢复

  • OpenRouter 集成

    • 支持所有 OpenRouter 型号

    • 实时流式响应

    • 自动计数令牌

    • 模型上下文窗口管理

    • 可用的型号包括:

      • 克劳德3号作品

      • 克劳德3首十四行诗

      • 骆驼 2 70B

      • OpenRouter 目录中还有更多内容

  • 对话管理

    • 创建和管理多个对话

    • 支持系统消息

    • 消息历史追踪

    • 代币使用情况监控

    • 对话过滤和搜索

  • 流媒体支持

    • 实时消息流

    • 分块响应处理

    • 令牌计数

  • 文件系统持久性

    • 对话状态持久化

    • 可配置的存储位置

    • 自动状态管理

Related MCP server: MCP TapData Server

安装

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bsmi021/mcp-conversation-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server