🎮 口袋妖怪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 test2.前端(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许可证
🤝 贡献
- 分叉项目
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支机构(
git push origin feature/AmazingFeature) - 打开拉取请求
______________________________________________________________________
💡 小费:请自然地像对话一样说话!聊天机器人会了解您的意图,并提供适当的信息。
