使用说明
项目简介
pokemon-mcp 是一个基于 Model Context Protocol (MCP) 的服务器示例,旨在演示如何将外部 API(这里是 Pokemon API)集成到支持 MCP 协议的 LLM 客户端(如 Claude)。该项目使用 Go 语言开发,提供查询宝可梦信息和比较宝可梦数据的工具,作为一个 MCP 工具集成概念验证。
主要功能点
- 集成 Pokemon API: 连接到公共 Pokemon API (PokeAPI) 获取宝可梦数据。
- 提供宝可梦信息查询工具 (get_pokemon): 允许 LLM 客户端通过宝可梦名称查询其详细信息,包括身高、体重、类型和基础属性。
- 提供宝可梦比较工具 (compare_pokemon): 允许 LLM 客户端比较两个宝可梦的基础属性。
- MCP 服务器实现: 使用 'mcp-go' 库构建,符合 MCP 协议规范,能够处理来自 MCP 客户端的 JSON-RPC 请求。
- Stdio 传输协议: 通过标准输入/输出 (Stdio) 与 MCP 客户端进行通信。
安装步骤
-
编译二进制文件:
- 确保已安装 Go 语言环境。
- 克隆或下载此仓库到本地。
- 在仓库根目录下,打开终端并执行命令 'go build -o pokemon-mcp main.go',编译生成名为 'pokemon-mcp' 的可执行文件。
- 将生成的可执行文件 'pokemon-mcp' 移动到 Claude 桌面客户端可以访问的路径,例如 '/tmp/pokemon-mcp'(请根据您的系统环境调整路径)。
-
配置 Claude 桌面客户端:
- 打开 Claude 桌面客户端的配置文件 'claude_desktop_config.json'(通常位于用户配置目录下,具体位置请参考 Claude 桌面客户端的文档)。
- 在 'mcpServers' 字段中添加一个新的服务器配置项 "pokemon-mcp",指定服务器的启动命令。
{ "mcpServers": { "pokemon-mcp": { "command": "/tmp/pokemon-mcp" } } }配置信息说明:
- '"pokemon-mcp"': MCP 服务器的名称,可以自定义,用于在 Claude 客户端中标识该服务器。
- '"command": "/tmp/pokemon-mcp"': MCP 服务器的启动命令,这里设置为您在安装步骤中移动的可执行文件路径。请务必根据实际文件路径进行修改。 这里假设您将 'pokemon-mcp' 二进制文件放到了 '/tmp' 目录下。
基本使用方法
-
启动 MCP 服务器: 在配置完成后,当 Claude 桌面客户端启动时,会自动尝试连接并启动您配置的 MCP 服务器。
-
在 Claude 中使用工具: 在 Claude 的对话界面中,您可以指示 Claude 使用 "get_pokemon" 或 "compare_pokemon" 工具来查询或比较宝可梦信息。例如,您可以提问:
- "告诉我关于皮卡丘的信息" (Claude 可能会调用 'get_pokemon' 工具)
- "比较一下妙蛙种子和小火龙的属性" (Claude 可能会调用 'compare_pokemon' 工具)
Claude 会根据您的指令,自动调用 MCP 服务器提供的工具,并将结果返回给您。您可以在 Claude 的对话中自然地与宝可梦数据进行交互。
注意:
- 请确保 '/tmp/pokemon-mcp' 路径下的 'pokemon-mcp' 文件具有执行权限 (可以使用 'chmod +x /tmp/pokemon-mcp' 命令添加执行权限)。
- MCP 服务器名称 '"pokemon-mcp"' 可以自定义,但需要与 'claude_desktop_config.json' 中的配置保持一致。
- 此示例仅为演示目的,实际应用中可能需要更完善的错误处理和数据展示。
信息
分类
网页与API