@donkeycode/leexi-mcp

DonkeyCode MCP server for Leexi — exposes Leexi calls, transcripts, and per-call processing state to any MCP-compatible client (Claude Code, Claude Desktop, IDE plugins).
Install as a Claude Code plugin (recommended)
The repo itself is a Claude Code marketplace. Add it once, then install the plugin:
claude plugins marketplace add donkeycode/leexi-mcp
claude plugins install leexi-mcp@leexi-mcp
On first install, you'll be prompted for LEEXI_API_KEY_ID and LEEXI_API_KEY. Get both at Leexi → Settings → Company Settings → API Keys (requires admin).
The @leexi-mcp suffix disambiguates the plugin from the marketplace; both share the same name in this single-plugin repo.
To update later:
claude plugins marketplace update leexi-mcp
claude plugins update leexi-mcp@leexi-mcp
The plugin auto-registers three tools (leexi_list_calls, leexi_get_call, leexi_mark_processed), a leexi-routine skill that teaches Claude how to combine them, and three slash commands:
/leexi-today — list today's calls.
/leexi-recent [n] — list the N most recent calls.
/leexi-call <uuid> — fetch a specific call with transcript.
Why this MCP?
Leexi records and transcribes your calls and meetings. This MCP server lets Claude (in Claude Code, Claude Desktop, or any MCP-compatible client) read those calls and their transcripts, then act on them — write follow-up emails, build CRM records, extract action items, generate summaries.
Designed to be the data backbone of post-call automation routines: a Claude Code Routine polls Leexi every 30 minutes, fetches new transcripts via this MCP, and triggers DonkeyCode skills (mails, devis-agile, mise-en-relation) on each call.
Tools
| Tool | Description |
|---|
leexi_list_calls | List recent Leexi calls. Returns call metadata: title, performed_at, duration (float seconds), locale, summary (markdown), chapters, tasks (Leexi-extracted action items), speakers, and more. Pagination: { page, items, count }. Optional filters: since, limit, page, only_unprocessed. |
leexi_get_call | Fetch a single call by UUID. Full payload includes summary (markdown), simple_transcript (plain text string with inline (HH:MM:SS - HH:MM:SS) timestamps — read directly), word-level transcript array, chapters, tasks, call_topics, speakers, participating_users, and meeting_event. Set include_transcript=false for a lite metadata-only payload (zeroes simple_transcript, transcript, chapters, call_topics). |
leexi_mark_processed | Mark a call as processed in the local MCP state, so future only_unprocessed queries skip it. |
Real response shapes
leexi_list_calls — one item:
{
"uuid": "call-abc-123",
"locale": "fr-FR",
"duration": 3645.837,
"title": "ClientA - Daily Demo",
"performedAt": "2026-05-22T08:30:00.000Z",
"summary": "# Daily Demo\n\n## Points abordes\n- API integration...",
"chapters": [{ "index": 0, "title": "Introduction et Point API", "startTime": 0 }],
"tasks": [{ "subject": "Finaliser l'integration API", "status": "not_started", "done": false }],
"speakers": [{ "name": "Alice Example", "isUser": true, "duration": 1023.771 }],
"pagination": { "page": 1, "items": 2, "count": 864 }
}
leexi_get_call — selected fields:
{
"uuid": "call-abc-123",
"locale": "fr-FR",
"duration": 3645.837,
"summary": "# Daily Demo\n\n## Actions\n- Finaliser l'integration API\n...",
"simpleTranscript": "Alice Example (00:00:00 - 00:01:12)\nBonjour a tous...\n\nExternal Speaker (00:01:15 - 00:02:30)\nOui, on a avance...",
"chapters": [{ "index": 0, "title": "Introduction", "startTime": 0, "text": "..." }],
"tasks": [{ "subject": "Finaliser l'integration API", "done": false }],
"callTopics": [{ "keyphrase": "integration API", "topicName": "Interest", "startTime": 223.21 }],
"participatingUsers": [{ "name": "Alice Example", "email": "[email protected]" }]
}
Install from source (developers)
git clone https://github.com/donkeycode/leexi-mcp.git
cd leexi-mcp
pnpm install
pnpm build
Configure
- Get a key pair at Leexi → Settings → Company Settings → API Keys (requires admin).
- Copy
.env.example to .env and fill in: