口袋妖怪聊天机器人

基于口袋妖怪API的MCP服务器和自然语言处理聊天机器人,提供口袋妖怪信息查询、类型搜索、能力分析和自然语言对话功能。

  • by DimbongCHOI
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 DimbongCHOI/mcp_poke_ver3

使用说明

🎮 口袋妖怪MCP聊天机器人

利用Pokemon API的模型上下文协议(MCP)服务器和自然语言处理聊天机器人。

主要功能

  • 🔍 查询口袋妖怪信息:通过名称或ID查看口袋妖怪的详细信息
  • ⚡ 按类型搜索口袋妖怪:查看特定类型的口袋妖怪列表
  • 📊 能力值分析:口袋妖怪的属性信息和图表
  • 🔎 智能搜索:用自然语言搜索口袋妖怪
  • 🗣️ 自然语言对话:用韩语自然地对话

🚀 安装和运行

1.MCP后端(mcp-backend)

cd mcp-backend
npm install

# Streamable HTTP MCP 서버 (Smithery 배포용, POST /mcp)
npm run server:http  # POST http://localhost:8787/mcp

# 로컬 stdio MCP 서버 (CLI)
npm run server:stdio

# Express API + 챗봇 브리지
npm run web-server

# 테스트
npm test

2.前端(pokedex-frontend)

cd pokedex-frontend
npm install
npm run dev
npm run build

💬 使用示例

查询口袋妖怪信息

🎮 포켓몬 챗봇> 피카츄 정보 보여줘
🎮 포켓몬 챗봇> 리자몽 능력치 알려줘
🎮 포켓몬 챗봇> 꼬부기 상세 정보

按类型搜索口袋妖怪

🎮 포켓몬 챗봇> 전기 타입 포켓몬 알려줘
🎮 포켓몬 챗봇> 불꽃 타입은 어떤 포켓몬들이 있어?
🎮 포켓몬 챗봇> 물 타입 포켓몬들 보여줘

搜索口袋妖怪

🎮 포켓몬 챗봇> 불꽃으로 시작하는 포켓몬 찾아줘
🎮 포켓몬 챗봇> 전기 포켓몬 검색
🎮 포켓몬 챗봇> 어떤 포켓몬이 파이로 시작해?

其他命令

🎮 포켓몬 챗봇> 포켓몬 타입들 알려줘
🎮 포켓몬 챗봇> quit

🏗️ 项目结构

.
├── mcp-backend/                 # MCP 서버 & Node 백엔드
│   ├── package.json             # MCP 전용 의존성
│   ├── smithery.yaml            # Smithery 배포 설정
│   └── src/
│       ├── server.js            # MCP 서버 (포켓몬 도구, 재사용 로직)
│       ├── stdio-server.js      # 로컬 stdio MCP 엔트리
│       ├── http-server.js       # Streamable HTTP MCP 엔트리 (POST /mcp)
│       ├── chatbot.js           # 자연어 처리 챗봇
│       ├── web-server.js        # HTTP API 및 챗봇 브릿지
│       ├── pokemon-api.js       # 포켓몬 API 클라이언트
│       ├── pokemon-mappings.js  # 한·영 이름 매핑
│       ├── config.js            # MCP 전용 설정
│       ├── index.js             # CLI 챗봇
│       └── test.js              # 백엔드 테스트 스크립트
│
└── pokedex-frontend/            # React/Vite 기반 웹앱
    ├── package.json
    ├── public/
    └── src/
        ├── App.jsx, main.jsx
        ├── components/, pages/, store/, utils/
        ├── services/api.js      # Frontend API 클라이언트
        └── config.js            # 타입 매핑 (프론트 전용)

🛠️ MCP工具

1. get_pokemon_info

查询口袋妖怪的详细信息。

  • 参数: identifier (口袋妖怪的名字或ID)

2. get_pokemon_by_type

查看特定类型的口袋妖怪列表。

  • 参数: type (口袋妖怪类型)

3. get_pokemon_types

查看所有口袋妖怪类型的列表。

4. search_pokemon

用口袋妖怪的名字搜索。

  • 参数: query (查询)

5. get_pokemon_stats

查询口袋妖怪的能力值信息。

  • 参数: identifier (口袋妖怪的名字或ID)

🎯 支持的口袋妖怪类型

  • 野马,火焰,水,草,电,冰,格斗,毒
  • 地,飞行,埃斯珀,虫子,岩石,幽灵,龙,恶
  • 钢铁,仙女座

🧪 测试

npm test

测试将验证以下内容:

  • Pokemon API连接和数据查询
  • 韩语口袋妖怪名称映射
  • 聊天机器人意图分析
  • 调用MCP工具

🔧 技术堆栈

  • Node.js:运行时环境
  • MCP-SDK:Model Context Protocol实现
  • 阿西奥斯:HTTP客户端
  • 口袋妖怪API:口袋妖怪数据源
  • 行读取:交互式界面

📝 许可证

MIT许可证

🤝 贡献

  1. 分叉项目
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支机构(git push origin feature/AmazingFeature)
  5. 打开拉取请求

💡 小费:请自然地像对话一样说话!聊天机器人会了解您的意图,并提供适当的信息。