Skip to main content
Glama

⚑ Pulse MCP Server β€” EOD Intelligence Bridge

Pulse MCP is an automated bridge connecting Antigravity IDE, Google Sheets, and OpenProject. It automatically captures daily developer activity, formats it into structured End-of-Day (EOD) reports, and synchronizes updates directly into your daily tracking sheets without needing manual git commits or complex Google Cloud OAuth.


πŸ’» Commands Cheat Sheet (Quick Copy-Paste)

πŸ“Œ Daily Synchronization Commands

# 1. Navigate to Pulse directory
cd /Users/apple/Desktop/AI/pulse_mcp

# ── A. Google Sheets Only (Default) ─────────────────────
# Sync TODAY'S updates to Google Sheets
PYTHONPATH=. python push_updates.py

# Sync YESTERDAY'S updates to Google Sheets
PYTHONPATH=. python push_updates.py --date yesterday

# Sync a SPECIFIC past date to Google Sheets
PYTHONPATH=. python push_updates.py --date 24-Aug-2026

# ── B. Google Sheets + OpenProject (With Confirmation) ──
# Sync TODAY with interactive OpenProject confirmation preview
PYTHONPATH=. python push_updates.py --openproject

# Sync YESTERDAY with interactive OpenProject confirmation preview
PYTHONPATH=. python push_updates.py --date yesterday --openproject

# Sync a SPECIFIC past date with interactive OpenProject confirmation preview
PYTHONPATH=. python push_updates.py --date 24-Aug-2026 --openproject

πŸ”Œ Running the MCP Server (For AI Assistants)

cd /Users/apple/Desktop/AI/pulse_mcp
source /Users/apple/Desktop/AI/env/bin/activate
python server/main.py

πŸ§ͺ Diagnostics & Verification

# Test Google Apps Script Webhook connection
curl -L "https://script.google.com/macros/s/AKfycbw8D0l54OojfO3zFzpdf9Gpx616tgx0jj9Cuzhk4Htj4hZoZ6H4TD3M5E212uJGGM8/exec"

# Run full test suite
pytest tests/

Related MCP server: codepet-mcp-server

πŸ—οΈ Architecture

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚                  Antigravity IDE Brain                  β”‚
 β”‚  ~/.gemini/antigravity-ide/brain/<conversation-id>/     β”‚
 β”‚  β€’ task.md (- [x] checklists)                           β”‚
 β”‚  β€’ walkthrough.md (Features & Accomplishments)          β”‚
 β”‚  β€’ Workspace modified files (.py, excel, configs)       β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚                    Pulse MCP Engine                     β”‚
 β”‚  1. Ingests session tasks & file modifications          β”‚
 β”‚  2. Classifies projects (FLA, AI, TrueClaim, etc.)      β”‚
 β”‚  3. Summarizes with local Qwen 2.5 / Ollama AI          β”‚
 β”‚  4. Formats into clean point-wise bullets               β”‚
 β”‚  5. Checks duplicates via SQLite audit store            β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚                             β”‚
               β–Ό                             β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚       Google Sheets       β”‚ β”‚        OpenProject        β”‚
 β”‚  β€’ Smart Date Search      β”‚ β”‚  β€’ Work Packages          β”‚
 β”‚  β€’ Column-aware insertion β”‚ β”‚  β€’ Daily comments & logs  β”‚
 β”‚  β€’ Zero-OAuth Webhook     β”‚ β”‚  β€’ Status tracking        β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🌟 Key Features

  • 🧠 Direct Antigravity Ingestion: Extracts completed checklists (task.md) and verified changes (walkthrough.md) directly from your Antigravity IDE brain sessions.

  • πŸ”€ Hybrid Mode (Antigravity + File Modifications): If you coded directly in the workspace without an Antigravity task list, it automatically inspects modified .py and dataset files from that day.

  • πŸ“Š Smart Google Sheets Webhook: Locates the date row (e.g. 21-Aug-2026) in your sheet regardless of column location and updates the task column smoothly. Bypasses Google Cloud service account restrictions.

  • πŸ“… Historical & Past Date Sync: Supports updating missed or historical dates (--date yesterday, --date 21-Aug-2026).

  • πŸ€– Local AI Summarization: Integrates with local Ollama (qwen2.5-coder:7b) to convert developer notes into executive-friendly summaries.

  • πŸ—ƒοΈ Local SQLite Audit Trail: Tracks all synchronization records in database/pulse.db to prevent duplicate submissions.


