mistral-mcp

MCP server exposing the full Mistral AI surface (chat, OCR, Codestral FIM, Voxtral audio, vision, agents, moderation, classification, files, batch). Stdio + Streamable HTTP, BYOK with Mistral's free 1B tokens/month

mistral-mcp

MCP server for Mistral AI — chat, OCR, audio (Voxtral), code (Codestral), vision, agents, batch, and durable workflows. Plug into Claude Code, Cursor, Zed, Windsurf, or Claude Desktop in one command.

Version française : README.fr.md

npm version CI Glama MCP score license MCP spec


What this is

mistral-mcp exposes the full Mistral AI API as a set of MCP tools, resources, and prompts. An MCP client (Claude Code, Cursor, etc.) can call mistral_ocr to extract text from a PDF, voxtral_transcribe to transcribe a meeting recording, or workflow_execute to start a durable multi-step process — all without leaving the agent loop.

Unique to Mistral and not available from other MCP servers:

  • mistral_ocr — Mistral Document AI: structured text + bbox annotations from any PDF or image
  • voxtral_transcribe — Voxtral: transcription with optional speaker diarization
  • codestral_fim — Codestral fill-in-the-middle (FIM) for inline code completion
  • workflow_execute / status / interact — Temporal-backed durable execution with human-in-the-loop signals
  • French-optimized models (mistral-large-latest, mistral-medium-latest) and curated French prompts

What this server does not expose: fine-tuning, user management, non-FR/EN prompts.


Quick start

Claude Code (recommended — auto-installs, prompts for API key, ships 11 skills):

/plugin install mistral-mcp@swih-plugins

Cursor / Zed / Windsurf / Claude Desktop — add to your MCP settings JSON:

{
  "mcpServers": {
    "mistral": {
      "command": "npx",
      "args": ["-y", "mistral-mcp@latest"],
      "env": { "MISTRAL_API_KEY": "your_key_here" }
    }
  }
}

Manual Claude Code registration:

claude mcp add mistral -- npx -y mistral-mcp@latest

Profiles

MISTRAL_MCP_PROFILE controls how many tools are exposed (default: core).

ProfileToolsUse when
core (default)8Daily use — lean context footprint
full25Need embeddings, streaming, batch, classify, files, agents, TTS
workflows3Pipeline orchestration only
MISTRAL_MCP_PROFILE=full npx mistral-mcp

Tools

Core profile (8 tools — always available)

ToolWhat it does
mistral_chatChat completion. Supports all Mistral models, response_format, reasoning_effort for Magistral.
mistral_visionMultimodal chat with images (URL or base64).
mistral_ocrDocument AI — extract text, bbox, and JSON annotations from PDFs/images.
codestral_fimFill-in-the-middle code completion (Codestral model).
voxtral_transcribeAudio → text. Pass diarize: true for speaker separation.
workflow_executeStart a Mistral Workflow (Temporal-backed durable execution).
workflow_statusPoll a running workflow — returns RUNNING | COMPLETED | FAILED | ....
workflow_interactSignal / query a running workflow. Used for human-in-the-loop checkpoints.

Full profile only (+17 tools, set MISTRAL_MCP_PROFILE=full)

GroupTools
Generationmistral_chat_stream, mistral_embed, mistral_tool_call
Agentsmistral_agent, mistral_moderate, mistral_classify
Audiovoxtral_speak (TTS)
Filesfiles_upload, files_list, files_get, files_delete, files_signed_url
Batchbatch_create, batch_get, batch_list, batch_cancel
Samplingmcp_sample (delegates generation to the MCP client's own model)

Resources

URIWhat it returns
mistral://modelsLive model catalog + accepted aliases
mistral://voicesLive Voxtral TTS voice catalog
mistral://workflowsLive list of deployed workflows (use name as workflowIdentifier)

Prompts

Curated prompts with structured arguments and MCP completion support:

PromptInputOutput
french_meeting_minutestranscript textStructured French meeting minutes
french_email_replyreceived email + contextPolished French reply
french_commit_messagegit diffConventional Commits message in French
french_legal_summarylegal document textPlain-French summary + key clauses
french_invoice_reminderdebtor, amount, days overdue, toneB2B dunning letter in French
codestral_reviewgit diffFocused code review (security / logic / style)

Claude Code skills (11)

Install via the swih-plugins marketplace to get these namespaced skills:

Routing

  • /mistral-mcp:mistral-router — picks the right Mistral model + tool for any task

Code

  • /mistral-mcp:codestral-review — fetches the current diff, runs a focused review

French workflows

  • /mistral-mcp:french-commit-message — Conventional Commits message in French
  • /mistral-mcp:french-meeting-minutes — audio or text → structured French minutes
  • /mistral-mcp:french-invoice-reminder — B2B dunning letter with controlled tone

Document & audio processing

  • /mistral-mcp:contract-analyzer — OCR → risk-rated clause extraction (JSON)
  • /mistral-mcp:pdf-invoice-extractor — OCR → structured invoice fields for reconciliation
  • /mistral-mcp:audio-dispatch — transcribe + diarize → per-speaker action plan

Human-in-the-loop workflows

  • /mistral-mcp:contract-review-workflow — durable contract review with approval gates
  • /mistral-mcp:compliance-audit-workflow — multi-step audit with mid-run findings + decisions
  • /mistral-mcp:research-pipeline-workflow — hypothesis-driven research with amendment injection

Install

# Run directly (no global install)
npx mistral-mcp

# Global install
npm install -g mistral-mcp && mistral-mcp

# Docker
docker build -t mistral-mcp .
docker run -i --rm -e MISTRAL_API_KEY=your_key mistral-mcp

# From source
git clone https://github.com/Swih/mistral-mcp.git
cd mistral-mcp && npm install && npm run build
node dist/index.js

Transport

ModeHow to enableDefault
stdioDefaultnode dist/index.js
Streamable HTTPMCP_TRANSPORT=http or --http flag127.0.0.1:3333/mcp

HTTP env vars: MCP_HTTP_HOST, MCP_HTTP_PORT, MCP_HTTP_PATH, MCP_HTTP_TOKEN (bearer auth), MCP_HTTP_ALLOWED_ORIGINS, MCP_HTTP_STATELESS=1.

/healthz is public and does not touch the MCP server.


Development

npm run dev      # tsx watch
npm run build    # tsc → dist/
npm run lint     # tsc --noEmit
npm test         # all 174 tests
npm run inspector

Test pyramid: unit → contract → stdio e2e → live API (requires MISTRAL_API_KEY).


License

MIT — Copyright Dayan Decamp

Related Servers

NotebookLM Web Importer

Import web pages and YouTube videos to NotebookLM with one click. Trusted by 200,000+ users.

Install Chrome Extension