Querying Intercom directly makes conversational search feel broken — every question costs a round trip and rate limits show up fast. Holding the conversations locally in SQLite turns "what were people complaining about last week" into a sub-100ms lookup, and the background sync means the freshness cost lands on the previous request rather than this one.
A Python server that keeps a local SQLite copy of your Intercom conversations and answers searches from it. Requests return immediately from cache; stale timeframes trigger a background sync, so the next request gets fresher data without anyone waiting on the API.
- `search_conversations` takes `query` text, a natural-language `timeframe` such as "last 7 days", a `customer_email` filter, and `limit` (default 50)
- `get_conversation` returns one conversation in full by `conversation_id`
- `sync_conversations` triggers a sync on demand, with `force` for a full one
- `get_server_status` reports status and statistics
- A CLI alongside the server: `fast-intercom-mcp status`, `sync`, `start`, `logs`, `reset`
An Intercom access token with permission to read conversations, passed as `INTERCOM_ACCESS_TOKEN`. Clone the repository, create a virtualenv and `pip install -e .`, then run `fast-intercom-mcp init` and `fast-intercom-mcp sync --force --days 7` to seed the cache before first use. Point your client at the `fast-intercom-mcp` command with `start`. Config lives at `~/.fast-intercom-mcp/config.json`, and `FASTINTERCOM_LOG_LEVEL`, `FASTINTERCOM_MAX_SYNC_AGE_MINUTES` and `FASTINTERCOM_BACKGROUND_SYNC_INTERVAL` tune the rest. Storage runs about 2KB per conversation.
One command plus a key — fast-intercom-mcp start, then supply credentials
