使用说明

项目简介

本项目是一个基于Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 提供访问外部数据源的能力。具体而言,此服务器连接到一个GraphQL API,该API提供对策略 (policies) 数据的访问。通过此MCP服务器,LLM客户端可以调用预定义的工具来查询和检索策略信息,从而增强LLM在策略相关任务中的上下文理解和处理能力。

主要功能点

  • 连接GraphQL API: 服务器可以连接到预配置的GraphQL API端点,并获取其Schema信息。
  • 动态生成GraphQL查询: 根据用户描述和GraphQL Schema,服务器可以辅助生成用于查询策略数据的GraphQL查询语句。
  • 执行GraphQL查询: 服务器可以执行生成的或用户提供的GraphQL查询,并返回从GraphQL API获取的策略数据。
  • BMI计算工具 (示例): 包含一个简单的BMI计算工具,展示了工具注册和执行的基本功能(尽管与核心GraphQL功能关联不大,但作为示例存在)。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Ad-Veritas/mcp-server-trueRAG.git
    cd mcp-server-trueRAG
  2. 安装 'uv' (如果尚未安装): 按照仓库 'README.md' 中的指引安装 'uv' 包管理器。'uv' 用于管理Python环境和依赖。

  3. 配置环境变量: 在项目根目录下创建 '.env' 文件,并填入GraphQL API的密钥和端点信息。

    GRAPHQL_API_KEY = "{your_api_key}"
    GRAPHQL_ENDPOINT = "{your_graphql_endpoint}"

    请替换 '{your_api_key}' 和 '{your_graphql_endpoint}' 为您实际的API密钥和端点。

  4. 运行MCP服务器: 在项目根目录下,使用 'uv' 运行 'server.py' 文件启动MCP服务器。

    uv run fastmcp run server.py

    服务器默认监听标准输入/输出 (stdio) 进行通信。

服务器配置

要将此MCP服务器配置到MCP客户端(例如Claude Desktop),您需要提供以下JSON配置信息给客户端。配置信息定义了一个名为 "shipping-policies" 的服务器,客户端将使用此名称来引用该服务器提供的工具。

{
  "shipping-policies": {
    "command": "uv",  // 启动服务器的命令,这里使用 uv
    "args": [         // 命令的参数列表
      "--directory",  // 指定工作目录
      "{path_to_mcp_server}/mcp-server-trueRAG", // MCP服务器代码所在的目录,请替换为实际路径
      "run",          // uv 的子命令,表示运行 Python 脚本
      "fastmcp",      // 运行 fastmcp
      "run",          // 再次运行 run 子命令
      "server.py"     // 要运行的服务器脚本
    ]
  }
}

请务必将 '{path_to_mcp_server}/mcp-server-trueRAG' 替换为 'mcp-server-trueRAG' 仓库在您本地文件系统中的实际路径。 例如,如果您的仓库位于 '/Users/yourname/Documents/mcp-server-trueRAG',则应替换为 '/Users/yourname/Documents/mcp-server-trueRAG'。

将上述JSON配置添加到您的MCP客户端配置文件中(例如Claude Desktop的 'claude_desktop_config.json' 文件)。

基本使用方法

  1. 启动MCP服务器后,在MCP客户端中配置并连接到该服务器。
  2. 客户端可以使用服务器提供的工具。例如,客户端可以指示LLM调用 'shipping-policies.connect_graphql' 工具来连接GraphQL API。
  3. LLM 可以调用 'shipping-policies.generate_query' 工具,并提供自然语言描述,请求服务器生成GraphQL查询语句。
  4. LLM 可以调用 'shipping-policies.execute_graphql' 工具,并提供GraphQL查询语句(以及可选的变量),执行查询并获取策略数据。
  5. LLM 还可以调用 'shipping-policies.calculate_bmi' 工具进行BMI计算(示例工具)。

通过这些工具,LLM可以与GraphQL API交互,获取所需的策略数据,从而在对话或任务中利用这些信息。

信息

分类

网页与API