日历管理服务器

Google Calendar MCP Server是一个集成了Google Calendar的服务器,提供日历管理、时间跟踪、联系人CRM和项目管理功能。

  • by DimaRmnv
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 DimaRmnv/G-calendar-mcp

使用说明

谷歌日历MCP服务器

MCP(模型上下文协议)服务器,用于谷歌日历与克劳德的集成。提供日历管理、时间跟踪、联系人CRM和项目管理。

特性

核心日历

  • 事件的完整CRUD操作
  • 具有范围控制的重复事件支持
  • 具有RSVP跟踪功能的与会者管理
  • 忙/闲查询和会议时段查找器
  • 每周分析简报

时间追踪

  • 带有计费标志的项目/阶段/任务层次结构
  • 月度工时标准和进度跟踪
  • 日历事件解析(PROJECT * PHASE * Description)
  • 使用下载URL生成Excel报告

联系人CRM

  • 具有多渠道支持的联系人数据库(电子邮件、电报、团队、电话)
  • 项目角色分配(19个标准角色)
  • 组织管理类型(捐助者、银行、mfi、政府等)
  • 模糊搜索与智能联系人解析
  • 带下载URL的Excel导出

组织

  • 为组织提供完整的CRUD
  • 将组织与具有角色的项目联系起来
  • 组织类型:捐赠者、dfi、银行、mfi、nbfi、政府、监管机构、客户、供应商、咨询、非政府组织、协会、培训提供者、合作伙伴、其他

建筑

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Claude    │────▶│  MCP Server │────▶│  PostgreSQL │
│   Desktop   │     │  (FastAPI)  │     │  (shared)   │
└─────────────┘     └─────────────┘     └─────────────┘
                           │
                           ▼
                    ┌─────────────┐
                    │   Google    │
                    │ Calendar API│
                    └─────────────┘

部署

云(Docker+GitHub操作)

# Clone
git clone https://github.com/DimaRmnv/G-calendar-mcp.git
cd G-calendar-mcp

# Configure
cp .env.example .env
# Edit .env with your credentials

# Deploy (auto via GitHub Actions on push to main)
git push origin main

环境变量

# PostgreSQL
POSTGRES_HOST=shared-postgres
POSTGRES_PORT=5432
POSTGRES_USER=travel
POSTGRES_PASSWORD=your_password
POSTGRES_DB=google_calendar_mcp

# API Security
GCAL_MCP_API_KEY=your_api_key

# OAuth
GCAL_MCP_OAUTH_CLIENT_ID=your_client_id
GCAL_MCP_OAUTH_CLIENT_SECRET=your_secret

# Export URLs
EXPORT_BASE_URL=http://your-server:8005

本地开发

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

事件格式

事件解析使用 PROJECT * PHASE * TASK * Description 格式:

结构级别 格式 示例
1 PROJECT * Description AIYL-MN * Client meeting
2 PROJECT * PHASE * Description BCH * AI * Research automation
3 PROJECT * PHASE * TASK * Description CAYIB * KG-BAILYK * 1.1 * Workshop prep

工具

日历

工具 说明
list_events 列出事件(时间段:今天/周/月)
create_event 使用“会议”链接、与会者创建活动
update_event 更新事件;重复范围
delete_event 删除事件
search_events 自由文本搜索

时间追踪

工具 说明
projects_manage CRUD用于项目、阶段、任务、规范、组织
projects_report 生成状态/周/月报告→ Excel

联系人

工具 说明
contacts CRUD用于联系人、渠道、任务

报告

报告生成带有临时下载URL的Excel文件(1小时TTL):

# Generate weekly report
projects_report(report_type="week")
# Returns: {"download_url": "http://server/export/uuid", "expires_in": "1 hour"}

# Export contacts
contacts(operations=[{"op": "export_contacts"}])
# Returns: {"download_url": "http://server/export/uuid"}

项目角色

类别 角色
顾问 TL、DTL、KE、NKE、PM、BSM、JE、LA、INT
客户端 CD、CPM、PIU、CP、BEN
捐赠者 DO、DPM、TA
合作伙伴 PC,SUB

组织类型

  • 资金:捐赠者,dfi
  • 金融的:银行、mfi、nbfi
  • 公共:政府、监管机构
  • 私人:客户、供应商、咨询
  • 非营利组织:非政府组织、协会、培训提供者
  • 其他:合作伙伴,其他

项目结构

src/google_calendar/
├── server.py           # FastAPI + MCP server
├── export_router.py    # Excel download endpoint
├── oauth_server.py     # OAuth flow
├── api/                # Google Calendar API
├── db/
│   ├── connection.py   # PostgreSQL connection pool
│   └── schema.sql      # Database schema
└── tools/
    ├── contacts/       # Contacts CRM
    ├── projects/       # Time tracking
    └── intelligence/   # Weekly brief

许可证

MIT许可证

作者

德米特罗·罗曼诺夫

链接

  • 存储库:https://github.com/DimaRmnv/G-calendar-mcp
  • MCP协议:https://modelcontextprotocol.io/