Pulse Docs
What is Pulse?
Self-hosted MCP-first personal-data context layer: ingests curated sources (email, calendar, GitHub, browsing, and optional health/media/finance) into a local store and Obsidian-compatible markdown vault, and exposes them to your own agent over MCP. Pulse does not call an LLM itself - your agent does the reasoning. Optional notifications (Telegram, ntfy, webhooks, email, and others), local semantic search, and pattern discovery via your agent CLI - which looks for long-horizon structure you cannot see about yourself and notifies you only when it records something new. No app to open, no daily check-ins - your data stays on your stack.
How it works
Data Sources (Gmail, Calendar, GitHub, Oura, …)
↓
Event Store (SQLite)
↓
Vault (Obsidian-compatible Markdown)
↓
Your agent via MCP (Claude Code, Cursor, …)- Connectors pull from your accounts into timestamped events.
- Event store persists everything locally.
- Vault is human-readable markdown.
- MCP exposes the same store to your coding agent for reasoning.
Two ways to run: standalone service (pulse run, FastAPI + scheduler) or MCP so coding agents use the same store and tools.
Design principles
- MCP-first - your agent reasons; Pulse holds the context.
- Low-friction integration - connect sources quickly.
- Transparency - vault markdown you can read and diff.
- Extensible - connectors and notification channels.
- Self-hosted - your hardware, your data.
Quick Start
- Run Pulse - install, configure, start the app
- Configure Pulse - env vars,
pulse.toml, connectors - Operate Pulse - health, recovery, day-two ops
- Connect Data Sources - per-connector setup
Setup
Self-Hosting Quickstart
Install, configure, and run Pulse.
Open quickstartConfig
Configuration Reference
Environment variables, pulse.toml, connectors.
Operations
Operations Runbook
Health checks, webhooks, scheduler, recovery.
Open runbookData
Connectors
OAuth, tokens, and what each source pulls.
Open connectorsMCP
For Model Context Protocol integration with Claude Code, OpenClaw, Cursor, and other MCP clients, run pulse-mcp or python -m pulse.mcp.server. The server requires a pulse.toml on disk at the resolved config path (same rules as the standalone app). JSON examples, tools, and resources: MCP agent setup. Paths and env: Configuration reference (App, CLI, MCP, Runtime notes).
To have an AI agent install and wire MCP for you, use the one-liner in Self-Hosting Quickstart → Connect Pulse to your coding agent (MCP) and follow MCP agent setup.
Agent skills in skills/: pulse-review and pulse-recall teach your agent to use the MCP surface well.
Contributing and releases
- Contributing - dev environment, tests, project layout.
- Releases and versioning - semver, tags, PyPI.