使用说明
MCP Connect-产品数据库项目
一个完整的项目,包括一个MCP服务器和一个电报机器人来处理超市的商品数据库。
项目结构
MCP SERVER/
├── mcp_server/ # MCP сервер
│ ├── server.py # Основной MCP сервер (stdio)
│ ├── http_server.py # HTTP обертка для MCP сервера
│ ├── db.py # Работа с SQLite базой данных
│ ├── tools.py # MCP инструменты
│ ├── products.db # База данных (создается автоматически)
│ ├── requirements.txt # Зависимости
│ └── README.md # Документация MCP сервера
│
├── telegram_bot/ # Telegram бот
│ ├── bot.py # Основной файл бота
│ ├── config.py # Конфигурация и загрузка .env
│ ├── mcp_client.py # Клиент для работы с MCP сервером
│ ├── requirements.txt # Зависимости
│ ├── .env.example # Пример файла с переменными окружения
│ └── README.md # Документация бота
│
├── start_all.ps1 # Скрипт для запуска обоих сервисов
├── start_bot.ps1 # Скрипт для запуска только бота
└── README.md # Главная документация проекта
快速入门
1.建立依赖关系
mcp服务器
cd mcp_server
pip install -r requirements.txt
注: 基本MCP服务器(server.py)不需要依赖关系,所有模块都包含在标准Python库中。HTTP服务器需要依赖关系(http_server.py).
电报
cd telegram_bot
pip install -r requirements.txt
注: 机器人使用图书馆 aiogram (与Python 3.13兼容)
2.配置电报机器人
- 创建文件
.env目录telegram_bot:
cd telegram_bot
# Windows PowerShell:
copy .env.example .env
# Linux/Mac:
cp .env.example .env
- 编辑
.env文件并指定:TELEGRAM_API_TOKEN- 令牌 机器 人 @植物学家OPENAI_API_KEYOpenAI API密钥(通过代理)- 其他参数可以保留为默认值
3.项目启动
步骤1:启动MCP HTTP服务器
在一个终端:
cd mcp_server
python http_server.py
服务器将在 http://localhost:8000
步骤2:启动Telegram机器人
在另一个终端:
cd telegram_bot
python bot.py
机器人准备好了!在Telegram中找到它并发送命令 /start.
替代方法: 使用脚本 start_all.ps1 在单独的窗口中自动启动两个服务。
使用
机器人命令
/start-开始使用bot/help-显示帮助
查询示例
机器人理解自然语言:
- “展示所有商品”
- “找到茶”
- “显示水果类产品”
- 找到ID 5的商品
- 添加产品苹果120水果
- “2+2*3是多少”
它是如何工作的
- mcp服务器 -通过SQLite提供产品数据库工具
- HTTP 信封 -允许您通过HTTP API连接到MCP工具
- 电报 使用OpenAI来理解用户的需求,并调用相应的MCP工具
请求处理过程:
- 用户向bot发送消息
- 机器人向OpenAI发送请求(通过代理)
- LLM分析请求并确定是否需要调用MCP工具
- 如果需要工具,机器人会通过MCP服务器的HTTP API调用它。
- 结果格式化并发送给用户
可用的MCP工具
list_products显示所有产品find_product-查找商品名称find_products_by_category-按类别查找产品find_product_by_ID通过ID查找产品add_product-添加产品calculate计算数学表达式
要求
- Python 3.13(或3.7+兼容性)
- 来自 @BotFather 的 Telegram Bot Token
- OpenAI API Key(通过Proxyapi)
- 已安装的依赖项(请参阅每个目录中的requirements.txt)
故障排除
bot没有回复
- 验证MCP HTTP服务器是否已在
http://localhost:8000 - 检查代币是否正确
.env - 检查机器人日志
连接到MCP服务器失败
- 确保
http_server.py发射 - 检查URL
MCP_SERVER_URL在.env
OpenAI错误
- 验证密钥API是否正确
- 确保使用正确的代理URL
- 检查模型
o4-mini-2025-04-16通过Proxyapi提供 - 确保您正在使用图书馆。
aiogram(неpython-telegram-bot)
许可证
该项目旨在演示MCP服务器的工作,并与Telegram机器人集成。
