Skip to content

Tags: donkeycode/leexi-mcp

Tags

v0.4.6

Toggle v0.4.6's commit message
fix(v0.4.6): biome format dans list-calls.test.ts (CI rouge)

v0.4.5

Toggle v0.4.5's commit message
feat(v0.4.5): sort_order="asc"|"desc" sur leexi_list_calls (defaut "a…

…sc" hardcoded)

L'orchestrateur cote skill (leexi-routine v0.8.0) demandait a Claude
de trier ASC via prompt Markdown — pas fiable, Claude pouvait l'oublier
au runtime, et le user voyait des batches dans le mauvais ordre.

Fix : hardcoder le tri dans le code du tool MCP. Garanti, peu importe
ce que fait Claude au runtime.

- Nouveau param sort_order: "asc" | "desc" (defaut "asc")
- Tri local par performed_at (string ISO-8601, comparison directe)
- Applique AVANT only_unprocessed filter et AVANT fields strip
- Critique pour la reprise historique : les fiches client se construisent
  dans l'ordre logique (R1 -> R2 -> kickoff -> steerco) au lieu de
  l'inverse.

Tests : 60/60 (was 58) avec 2 nouveaux tests qui valident le re-sort
quand l'API retourne dans l'ordre inverse.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.4.4

Toggle v0.4.4's commit message
feat(v0.4.4): fields="summary"|"full" sur leexi_list_calls pour redui…

…re payload listing

Bug remonte par Cedric : leexi_list_calls retourne simple_transcript dans
CHAQUE call de la liste -> payload enorme (10 calls = ~300KB JSON qui
sature le contexte Claude).

Cause : l'API publique Leexi inclut simple_transcript dans la response
/calls (et le MCP le passait tel quel via CallSummarySchema). C'est un
choix cote API Leexi, pas un bug cote MCP, mais ca rend le tool
inutilisable pour du listing en pratique.

Fix :
- Nouveau param fields:"summary"|"full" (defaut "summary")
- En mode summary : strip simple_transcript, chapters, tasks, prompts,
  scorecards, feedbacks. Cuts payload by ~95% for typical calls.
- En mode full : comportement legacy v0.4.3- preserve (pour debug/export).
- Description tool mise a jour explicite sur le trade-off.

Tests : 58/58 (was 56) avec 2 nouveaux tests pour fields=summary strip
behavior + fields=full preservation.

Backward compat : callers qui ont besoin du transcript dans la liste
passent fields:"full". leexi_get_call(uuid) inchange (retourne toujours
le detail complet avec transcript).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

v0.4.3

Toggle v0.4.3's commit message
v0.4.3 — JSON Schema 2020-12 compatibility

v0.4.2

Toggle v0.4.2's commit message
v0.4.2 — manifest version sync

v0.4.1

Toggle v0.4.1's commit message
v0.4.1 — bundled dist for plugin install

v0.4.0

Toggle v0.4.0's commit message
v0.4.0 — Schemas aligned with real Leexi API (BREAKING)

v0.3.0 fixed auth (Bearer → Basic) but Zod schemas were still hypothetical.
Live API responses have very different field names and shapes. This release
rewrites all schemas from real responses captured against production.

v0.3.0

Toggle v0.3.0's commit message
v0.3.0 — HTTP Basic Auth (BREAKING)

Leexi public API uses Basic Auth with key_id + key_secret pair, not Bearer.
Previous versions could never authenticate against the live API.

Migration: add LEEXI_API_KEY_ID alongside the existing LEEXI_API_KEY in your
.env / claude mcp add args. LEEXI_API_KEY now holds the secret half.

v0.2.1

Toggle v0.2.1's commit message
v0.2.1 — Plugin installable via marketplace

Fix: gh: prefix doesn't exist. Repo is now a self-publishing Claude Code
marketplace via .claude-plugin/marketplace.json. README updated with the
real install commands.

v0.2.0

Toggle v0.2.0's commit message
v0.2.0 — Plugin packaging + tests/docs strengthening

Lot 1: Tests + Doc
- Tests for errors.ts, endpoints.ts, server.ts (26 → 47 tests, 96% coverage)
- @vitest/coverage-v8 with 85% thresholds
- GitHub Actions CI workflow
- README: badges, mermaid architecture, troubleshooting, usage examples
- CHANGELOG.md + CONTRIBUTING.md

Lot 2: Plugin conversion
- .claude-plugin/plugin.json + .mcp.json for one-command install
- Skill leexi-routine (Claude usage guidance)
- 3 slash commands: /leexi-today, /leexi-recent, /leexi-call
- dist/ committed for plugin distribution