使用说明
项目简介
本项目是一个原型 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 客户端与服务器之间的通信。
安装步骤
- 环境准备: 确保已安装 Python 3.12 或更高版本。推荐使用 Pyenv 管理 Python 版本。
- 升级 Pip: 打开终端,运行命令 'pip install --upgrade pip' 升级 pip 包管理器。
- 安装依赖: 在仓库根目录下,运行命令 'pip install -r requirements.txt' 安装项目所需的 Python 依赖库,包括 'mcp' 库。
- (可选) 启动 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' (或其他端口)。
基本使用方法
- 配置环境变量: 在使用 '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 - 运行 MCP 服务器: 根据选择的传输协议,运行相应的命令启动 'rhdh_catalog_server.py'。默认使用 Stdio 传输,直接运行:
如果使用 SSE 传输,则需要指定 '--transport sse' 和 '--port' 参数:python rhdh_catalog_server.pypython rhdh_catalog_server.py --port 8000 --transport sse - 运行 MCP 客户端: 运行 'rhdh_catalog_client.py' 客户端脚本,它将连接到 MCP 服务器并调用服务器提供的工具来查询 RHDH Catalog 信息。
客户端脚本 'rhdh_catalog_client.py' 会自动使用 Stdio 协议连接到服务器,并调用 'fetch', 'get_tags', 'get_apis', 'get_inference_servers' 等工具,并将结果输出到日志。python rhdh_catalog_client.py
通过以上步骤,您就可以体验使用该 MCP 服务器和客户端,访问和查询 Red Hat Developer Hub Catalog 中的信息。
信息
分类
开发者工具