使用说明

项目简介

本项目是一个原型 Model Context Protocol (MCP) 服务器,旨在演示如何将 MCP 协议与 Red Hat Developer Hub (RHDH) 集成。该服务器提供了一系列工具,允许 LLM 客户端访问和查询 RHDH 目录中的信息,例如可用的 API、模型推理服务等。此外,它还包含一个简单的工具用于获取网页内容,以及示例 MCP 客户端,用于演示如何与服务器交互。

主要功能点

  • 工具 (Tools)
    • 'fetch': 获取指定 URL 的网页内容。
    • 'get_tags': 从 Red Hat Developer Hub 目录中获取资源标签列表及其计数。
    • 'get_apis': 从 Red Hat Developer Hub 目录中获取 API 列表。
    • 'get_inference_servers': 从 Red Hat Developer Hub 目录中获取模型推理服务器列表。
  • 传输协议: 支持 Stdio 和 SSE (Server-Sent Events) 两种传输协议,用于 MCP 客户端与服务器之间的通信。

安装步骤

  1. 环境准备: 确保已安装 Python 3.12 或更高版本。推荐使用 Pyenv 管理 Python 版本。
  2. 升级 Pip: 打开终端,运行命令 'pip install --upgrade pip' 升级 pip 包管理器。
  3. 安装依赖: 在仓库根目录下,运行命令 'pip install -r requirements.txt' 安装项目所需的 Python 依赖库,包括 'mcp' 库。
  4. (可选) 启动 Ollama 服务器: 如果需要运行 'granite-from-ollama.py' 或与本地 Ollama Granite 模型交互,请先启动 Ollama 服务器并拉取 'granite3-dense:8b' 模型:
    ollama pull granite3-dense:8b
    ollama serve

服务器配置

MCP 客户端需要配置以下信息才能连接到 'rhdh_catalog_server.py' 服务器。以下是使用 Stdio 传输协议的配置示例:

{
  "serverName": "rhdh-api",
  "command": "python",
  "args": ["rhdh_catalog_server.py"]
}

如果需要使用 SSE 传输协议,可以使用以下配置,并需要先启动 SSE 服务器:

{
  "serverName": "rhdh-api",
  "command": "python",
  "args": ["rhdh_catalog_server.py", "--transport", "sse", "--port", "8000"]
}

参数说明:

  • 'serverName': MCP 服务器的名称,这里是 "rhdh-api"。
  • 'command': 启动 MCP 服务器的命令,这里是 "python"。
  • 'args': 启动命令的参数列表,
    • 对于 Stdio 传输,只需指定服务器脚本 'rhdh_catalog_server.py'。
    • 对于 SSE 传输,需要额外指定传输协议 '--transport sse' 和端口 '--port 8000' (或其他端口)。

基本使用方法

  1. 配置环境变量: 在使用 'rhdh_catalog_client.py' 客户端之前,需要设置以下环境变量,以便服务器能够访问 Red Hat Developer Hub Catalog API:
    • 'RHDH_API_URL': Red Hat Developer Hub Catalog API 的 URL 地址。
    • 'RHDH_API_KEY': 用于访问 Red Hat Developer Hub Catalog API 的 Bearer Token。 例如:
    export RHDH_API_URL=http://your-rhdh-catalog-api-url
    export RHDH_API_KEY=your_rhdh_api_key
  2. 运行 MCP 服务器: 根据选择的传输协议,运行相应的命令启动 'rhdh_catalog_server.py'。默认使用 Stdio 传输,直接运行:
    python rhdh_catalog_server.py
    如果使用 SSE 传输,则需要指定 '--transport sse' 和 '--port' 参数:
    python rhdh_catalog_server.py --port 8000 --transport sse
  3. 运行 MCP 客户端: 运行 'rhdh_catalog_client.py' 客户端脚本,它将连接到 MCP 服务器并调用服务器提供的工具来查询 RHDH Catalog 信息。
    python rhdh_catalog_client.py
    客户端脚本 'rhdh_catalog_client.py' 会自动使用 Stdio 协议连接到服务器,并调用 'fetch', 'get_tags', 'get_apis', 'get_inference_servers' 等工具,并将结果输出到日志。

通过以上步骤,您就可以体验使用该 MCP 服务器和客户端,访问和查询 Red Hat Developer Hub Catalog 中的信息。

信息

分类

开发者工具