Skip to main content
Glama
README.md
# โšก 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

```bash
# 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)

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

### ๐Ÿงช Diagnostics & Verification

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

# Run full test suite
pytest tests/
```

---

## ๐Ÿ—๏ธ Architecture

```text
 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚                  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 parses`task.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:

```ini
# 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

```text
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
```