🎮 MCP游戏商店电报机器人
Telegram是一个使用Model Context Protocol(MCP)和GPT-4的数字游戏目录机器人
   
______________________________________________________________________
📖 描述
课程教学项目 Waib Kodinga显示集成:
- MCP(模型上下文协议) -用于人工智能代理使用工具的通用协议
- 快速API 创建MCP服务器的现代Web框架
- 数据库 -本地游戏目录数据库
- 电报机器人 -用户界面
- OpenAI GPT-4 系统的大脑决定调用工具
建筑
┌─────────────┐
│ Telegram │
│ User │
└──────┬──────┘
│
▼
┌─────────────┐ ┌──────────────┐
│ Telegram │─────▶│ OpenAI │
│ Bot │◀─────│ GPT-4 │
└──────┬──────┘ └──────────────┘
│
│ HTTP
▼
┌─────────────┐
│ MCP │
│ Server │
└──────┬──────┘
│
▼
┌─────────────┐
│ SQLite │
│ Database │
└─────────────┘______________________________________________________________________
✨ 机会
基本功能
- 🎮 游戏目录 超过128个数字游戏数据库
- 🔍 智能搜索 -按名称、流派、平台、价格
- ➕ 添加游戏 -通过与bot对话框添加目录
- 🎯 建议 -基于流派和平台的类似游戏
- ⭐ 精选 -推荐游戏的特别选择
- 🧮 计算器 安全的数学计算
MCP工具
实现了9个MCP工具:
list_products-所有游戏列表find_product-按标题搜索find_products_by_category-按类型搜索find_products_by_platform-搜索平台find_products_by_price_range搜索价格范围add_product-添加新游戏list_featured_products推荐的游戏find_similar_products寻找类似游戏calculate-安全计算器
______________________________________________________________________
🚀 快速入门
要求
- Python 3.11或更高版本
- Telegram-Bot代币(从 @植物学家)
- OpenAI API密钥(获取) platform.openai.com)
安装
- 克隆存储库:
git clone https://github.com/ergon73/telegram-mcp-ai-assistant.git
cd telegram-mcp-ai-assistant- 创建虚拟环境:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# или
.venv\Scripts\activate # Windows- 建立依赖关系:
pip install -r mcp_server/requirements.txt
pip install -r telegram_bot/requirements.txt- 配置环境变量:
创建文件 .env 在项目的根:
OPENAI_API_KEY=sk-proj-your-key-here
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
MCP_SERVER_URL=http://localhost:8000
OPENAI_MODEL=gpt-4o-mini发射
终端1-MCP服务器:
cd mcp_server
python server.pyTelegram Bot 2终端:
cd telegram_bot
python bot.py准备好了!现在你可以用Telegram写机器人了。
______________________________________________________________________
💬 使用示例
主要命令
/start — приветствие и описание возможностей查询示例
游戏搜索:
👤 покажи все игры
🤖 [список игр из каталога]
👤 найди игру witcher
🤖 🎮 The Witcher 3: Wild Hunt
Платформа: PC
Жанр: RPG
Цена: 40 ₽按参数搜索:
👤 покажи RPG игры на PlayStation дешевле 50 долларов
🤖 [список подходящих игр]添加游戏:
👤 добавь игру Hollow Knight цена 15 жанр Indie платформа PC
🤖 ✅ Игра успешно добавлена в каталог!
🎮 Hollow Knight
Платформа: PC
Жанр: Indie
Цена: 15 ₽建议:
👤 найди похожие игры на The Witcher 3
🤖 [список игр жанра RPG для той же платформы]
👤 что порекомендуешь?
🤖 [список рекомендованных игр]计算:
👤 сколько будет 199 * 3
🤖 199 * 3 = 597______________________________________________________________________
📁 项目结构
telegram-mcp-ai-assistant/
├── README.md # Основное описание проекта
├── .cursorrules # Правила для Cursor IDE
├── .env.example # Шаблон переменных окружения
├── .gitignore
│
├── mcp_server/ # MCP-сервер (FastAPI)
│ ├── server.py # HTTP API эндпоинты
│ ├── db.py # Работа с SQLite БД
│ ├── tools.py # Описание MCP-инструментов
│ ├── products.db # База данных (создаётся автоматически)
│ └── requirements.txt
│
└── telegram_bot/ # Telegram-бот (MCP-клиент)
├── bot.py # Логика бота и обработчики
├── config.py # Конфигурация (.env)
├── mcp_client.py # HTTP-клиент для MCP-сервера
└── requirements.txt______________________________________________________________________
🛠️ 技术
后端(MCP服务器)
- 快速API -现代网络框架
- Uvicorn ASGI服务器
- SQLite3 -内置数据库
- 派丹蒂克 -数据验证
前端(电报-бот)
- 图表3.x -电报机器人的异步框架
- OpenAI Python SDK 与GPT-4集成
- HTTPX 异步HTTP客户端
开发工具
- python dotenv -环境变量管理
- simpleeval 数学表达式的安全计算
______________________________________________________________________
🔒 安全
保护计算器免受DOS攻击
计算器防止滥用:
- ✅ 3、禁止使用运算符(
**)防止计算大数 - ✅ 表达式长度限制(100个字符)
- ✅ 表达式中的数字大小限制(最多10位)
- ✅ 结果限制(Float最多10^15,Int最多10^100)
- ✅ JSON序列化错误处理(Python 3.13+)
______________________________________________________________________
🧪 测试
基本设想
所有脚本都经过测试和工作:
- ✅ 启动MCP服务器没有错误
- ✅ 运行电报机器人没有错误
- ✅ 团队
/start - ✅ 所有游戏列表(自动长列表)
- ✅ 按标题搜索
- ✅ 按类型搜索
- ✅ 搜索平台
- ✅ 按价格搜索
- ✅ 添加新游戏
- ✅ 寻找类似游戏
- ✅ 推荐的游戏
- ✅ 计算器
- ✅ 保持对话的背景
数据库统计
- 游戏总数: 128+
- 推荐的游戏: 15
- 类别: 动作,RPG,战略,独立,冒险,射击,模拟,拼图
- 平台: PC、PlayStation、Xbox、Switch、手机
测试查询示例
/start — приветствие
покажи все игры — список всех игр
найди игру witcher — поиск по названию
покажи RPG игры — поиск по жанру
какие игры есть на PC — поиск по платформе
игры дешевле 30 долларов — поиск по цене
добавь игру Minecraft цена 30 жанр Indie платформа PC — добавление игры
что порекомендуешь? — рекомендованные игры
найди похожие игры на The Witcher 3 — похожие игры
сколько будет 123 * 456 — калькулятор______________________________________________________________________
🤝 对项目的贡献
该项目是在课程框架内为教育目的创建的 Waib Kodinga.
如果你想改进这个项目:
- Fork 仓库
- 创建一个bug(
git checkout -b feature/AmazingFeature) - 修改后的(
git commit -m 'Add some AmazingFeature') - Push in the Stream(
git push origin feature/AmazingFeature) - 打开Pull Request
______________________________________________________________________
📝 许可证
该项目是为教育目的创建的,并在MIT许可下分发。
______________________________________________________________________
👨💻 作者
乔治
- 📧 电子邮件:georgy.belyanin@gmail.com
- 🐙 github: @ergon73
______________________________________________________________________
🙏 致谢
- 课程 Waib Koding 优秀的材料和实践
- Anthropic за模型上下文协议
- 开放人工智能 强大的API
- 支持和灵感开发者社区
______________________________________________________________________
📊 项目现状
🟢 项目准备使用 -所有主要功能都已实现和测试。
实现的可能性
- ✅ 带9个工具的MCP服务器
- ✅ 集成GPT-4的Telegram机器人
- ✅ 128+游戏数据库
- ✅ 自动将长列表拆分为多个消息
- ✅ 正确处理GPT-4 JSON响应
- ✅ 保持对话的背景
- ✅ 错误处理和数据验证
- ✅ 保护计算器免受DOS攻击
- ✅ 过滤非文本消息
- ✅ 查询优化数据库索引
可能的改进
- \[\]添加评级和评论
- 与外部API集成(RAWG、Steam)
- \[\]折扣和股票制度
- \[\]多语种(EN/RU)
- \[\]用于管理的Web界面
- \[\]在云服务器上卸载
- \[\]监控和记录
- \[\]单元和集成测试
