使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器示例,旨在演示如何构建一个能够响应 LLM 客户端请求,提供外部数据访问能力的 MCP 服务器。该服务器实现了一个简单的工具,可以查询 CoinGecko API 获取指定加密货币的实时价格。
主要功能点
- 注册和执行工具 (Tools): 服务器注册了一个名为 'get_crypto_price' 的工具,允许客户端请求查询加密货币的当前价格。
- 数据访问能力: 工具通过调用 CoinGecko API 获取实时的加密货币价格数据。
- MCP 协议兼容: 服务器使用 'fastmcp' 库构建,能够处理符合 MCP 协议的 JSON-RPC 请求。
安装步骤
-
克隆仓库: 首先,你需要克隆 'GenAI_Agents' 仓库到本地:
git clone https://github.com/NirDiamant/GenAI_Agents.git cd GenAI_Agents -
安装依赖: 进入仓库目录后,建议创建一个虚拟环境并安装项目依赖。虽然仓库根目录下没有明确的 'requirements.txt' 文件,但根据代码内容,你需要安装以下Python包:
pip install python-dotenv fastmcp httpx
服务器配置
MCP 客户端需要配置以下信息才能连接到此 MCP 服务器。请将以下 JSON 配置添加到你的 MCP 客户端配置中。
{ "server_name": "crypto_price_tracker", // MCP 服务器名称,与 mcp_server.py 中 FastMCP 初始化时定义的名称一致 "command": "python", // 启动服务器的命令,这里使用 python 解释器 "args": ["all_agents_tutorials/scripts/mcp_server.py"] // 启动服务器的脚本路径,指向 mcp_server.py 文件 }
配置参数说明:
- 'server_name': 服务器的唯一标识名称,必须与 'mcp_server.py' 脚本中 'FastMCP("crypto_price_tracker")' 定义的名称 '"crypto_price_tracker"' 完全一致。
- 'command': 启动服务器进程的命令。由于 'mcp_server.py' 是 Python 脚本,这里设置为 'python'。
- 'args': 启动命令的参数列表。这里指定了 'mcp_server.py' 脚本的相对路径,确保客户端能够找到并执行服务器脚本。
基本使用方法
-
启动 MCP 服务器: 在终端中,导航到仓库根目录 'GenAI_Agents',然后运行 'mcp_server.py' 脚本以启动 MCP 服务器:
python all_agents_tutorials/scripts/mcp_server.py服务器成功启动后,会开始监听来自 MCP 客户端的请求。
-
配置并启动 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 服务器配置 JSON 信息配置连接到 'crypto_price_tracker' 服务器。启动你的 MCP 客户端。
-
调用 'get_crypto_price' 工具: 在 MCP 客户端中,你可以发送 JSON-RPC 请求来调用 'get_crypto_price' 工具。例如,要查询比特币 (bitcoin) 的美元价格,你可以构造如下的 JSON-RPC 请求:
{ "jsonrpc": "2.0", "method": "call", "params": { "tool_name": "get_crypto_price", "tool_args": { "crypto_id": "bitcoin", "currency": "usd" } }, "id": 1 }服务器会处理这个请求,调用 'get_crypto_price' 工具,从 CoinGecko API 获取比特币的美元价格,并将结果以 JSON-RPC 响应的形式返回给客户端。
你可以尝试修改 'tool_args' 中的 'crypto_id' 和 'currency' 参数来查询其他加密货币的价格。
注意:
- 确保你的网络连接正常,以便服务器能够访问 CoinGecko API。
- 本示例仅为演示 MCP 服务器的基本功能,实际应用中可能需要更完善的错误处理、安全机制和功能扩展。
信息
分类
网页与API