宝可梦数据服务器

一个通过标准化工具提供宝可梦数据的模型上下文协议(MCP)服务器,包含数据摄取服务和SQLite数据库存储。

  • by grovesjosephn
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 grovesjosephn/pokemcp

使用说明

口袋妖怪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

安装

  1. 克隆存储库:
git clone https://github.com/grovesjosephn/pokemcp.git
cd pokemcp
  1. 安装依赖项:
bun install
  1. 设置数据库:
./scripts/setup.sh
  1. 构建所有包:
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 -口袋妖怪能力

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 跑 bun run format
  6. 提交拉取请求

提交指导方针

使用常规提交格式:

<type>[optional scope]: <description>

Examples:
- feat(server): add Pokemon evolution chain tool
- fix(ingestion): handle missing species URL gracefully
- docs: update integration guide

许可证

MIT许可证-有关详细信息,请参阅许可证文件

链接