返回市场
MCP聊天适配器

MCP聊天适配器

作者:aiamblichus3 星标更新:2025-05-12

项目介绍

MCP Chat Adapter

一个提供干净接口的MCP(模型上下文协议)服务器,使LLMs能够通过MCP协议使用聊天完成功能。该服务器充当LLM客户端与任何兼容OpenAI API之间的桥梁。主要用例是聊天模型,因为服务器不支持文本完成。

概述

OpenAI Chat MCP服务器实现了模型上下文协议(MCP),允许语言模型以标准化的方式与OpenAI的聊天完成API进行交互。它使得用户与语言模型之间的无缝对话成为可能,同时处理API交互、对话管理和状态持久化的复杂性。

特性

  • 使用FastMCP构建,实现强大且简洁的功能
  • 提供对话管理和聊天完成工具
  • 正确的错误处理和超时设置
  • 支持使用本地存储的对话持久化
  • 配置简单,易于设置
  • 可配置的模型参数和默认值
  • 兼容OpenAI及兼容OpenAI的API

典型工作流程

想法是你可以让Claude在后台启动并维护与其他模型的多个对话。所有对话都存储在CONVERSATION_DIR目录中,你需要在mcp.json文件的env部分设置这个目录。

你可以指示Claude创建一个新的对话,或者继续一个已存在的对话(由整数conversation_id标识)。即使你在新的上下文中从头开始,也可以继续旧的对话,但这种情况下你可能需要告诉Claude在继续之前先读取旧的对话内容,使用get_conversation工具。

请注意,你还可以手动编辑CONVERSATION_DIR目录中的对话。在这种情况下,你可能需要重启服务器才能看到更改。

配置

必需的环境变量

这些环境变量必须设置,以便服务器正常运行:

OPENAI_API_KEY=your-api-key  # 你的OpenAI或兼容服务的API密钥
OPENAI_API_BASE=https://openrouter.ai/api/v1 # API的基础URL(可以更改以适应兼容的服务)

你还应该设置CONVERSATION_DIR环境变量到你希望存储对话数据的目录。使用绝对路径。

可选的环境变量

以下环境变量是可选的,并具有默认值:

# 模型配置
DEFAULT_MODEL=google/gemini-2.0-flash-001 # 如果未指定,则使用的默认模型
DEFAULT_SYSTEM_PROMPT="You are an unhelpful assistant."  # 默认系统提示
DEFAULT_MAX_TOKENS=50000 # 默认的最大令牌数
DEFAULT_TEMPERATURE=0.7  # 默认的温度设置
DEFAULT_TOP_P=1.0 # 默认的top_p设置
DEFAULT_FREQUENCY_PENALTY=0.0 # 默认的频率惩罚
DEFAULT_PRESENCE_PENALTY=0.0  # 默认的存在惩罚

# 存储配置
CONVERSATION_DIR=./convos # 存储对话数据的目录
MAX_CONVERSATIONS=1000 # 最多存储的对话数量

与Claude UI等集成

你的mcp.json文件应如下所示:

{
  "mcpServers": {
    "chat-adapter": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-chat-adapter"
      ],
      "env": {
          "CONVERSATION_DIR": "/Users/aiamblichus/mcp-convos",
          "OPENAI_API_KEY": "xoxoxo",
          "OPENAI_API_BASE": "https://openrouter.ai/api/v1",
          "DEFAULT_MODEL": "qwen/qwq-32b"
      }
    }
  }
}

最新版本的包发布在npm 这里

可用工具

1. 创建对话

创建一个新的聊天对话。

{
  "name": "create_conversation",
  "arguments": {
    "model": "gpt-4",
    "system_prompt": "You are a helpful assistant.",
    "parameters": {
      "temperature": 0.7,
      "max_tokens": 1000
    },
    "metadata": {
      "title": "My conversation",
      "tags": ["important", "work"]
    }
  }
}

2. 聊天

向对话添加一条消息并获取响应。

{
  "name": "chat",
  "arguments": {
    "conversation_id": "123",
    "message": "Hello, how are you?",
    "parameters": {
      "temperature": 0.8
    }
  }
}

3. 列出对话

获取可用对话的列表。

{
  "name": "list_conversations",
  "arguments": {
    "filter": {
      "tags": ["important"]
    },
    "limit": 10,
    "offset": 0
  }
}

4. 获取对话

获取对话的全部内容。

{
  "name": "get_conversation",
  "arguments": {
    "conversation_id": "123"
  }
}

5. 删除对话

删除对话。

{
  "name": "delete_conversation",
  "arguments": {
    "conversation_id": "123"
  }
}

开发

安装

# 克隆仓库
git clone https://github.com/aiamblichus/mcp-chat-adapter.git
cd mcp-chat-adapter

# 安装依赖
yarn install

# 构建项目
yarn build

运行服务器

对于FastMCP cli运行:

yarn cli

对于FastMCP inspect运行:

yarn inspect

贡献

欢迎贡献!请随意提交Pull Request。

许可证

MIT