mcpField
M
MCP Conversation Server

MCP Conversation Server

本地服务
github.com/bsmi021AI 与智能体288 周前更新

关于 MCP Conversation Server

MCP Conversation Server 是通过 OpenRouter 管理语言模型对话的 MCP 服务,面向需要在应用中统一创建、查询和持久化会话的开发者。它支持流式回复、会话筛选及令牌用量跟踪。

主要功能

  1. 01创建并管理多个对话
  2. 02连接 OpenRouter 模型
  3. 03流式传输回复
  4. 04筛选和搜索会话
  5. 05持久化对话状态

适用场景

  1. 01在应用中创建模型对话
  2. 02持续查看消息历史
  3. 03按模型或日期筛选会话

MCP 相关

该服务向 MCP 客户端提供创建对话、发送消息和列出对话的工具,并通过资源 URI 提供对话详情与历史。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 对话服务

一个用于通过 OpenRouter 的语言模型管理对话的模型上下文协议(MCP)服务实现。该服务提供标准化接口,让应用通过统一的对话管理系统与各种语言模型交互。

功能

  • MCP 协议支持

    • 完全符合 MCP 协议
    • 资源管理与发现
    • 基于工具的交互模式
    • 支持流式响应
    • 错误处理与恢复
  • OpenRouter 集成

    • 支持所有 OpenRouter 模型
    • 实时流式响应
    • 自动统计令牌数
    • 模型上下文窗口管理
    • 可用模型包括:
      • Claude 3 Opus
      • Claude 3 Sonnet
      • Llama 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. create-conversation

    {
        provider: 'openrouter',    // Provider is always 'openrouter'
        model: string,             // OpenRouter model ID (e.g., 'anthropic/claude-3-opus-20240229')
        title?: string;            // Optional conversation title
    }
    
  2. send-message

    {
        conversationId: string;  // Conversation ID
        content: string;         // Message content
        stream?: boolean;        // Enable streaming responses
    }
    
  3. list-conversations

    {
        filter?: {
            model?: string;      // Filter by model
            startDate?: string;  // Filter by start date
            endDate?: string;    // Filter by end date
        }
    }
    
资源

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

  1. conversation://{id}

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

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

开发

构建
npm run build
运行测试
npm test
调试

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

  1. 错误日志

    • 记录所有错误及其堆栈跟踪
    • 跟踪令牌用量
    • 监控速率限制
  2. MCP Inspector

    npm run inspector
    

    使用 MCP Inspector 来:

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

    await server.providerManager.validateProviders();
    

    验证:

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

常见问题与解决方案:

  1. OpenRouter 连接问题

  2. 消息流错误

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

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

参与贡献

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

许可证

ISC 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。