项目简介

本项目是一个基于 Model Context Protocol (MCP) 实现的服务器。它专注于提供高效的提示词检索服务,利用向量数据库存储和检索提示词片段,并通过标准化的MCP接口暴露为一个可由大型语言模型(LLM)客户端调用的工具(Tool)。它不包含图形界面或独立的应用,是一个纯粹的后端服务组件,专为增强LLM的上下文感知和交互能力而设计。

主要功能点

  • 提示词检索工具: 核心功能是通过一个名为 'get_prompt_context' 的工具,根据LLM客户端提供的查询语句,从配置的向量数据库(如 ChromaDB)中检索最相关的提示词或文本片段。
  • 上下文增强: 通过提供相关的文本片段作为上下文,帮助LLM更准确地理解用户意图或生成更相关的回复。
  • MCP兼容性: 遵循MCP规范,通过标准化的JSON-RPC协议与MCP客户端通信,易于集成到支持MCP的LLM应用框架中。
  • 灵活配置: 支持通过启动参数指定向量数据库路径和集合名称,方便部署和切换数据源。

安装步骤

  1. 安装 Python: 确保您的系统已安装 Python 3.8 或更高版本。
  2. 克隆仓库:
    git clone https://github.com/2799662352/glorious-prompt-server.git
    cd glorious-prompt-server
  3. 安装依赖: 项目依赖于 'mcp-server' 框架(或提供 FastMCP 的库)、'chromadb' 和 'sentence-transformers'。推荐使用 'uv' 或 'pip' 安装。
    • 使用 uv (推荐):
      pip install uv
      uv sync
    • 使用 pip:
      pip install -r requirements.txt # 如果仓库提供了 requirements.txt 文件,否则手动安装依赖
      # 或者手动安装:
      # pip install mcp-server chromadb sentence-transformers
  4. 准备 ChromaDB 数据: 本服务器依赖于预先准备好的 ChromaDB 数据库,其中包含您想要检索的提示词或文本数据。请确保您已经创建了数据库文件和集合,并知道它们的路径和名称。

服务器配置

本MCP服务器被设计为由标准的MCP客户端或管理器启动。您需要在您的MCP客户端的配置文件(通常是 'settings.json' 或类似的格式)中,配置启动该服务器的命令和参数。

以下是配置示例的结构(请根据您的实际环境修改路径和名称):

{
  // ... 其他 MCP 客户端配置 ...
  "mcp": {
    // ... 其他 mcp 配置 ...
    "servers": {
      "prompt_retriever": { // 给这个服务器起一个名字,方便客户端识别
        "command": "uv", // 或您的Python解释器路径,例如 "python" 或 "/usr/bin/python3"
        "args": [
          "run", // 如果command是uv,则需要run
          "path/to/glorious-prompt-server/prompt_server.py", // 替换为 prompt_server.py 文件的实际路径
          "-d",
          "path/to/your/chroma_db", // 替换为您 ChromaDB 数据库文件夹的实际路径
          "-c",
          "your_collection_name" // 替换为您在 ChromaDB 中使用的集合名称
        ]
      }
    }
  }
  // ... 其他 MCP 客户端配置 ...
}
  • '"prompt_retriever"': 这是您在MCP客户端中为这个特定的服务器实例定义的一个标识符。
  • '"command"': 指定启动服务器脚本的命令。可以是 'uv' (如果使用 uv 运行环境) 或直接是 Python 解释器的路径 ('python', 'python3' 等)。
  • '"args"': 一个字符串数组,包含传递给 'command' 的参数。
    • '"run"': 如果 'command' 是 'uv',则需要此参数来运行脚本。
    • '"path/to/glorious-prompt-server/prompt_server.py"': 替换为 'prompt_server.py' 文件在您系统上的完整路径。这是MCP客户端实际执行的服务器脚本。
    • '"-d"': 指定 ChromaDB 数据库路径的参数。
    • '"path/to/your/chroma_db"': 替换为您的 ChromaDB 数据库文件所在的文件夹路径。
    • '"-c"': 指定 ChromaDB 集合名称的参数。
    • '"your_collection_name"': 替换为您在 ChromaDB 中使用的集合的名称。

配置完成后,您的MCP客户端在启动时将根据此配置自动启动并连接到本服务器。

基本使用方法

本服务器作为一个MCP工具提供服务。一旦MCP客户端成功连接到本服务器,LLM客户端可以通过MCP框架发现并调用暴露的工具。

主要的可调用工具是 'get_prompt_context'。

  • 工具名称: 'get_prompt_context'
  • 功能: 根据用户查询,从ChromaDB中检索相关提示词片段。
  • 参数: 接受一个字符串参数 'query'。
  • 返回值: 返回一个字符串列表,包含检索到的相关文本片段。

在支持MCP的LLM客户端中,您可以通过框架提供的方式调用此工具。例如,一个LLM可能会在需要额外上下文时,通过内部机制调用 'get_prompt_context' 工具,将用户输入的某个部分作为 'query' 传递进去,然后将工具返回的文本列表作为额外的上下文信息注入到发送给模型最终请求中。

用户无需直接与本服务器交互,所有交互都通过MCP客户端完成。

信息

分类

AI与计算