πŸ› οΈ MCP Tools Reference

When running as an active MCP server, Pulse exposes the following tools to AI assistants:

Tool

Description

sync_eod

Ingests Antigravity session data, categorizes projects, generates summaries, and syncs to Sheets/OpenProject.

generate_eod_summary

Generates a preview of today's categorized EOD report without writing to destinations.

read_antigravity_artifacts

Reads and parsestask.md, walkthrough.md, and plans from the Antigravity local brain.

google_sheets_append_eod

Directly appends or updates an EOD entry to a specific Google Sheet tab.

record_daily_activity

Manually records a custom activity item into the local SQLite store.

get_daily_activity

Queries logged activities for a given date from SQLite.

get_sync_status

Returns synchronization audit logs and verification status.

list_projects

Lists mapped projects and their keyword classification rules.

openproject_*

Tools for searching projects, creating work packages, and adding daily progress comments.


βš™οΈ Environment Configuration (.env)

Create or edit your .env file in the root directory:

# Google Sheets Webhook Configuration
GOOGLE_SHEET_ID=1NPdY9u-wb548d89Co-WeqHv6slgoegZ0
GOOGLE_SHEET_DEFAULT_GID=1431037120
GOOGLE_APPS_SCRIPT_URL=https://script.google.com/macros/s/AKfycbw8D0l54OojfO3zFzpdf9Gpx616tgx0jj9Cuzhk4Htj4hZoZ6H4TD3M5E212uJGGM8/exec

# Local AI / Ollama Configuration (Optional)
OLLAMA_URL=http://198.162.112.2:11434/api/generate
OLLAMA_MODEL=qwen2.5-coder:7b

# OpenProject Configuration
OPENPROJECT_URL=http://4.188.80.194
OPENPROJECT_API_KEY=your_openproject_api_token
OPENPROJECT_ASSIGNEE_NAME=Vidit Khairkar
OPENPROJECT_ASSIGNEE_ID=5

# Local SQLite & Brain Storage
PULSE_DB_PATH=/Users/apple/Desktop/AI/pulse_mcp/database/pulse.db
ANTIGRAVITY_BRAIN_DIR=/Users/apple/.gemini/antigravity-ide/brain

πŸ“ Project Structure

pulse_mcp/
β”œβ”€β”€ .env                       # Environment credentials & endpoints
β”œβ”€β”€ push_updates.py            # CLI script for 1-click EOD sync
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ db.py                  # SQLite database wrapper & migrations
β”‚   └── models.py              # Pydantic data schemas
β”œβ”€β”€ server/
β”‚   β”œβ”€β”€ main.py                # FastMCP server entrypoint
β”‚   β”œβ”€β”€ connectors/
β”‚   β”‚   β”œβ”€β”€ antigravity.py     # Local brain parser (task.md, walkthrough.md)
β”‚   β”‚   β”œβ”€β”€ google_sheets.py   # Webhook-based Google Sheets client
β”‚   β”‚   └── openproject.py     # OpenProject REST API client
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ sync_engine.py     # Core EOD aggregation & orchestrator
β”‚   β”‚   β”œβ”€β”€ project_mapper.py  # Keyword-based project classification
β”‚   β”‚   └── summarizer.py      # EOD report formatter
β”‚   └── tools/                 # FastMCP registered tools
└── README.md                  # Documentation & Commands

Related MCP Connectors

Related MCP Servers