多服务集成聊天机器人

一个集成了Gmail、Google日历、PDF处理、网页搜索和披萨订购等多种服务的模型上下文协议(MCP)聊天机器人。

  • by susavlsh10
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 susavlsh10/MCP-Chatbot

使用说明

MCP聊天机器人项目

一个名为“模型上下文协议(MCP)”的聊天机器人,它集成了多项服务,包括Gmail、Google日历、PDF处理、网页搜索以及披萨订购功能。

安装

先决条件

设置环境

# Install dependencies
uv sync

# Activate virtual environment
source .venv/bin/activate

谷歌API凭证设置

1. 创建Google云项目

  1. 首选 Google 云控制台
  2. 创建一个新项目或选择现有项目
  3. 启用Gmail API和Google日历API

2. 创建OAuth 2.0凭据

  1. 首选 凭据;身份证明;资格 > 创建凭据 > OAuth 2.0 客户端ID
  2. 将应用程序类型设置为 桌面应用程序
  3. 下载JSON文件并保存为:
    gmail/client_secret_[YOUR_CLIENT_ID].apps.googleusercontent.com.json
    

3. 更新配置

更新 server_config.json 使用您的凭证文件名:

"GMAIL_CREDENTIALS_FILE": "gmail/client_secret_[YOUR_CLIENT_ID].apps.googleusercontent.com.json"

4. 环境变量

创建 .env 包含您的API密钥的文件:

GEMINI_API_KEY=your_gemini_api_key_here

运行聊天机器人

uv run mcp_chatbot.py

首次运行验证

  • Gmail和日历服务器将打开浏览器以获取OAuth授权
  • 代币将被保存至 gmail/gmail_token.json 和 gmail/token.json
  • 后续运行将使用已保存的令牌

可用命令

命令 描述
clear 清除对话历史
quit 退出聊天机器人

MCP服务器

该聊天机器人连接到5台专用服务器:

  1. Gmail(谷歌邮箱) - 发送和管理电子邮件
  2. 谷歌日历 - 安排会议和活动
  3. PDF处理器 - 阅读并回答有关PDF的问题
  4. 双子座搜索 - 实时网页搜索
  5. 多米诺(或指多米诺骨牌) - 点披萨

发展

检查MCP服务器

npx @modelcontextprotocol/inspector uv run mcp_servers/google_calendar_server.py

披萨服务员

为避免将敏感信息泄露给API,请使用register_user.py脚本来添加地址和支付信息等私密信息。

添加新服务器

  1. 在(某个地方/某个系统中)创建服务器 mcp_servers/ 目录
  2. 添加配置到 server_config.json
  3. 重启聊天机器人以加载新工具

故障排除

  • 认证错误删除令牌文件并重新进行身份验证
  • 服务器连接问题检查 mcp_chatbot.log 详情如下
  • 缺少依赖项跑 uv sync --upgrade