使用说明
口袋妖怪MCP服务器
一种模型上下文协议(MCP)服务器实现,通过PokeAPI提供对Pokemon数据的访问。此服务器允许MCP客户端查询口袋妖怪信息,包括统计数据、类型、精灵等。
特性
- 口袋妖怪查找:按姓名或ID检索详细的口袋妖怪信息
- 综合数据:访问口袋妖怪统计数据、类型、精灵、身高、体重等
- 错误处理:对无效口袋妖怪请求的正确错误响应
- MCP协议:完全符合模型上下文协议标准
建筑
服务器采用模块化架构构建:
main.rs:入口点和服务器初始化server.rs:带有工具定义的MCP服务器实现client.rs:用于PokeAPI交互的HTTP客户端models.rs:口袋妖怪API响应的数据结构formatter.rs:口袋妖怪数据的输出格式config.rs:日志记录和配置设置
安装
先决条件
- Rust 2024版
- 货物包装经理
从源代码构建
git clone <repository-url>
cd pokemon-mcp-server
cargo build --release
用法
启动服务器
cargo run
服务器在stdio传输上运行,并将启动信息记录到stderr。
可用工具
get_pokemon
按名称或ID检索有关口袋妖怪的详细信息。
参数:
name_or_id(字符串):口袋妖怪名称(不区分大小写)或数字ID
示例用法:
get_pokemon("pikachu")
get_pokemon("25")
响应格式:
**Pikachu** (ID: 25)
**Height:** 4 decimeters
**Weight:** 60 hectograms
**Types:** electric
**Sprite:** https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png
**Base Stats:**
hp: 35
attack: 55
defense: 40
special-attack: 50
special-defense: 50
speed: 90
发展
运行测试
cargo test
代码质量
# Check for compilation errors
cargo check
# Run linter
cargo clippy
# Format code
cargo fmt
环境变量
集 RUST_LOG 控制日志记录级别:
RUST_LOG=debug cargo run
TurboMCP 框架
该项目是使用 TurboMCP,Rust的高性能MCP服务器框架。
使用TurboMCP CLI进行测试
对于测试和开发,您可以使用 TurboMCP命令行界面:
# Install turbomcp-cli
cargo install --git https://github.com/Epistates/turbomcp turbomcp-cli
# Test the server
turbomcp-cli tools-list --command "./target/release/pokemon-mcp" | jq
依赖项
- 涡轮微型计算机:支持网络和stdio的MCP服务器框架
- 东京:多线程异步运行时
- reqwest:API请求的HTTP客户端
- 塞尔德:序列化/反序列化
- 无论如何:错误处理
- 追踪:结构化日志记录
API集成
此服务器与 PokeAPI REST API:
- 基本URL:
https://pokeapi.co/api/v2/ - 端点:
/pokemon/{id or name} - 费率限制:遵循PokeAPI合理使用政策
错误处理
服务器提供适当的错误响应:
- 无效请求:当找不到口袋妖怪时
- 内部错误:用于网络或解析问题
- 正确的状态代码:HTTP状态码处理
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 跑
cargo fmt和cargo clippy - 提交拉取请求
