谷歌任务MCP服务器
一个模型上下文协议(MCP)服务器,为人工智能助手提供谷歌任务集成。MCP服务器是使用FastAPI后端创建的 FastMCP.from_fastapi(),从FastAPI路由自动生成MCP工具。
建筑
AI Assistant → MCP Server (from FastAPI) → Google Tasks API特性
任务列表管理
- 列出所有任务列表
- 创建新任务列表
- 获取任务列表详细信息
- 更新任务列表标题
- 删除任务列表
任务管理
- 在任务列表中列出任务
- 创建新任务
- 获取任务详细信息
- 更新任务(标题、注释、截止日期、状态)
- 删除任务
- 将任务标记为已完成/未完成
设置
1.Google API证书
创建一个 tokens.json 文件在 fastapi_backend/ 包含OAuth令牌的目录:
{
"refresh_token": "your_refresh_token",
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"token_uri": "https://oauth2.googleapis.com/token"
}系统将自动使用这些令牌通过Google Tasks API进行身份验证。无需额外 credentials.json 文件是必需的。
2.安装依赖项
从根目录安装所有依赖项:
pip install -r requirements.txt3.运行MCP服务器
MCP服务器现在包括FastAPI后端,因此您只需要运行一个服务:
cd mcp_server
python server.py第一次运行此程序时,它将打开一个浏览器进行Google OAuth身份验证。完成身份验证流程,令牌将被保存。
备注:FastAPI后端现在嵌入MCP服务器中,可在以下网址访问 /api/* 端点。
配置
环境变量
您可以配置以下环境变量:
FASTAPI_URL:FastAPI后端的URL(默认值:http://localhost:8000)GOOGLE_CREDENTIALS_PATH:Google credentials.json文件的路径(默认:credentials.json)GOOGLE_TOKEN_PATH:保存Google OAuth令牌的路径(默认值:tokens.json)
MCP配置
将以下内容添加到MCP设置文件中(例如。, cline_mcp_settings.json):
{
"mcpServers": {
"google-tasks": {
"command": "python",
"args": ["/path/to/google_tasks_mcp/mcp_server/server.py"],
"env": {
"FASTAPI_URL": "http://localhost:8000",
"GOOGLE_TOKEN_PATH": "/path/to/google_tasks_mcp/fastapi_backend/tokens.json"
}
}
}
}重要:更新配置中的路径以匹配您的实际文件位置。这 GOOGLE_TOKEN_PATH 应该指向你的 tokens.json 文件。
可用工具
任务列表工具
list_task_lists()-列出所有任务列表create_task_list(title)-创建新任务列表get_task_list(tasklist_id)-获取任务列表详细信息update_task_list(tasklist_id, title)-更新任务列表标题delete_task_list(tasklist_id)-删除任务列表
任务工具
list_tasks(tasklist_id)-在任务列表中列出任务create_task(tasklist_id, title, notes?, due?)-创建新任务get_task(tasklist_id, task_id)-获取任务详细信息update_task(tasklist_id, task_id, title?, notes?, due?, status?)-更新任务delete_task(tasklist_id, task_id)-删除任务complete_task(tasklist_id, task_id)-将任务标记为已完成uncomplete_task(tasklist_id, task_id)-将任务标记为需要采取行动
API终点
FastAPI后端提供以下REST端点:
任务列表
GET /tasklists-列出所有任务列表POST /tasklists-创建任务列表GET /tasklists/{id}-获取任务列表详细信息PUT /tasklists/{id}-更新任务列表DELETE /tasklists/{id}-删除任务列表
任务
GET /tasklists/{list_id}/tasks-在任务列表中列出任务POST /tasklists/{list_id}/tasks-创建任务GET /tasklists/{list_id}/tasks/{task_id}-获取任务详细信息PUT /tasklists/{list_id}/tasks/{task_id}-更新任务DELETE /tasklists/{list_id}/tasks/{task_id}-删除任务
发展
测试FastAPI后端
cd fastapi_backend
curl http://localhost:8000/health测试MCP服务器
您可以使用MCP检查器或将其与您的AI助手集成来测试MCP服务器。
故障排除
身份验证问题
- 确保
tokens.json包含具有refresh_token、client_id和client_secret的有效OAuth凭据 - 删除或更新
tokens.json如果令牌无效或过期 - 检查Google任务API是否已在您的Google云项目中启用
连接问题
- 确保FastAPI后端在预期端口上运行
- 检查
FASTAPI_URLMCP服务器中的环境变量 - 验证MCP服务器和FastAPI后端之间的网络连接
API错误
- 检查FastAPI日志以获取详细的错误消息
- 确保您的Google API配额未被超过
- 验证任务列表和任务ID是否有效
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

