使用说明
口袋妖怪MCP服务器
一种模型上下文协议(MCP)服务器,通过标准化工具提供口袋妖怪数据。此monorepo包含MCP服务器和数据摄取服务,用于从PokeAPI获取Pokemon数据。
建筑
这是一个PNPM monorepo,有两个主要包:
- 口袋妖怪mcp服务器:通过标准化工具公开口袋妖怪数据的MCP服务器
- 口袋妖怪mcp摄入:从PokeAPI获取数据并存储在SQLite中的数据摄取服务
该系统使用共享SQLite数据库(data/pokemon.sqlite)用于口袋妖怪数据存储。
特性
MCP工具可用
get_pokemon-获取特定口袋妖怪的详细信息search_pokemon-按名称、类型或其他条件搜索口袋妖怪get_strongest_pokemon-通过各种统计数据找到最强的口袋妖怪get_pokemon_stats-获取口袋妖怪的详细统计数据compare_pokemon-比较两个口袋妖怪的统计数据get_type_effectiveness-获取类型有效性信息
数据覆盖
- 来自PokeAPI的完整口袋妖怪数据
- 统计数据、类型、能力等
- 类型有效性关系
- 可按多个条件搜索
快速开始
先决条件
- Node.js 18+
- PNPM
- Git
安装
- 克隆存储库:
git clone https://github.com/grovesjosephn/pokemcp.git
cd pokemcp
- 安装依赖项:
bun install
- 设置数据库:
./scripts/setup.sh
- 构建所有包:
bun run build
用法
运行MCP服务器
# Development mode (with hot reload)
bun run dev
# Production mode
cd packages/pokemon-mcp-server
bun run start
MCP检验员测试
# Visual GUI testing
cd packages/pokemon-mcp-server
bun run inspect
# CLI testing
bun run inspect:cli
数据摄入
# Run data ingestion
cd packages/pokemon-mcp-ingestion
bun run start
Claude桌面集成
选项1:NPM包(推荐)
全局安装服务器:
cd packages/pokemon-mcp-server
bun run build
npm link
配置Claude桌面:
{
"mcpServers": {
"pokemon": {
"command": "pokemon-mcp-server",
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
选项2:直接节点执行
{
"mcpServers": {
"pokemon": {
"command": "node",
"args": ["/path/to/pokemcp/packages/pokemon-mcp-server/dist/server.js"],
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
选项3:开发模式
{
"mcpServers": {
"pokemon": {
"command": "bun",
"args": ["/path/to/pokemcp/packages/pokemon-mcp-server/server.ts"],
"env": {
"POKEMON_DATA_DIR": "/path/to/pokemcp/data"
}
}
}
}
发展
工作区命令
bun run build # Build all packages
bun run dev # Run all packages in development mode
bun run test # Run tests for all packages
bun run format # Format all files
bun run format:check # Check formatting
服务器包命令
cd packages/pokemon-mcp-server
bun run build # Compile TypeScript
bun run dev # Watch mode
bun run start # Run server
bun run inspect # Run MCP Inspector GUI
bun run inspect:cli # Run MCP Inspector CLI
bun test # Run tests
摄入包装命令
cd packages/pokemon-mcp-ingestion
bun run build # Compile TypeScript
bun run dev # Watch mode
bun run start # Run ingestion
bun test # Run tests
测试
该项目使用bun的内置测试运行器:
# Run all tests
bun run test
# Run specific package tests
cd packages/pokemon-mcp-server && bun test
cd packages/pokemon-mcp-ingestion && bun test
数据库模式
SQLite数据库包括以下表:
pokemon-口袋妖怪基本信息stats-口袋妖怪统计数据(生命值、攻击、防御等)types-口袋妖怪的类型和关系abilities-口袋妖怪能力
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 添加测试
- 跑
bun run format - 提交拉取请求
提交指导方针
使用常规提交格式:
<type>[optional scope]: <description>
Examples:
- feat(server): add Pokemon evolution chain tool
- fix(ingestion): handle missing species URL gracefully
- docs: update integration guide
许可证
MIT许可证-有关详细信息,请参阅许可证文件