口袋妖怪MCP服务器
一种模型上下文协议(MCP)服务器,提供从免费网站访问口袋妖怪数据的权限 PokeAPI该服务器允许AI助手和其他MCP客户端获取有关口袋妖怪、它们的能力、类型和物种的详细信息。
特性
- 获取口袋妖怪信息:获取任何口袋妖怪的详细统计数据、类型、能力、身高和体重
- 获取能力详细信息:查找有关口袋妖怪能力及其效果的信息
- 获取类型信息:检索类型有效性、弱点和阻力
- 获取物种数据:访问物种信息,包括Pokedex条目、栖息地和世代
安装
- 安装Python 3.10或更高版本
- 安装所需的依赖项:
pip install -r requirements.txt用法
运行服务器
直接运行服务器:
python pokemon_mcp_server.py使用Claude代码进行配置
要将此MCP服务器与Claude Code一起使用,请将其添加到MCP设置配置中:
适用于MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json 对于Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"pokemon": {
"command": "python",
"args": ["/absolute/path/to/pokemon_mcp_server.py"]
}
}
}更新配置后,重新启动Claude Code。
可用工具
1.get_pokemon
通过名字或ID获取有关口袋妖怪的详细信息。
参数:
name_or_id(string):口袋妖怪名称(例如“pikachu”)或身份证号码(例如“25”)
例子:
Get information about Pikachu答复包括:
- 姓名和ID
- 类型
- 身高和体重
- 能力
- 基本统计数据(生命值、攻击、防御等)
2.获取能力
获取有关口袋妖怪能力的信息。
参数:
ability_name(string):能力的名称(例如,“静态”、“过度生长”)
例子:
What does the ability "intimidate" do?答复包括:
- 能力名称
- 简短描述
- 完整效果细节
3.get_type
获取有关口袋妖怪类型的信息。
参数:
type_name(string):类型名称(例如,“火”、“水”、“电”)
例子:
Tell me about the Electric type答复包括:
- 类型有效性(超级有效、不是很有效、没有效果)
- 类型弱点
- 类型阻力和免疫力
4.获取_标记_物种
获取口袋妖怪的物种信息。
参数:
name_or_id(string):口袋妖怪名称或ID
例子:
Get species information for Mewtwo答复包括:
- 种名
- 生成
- 栖息地
- 传奇/神话状态
- Pokedex条目
查询示例
一旦配置了Claude Code,您可以提出以下问题:
- “Charizard的基本数据是什么?”
- “告诉我关于龙型功效的事”
- “莱维特的能力是什么?”
- “阿条野是传说中的口袋妖怪吗?”
- “比较Bulbasaur和Squirtle的统计数据”
API 参考
此服务器使用 PokeAPI 版本 2,一个免费开放的Pokemon API。不需要身份验证。
错误处理
该服务器包括全面的错误处理功能,用于:
- 口袋妖怪名称或ID无效
- 网络错误
- API费率限制
- 无效的能力或类型名称
发展
项目结构
.
├── pokemon_mcp_server.py # Main MCP server implementation
├── test_pokemon_server.py # Unit tests
├── example_usage.py # Example usage demonstrations
├── interactive_test.py # Interactive testing tool
├── run_tests.sh # Test runner script
├── pytest.ini # Pytest configuration
├── requirements.txt # Python dependencies
└── README.md # This file测试
该项目包括全面的测试工具,用于验证功能和演示使用情况。
1.单元测试(pytest)
运行自动化单元测试以验证API功能:
# Run all tests
pytest test_pokemon_server.py -v
# Run specific test class
pytest test_pokemon_server.py::TestPokemonAPI -v
# Run with coverage
pytest test_pokemon_server.py --cov=pokemon_mcp_server单元测试包括:
- 按名称和ID获取口袋妖怪数据
- 检索能力信息
- 获取类型有效性数据
- 获取物种信息
- 无效请求的错误处理
- 数据格式化功能
2.示例使用脚本
运行一个全面的演示,展示所有正在使用的工具:
python example_usage.py此脚本演示:
- 获取口袋妖怪信息(皮卡丘、蜥蜴、喵喵)
- 获取能力细节(静态、过度生长、恐吓、悬浮)
- 检索类型信息(电、火、水、龙)
- 访问物种数据(包括传说中的口袋妖怪)
- 错误处理示例
- 比较多个口袋妖怪
3.交互式测试
启动交互式菜单以手动测试任何工具:
python interactive_test.py特征:
- 交互式菜单驱动界面
- 使用自定义输入测试任何工具
- 快速演示模式,预装口袋妖怪
- 实时结果显示
- 输入示例和建议
4.测试运行程序脚本
使用方便的shell脚本访问所有测试选项:
./run_tests.sh菜单选项:
- 运行单元测试(pytest)
- 运行示例用法演示
- 运行交互式测试
- 运行所有自动化测试
- 退出
运行个人测试
直接测试特定功能:
# Test a specific Pokemon
python -c "import asyncio; from pokemon_mcp_server import call_tool; asyncio.run(call_tool('get_pokemon', {'name_or_id': 'pikachu'}))"
# Test an ability
python -c "import asyncio; from pokemon_mcp_server import call_tool; asyncio.run(call_tool('get_ability', {'ability_name': 'static'}))"许可证
该项目使用来自免费开放的PokeAPI的数据。Pokemon和Pokemon角色名称是任天堂的商标。
贡献
请随时提交问题或拉取请求,以增强此MCP服务器的功能。
