项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 客户端提供与用户的 Gmail 邮箱和 Google 日历互动的能力。它通过 MCP 的工具 (Tool) 和资源 (Resource) 机制,将复杂的邮件和日历操作封装成标准接口,使 LLM 能够方便地执行发送邮件、查询邮件、查看/创建日历事件等任务。
主要功能点
- 发送邮件: 允许 LLM 代表用户发送邮件。
- 搜索邮件: 支持 LLM 根据指定条件搜索用户的邮件。
- 获取邮件内容: 根据邮件ID获取特定邮件的完整内容。
- 列出日历事件: 查询并列出用户即将到来的日历事件。
- 创建日历事件: 允许 LLM 在用户日历中创建新的事件。
- 获取近期收件箱邮件: 作为资源提供,方便 LLM 直接读取收件箱中的近期邮件列表。
安装步骤
- 安装 Python: 确保您的系统安装了 Python 3.7 或更高版本。
- 克隆仓库: 将项目的代码文件('server.py')下载到本地。
- 安装依赖: 打开终端或命令提示符,导航到代码文件所在的目录,安装所需的 Python 库。这些库主要用于与 Google API 交互以及运行 MCP 服务器框架。您可能需要安装 'google-api-python-client', 'google-auth-oauthlib', 'mcp-server-fastmcp' 等库。可以使用 pip 命令:
pip install google-api-python-client google-auth-oauthlib mcp-server-fastmcp - 配置 Google API 凭据: 本服务器需要访问您的 Google 账户。您需要从 Google Cloud Platform 控制台获取 OAuth 2.0 客户端凭据(通常是一个 'credentials.json' 文件),并将其放在与 'server.py' 同一个目录下。请确保启用了 Gmail API 和 Google Calendar API。运行服务器时会引导您完成授权流程,并将授权令牌保存在 'token.pickle' 文件中以便后续使用。
服务器配置(供MCP客户端使用)
MCP 客户端需要知道如何启动并连接到此服务器。通常,您需要将以下配置信息提供给您的 MCP 客户端:
- 服务器名称 (server name): 'gmail_mcp_server'
- 启动命令 (command): 'python'
- 命令参数 (args): '["server.py"]'
这些信息会以 JSON 格式嵌入到客户端的配置中,例如:
{ "server_name": "gmail_mcp_server", "command": "python", "args": ["server.py"] // 其他可能的配置,如传输协议等,取决于您的MCP客户端和环境 }
(注意:此处仅为配置说明,实际配置方式请参考您的MCP客户端文档。不需要直接修改此服务器代码来配置这些信息。)
基本使用方法
- 启动服务器: 在终端或命令提示符中,导航到 'server.py' 所在的目录,运行:
首次运行时,会打开浏览器窗口提示您登录 Google 账户并授权。python server.py - 连接客户端: 使用支持 MCP 协议的客户端(如兼容的 LLM 框架或代理)连接到此服务器进程。客户端会通过标准输入/输出(Stdio)或其他配置的传输方式与服务器通信。
- 通过客户端调用功能: 通过客户端发送 MCP 格式的请求,调用服务器提供的工具或读取资源。
- 例如,客户端可以发送一个 Tool Call 请求来调用 'send_email' 工具,并提供收件人、主题和正文作为参数。
- 客户端也可以发送一个 Resource Read 请求来读取 URI 为 'gmail://inbox' 的资源,获取近期邮件列表。
服务器将处理请求,执行相应的 Gmail 或日历操作,并通过 MCP 协议将结果返回给客户端。
信息
分类
生产力应用