Telegram AI代理服务

一个基于Ionos AI模型的Telegram AI代理,能够与Gmail、Google日历和Google任务进行交互。

  • by amirdhs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 amirdhs/mcp_server

使用说明

MCP服务器设置说明

此MCP服务器提供了一个Telegram AI代理,可以使用Ionos AI模型与Gmail、Google日历和Google任务进行交互。

先决条件

  1. Python 3.8或更高版本
  2. 启用API的谷歌云项目
  3. Telegram Bot令牌
  4. Ionos AI API密钥

步骤1:安装依赖项

pip install -r requirements.txt

第二步:谷歌云设置

  1. 首选 谷歌云控制台
  2. 创建新项目或选择现有项目
  3. 启用以下API:
    • Gmail API
    • 谷歌日历API
    • 谷歌任务API
  4. 创建OAuth2凭据:
    • 转到“凭据”→ “创建凭据”→ “OAuth客户端ID”
    • 选择“桌面应用程序”
    • 下载JSON文件并将其重命名为 credentials.json
    • 将其放置在与脚本相同的目录中

步骤3:电报机器人设置

  1. 消息 @植物学家 在Telegram上
  2. 使用 /newbot 创建新机器人的命令
  3. 按照说明获取您的机器人令牌
  4. 将令牌复制到您的 .env 文件

步骤4:Ionos AI设置

  1. 从Ionos AI服务获取您的API密钥
  2. 将其添加到您的 .env 文件

步骤5:环境配置

  1. 复制 .env.example 向 .env
  2. 填写所有必填值:
cp .env.example .env
# Edit .env with your actual values

步骤6:首次运行和身份验证

  1. 首次运行服务器:
python mcp_server.py
  1. 该脚本将提示您通过Google进行身份验证:

    • 将显示一个URL
    • 在浏览器中打开它
    • 授予权限
    • 将授权码复制回终端
  2. 您的凭据将保存在 token.pickle 供将来使用

用法

可用工具

  1. send_telegram_message:通过Telegram发送消息
  2. 搜索邮件:搜索Gmail邮件
  3. create_calendar_event:创建谷歌日历事件
  4. 创建任务:创建Google任务
  5. ai_chat:与Ionos AI模型聊天

电报命令

  • /start -初始化机器人
  • 发送任何消息与AI聊天

交互示例

搜索Gmail:

"Search for emails from john@example.com"

创建日历事件:

"Create a meeting for tomorrow at 2 PM for 1 hour about project review"

创建任务:

"Add a task to review the quarterly report by Friday"

文件结构

├── mcp_server.py          # Main MCP server
├── requirements.txt       # Python dependencies
├── .env                  # Environment variables
├── credentials.json      # Google OAuth2 credentials
├── token.pickle         # Saved Google authentication token
└── README.md            # This file

安全说明

  1. 保持你的 .env 文件安全,从不将其提交到版本控制
  2. 这 token.pickle 文件包含敏感的身份验证数据
  3. 在生产环境中使用HTTPS
  4. 定期旋转API键

故障排除

常见问题

  1. “模块无基础错误”:确保安装了所有依赖项
  2. “身份验证失败”:检查您的Google凭据并重新运行身份验证
  3. “电报机器人没有响应”:验证您的机器人令牌和网络连接
  4. “Ionos AI错误”:检查您的API密钥和费率限制

日志

服务器记录重要事件。检查控制台输出中的错误消息和调试信息。

发展

要扩展功能,请执行以下操作:

  1. 在中添加新工具 setup_handlers() 方法
  2. 对每种工具实施相应的方法
  3. 如果需要,更新资源列表
  4. 部署前进行彻底测试

生产部署

用于生产用途:

  1. 使用systemd或supervisord等流程管理器
  2. 设置适当的日志记录
  3. 配置防火墙规则
  4. 使用特定于环境的配置
  5. 设置监控和警报

API费率限制

注意API费率限制:

  • Gmail API:每天10亿个配额单位
  • 日历API:每天100万个请求
  • 任务API:每天50000个请求
  • Ionos AI:检查您的计划限制

支持

对于问题或疑问:

  1. 检查日志中的错误消息
  2. 验证所有凭据是否正确
  3. 单独测试单个组件
  4. 查看API状态页以了解服务中断