npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

mistral-mcp

v0.8.2

Published

MCP server exposing Mistral AI capabilities over MCP: chat, embeddings, FIM, vision, OCR, audio, agents, moderation, classification, files, batch, workflows, sampling, prompts, resources, and Streamable HTTP.

Readme

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.


Why this matters for European teams

mistral-mcp is designed for teams that want to use Mistral capabilities inside MCP clients (Claude Code, Cursor, Zed, Windsurf, Claude Desktop) while keeping control over deployment, API keys, cache behavior, and tool exposure.

This can be useful for European organisations evaluating AI stacks under GDPR, DORA, sector-specific constraints (HDS, EBA), or internal sovereignty requirements.

What this project provides:

  • self-hosted MCP server, no mandatory SaaS proxy
  • bring-your-own Mistral API key (BYOK) — Mistral states API data is not used to train its models
  • lean core profile and focused metier-docs profile to limit tool exposure
  • process_document cache configurable per-call and via MISTRAL_MCP_CACHE_DIR
  • ID document cache bypass enabled by default, even when kind:"auto" resolves to id_document
  • Streamable HTTP + bearer auth path for controlled / on-prem deployments
  • French-first prompts and skills (meeting minutes, legal summary, invoice reminder, commit message, email reply)
  • free Experiment tier on the Mistral side covers most evaluation needs (~1B tokens/month)

What this project does NOT claim:

  • it is not a GDPR, DORA, HDS, or ISO certification, and it does not replace a DPIA, vendor review, security audit, or legal assessment
  • Mistral provider terms, data residency, subprocessor list, retention settings, and incident handling must be reviewed separately at mistral.ai/terms and legal.mistral.ai
  • this repo is community-maintained, not an official Mistral integration; nothing here modifies Mistral's contractual data terms with you

In practice, mistral-mcp reduces the integration surface you have to assess. It does not replace the legal/compliance work itself.


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).

| Profile | Tools | Use when | |---|---|---| | core (default) | 8 | Daily agentic use — lean context footprint | | admin | 26 | Full Mistral API surface — embeddings, streaming, batch, classify, files, agents, TTS, document extraction. Best for debug, CI, scripts. | | workflows | 3 | Pipeline orchestration only | | metier-docs | 9 | Documents vertical — core + process_document macro-tool |

full is accepted as a deprecated alias of admin for backward compatibility.

MISTRAL_MCP_PROFILE=admin npx mistral-mcp

Tools

Core profile (8 tools — always available)

| Tool | What it does | |---|---| | mistral_chat | Chat completion. Supports all Mistral models, response_format, reasoning_effort for Magistral. | | mistral_vision | Multimodal chat with images (URL or base64). | | mistral_ocr | Document AI — extract text, bbox, and JSON annotations from PDFs/images. | | codestral_fim | Fill-in-the-middle code completion (Codestral model). | | voxtral_transcribe | Audio → text. Pass diarize: true for speaker separation. | | workflow_execute | Start a Mistral Workflow (Temporal-backed durable execution). | | workflow_status | Poll a running workflow — returns RUNNING \| COMPLETED \| FAILED \| .... | | workflow_interact | Signal / query a running workflow. Used for human-in-the-loop checkpoints. |

Documents vertical (MISTRAL_MCP_PROFILE=metier-docs)

| Tool | What it does | |---|---| | process_document | Single-call macro-tool: OCR → classify (kind=auto) → typed extraction → validation → cache. Kinds: contract / invoice / id_document / generic. Returns a discriminated union. PII-safe cache (id_document auto-bypass). Configurable minOcrConfidence. |

Admin profile only (+18 tools, set MISTRAL_MCP_PROFILE=admin)

| Group | Tools | |---|---| | Generation | mistral_chat_stream, mistral_embed, mistral_tool_call | | Agents | mistral_agent, mistral_moderate, mistral_classify | | Audio | voxtral_speak (TTS) | | Files | files_upload, files_list, files_get, files_delete, files_signed_url | | Batch | batch_create, batch_get, batch_list, batch_cancel | | Sampling | mcp_sample (delegates generation to the MCP client's own model) |


Resources

| URI | What it returns | |---|---| | mistral://models | Live model catalog + accepted aliases | | mistral://voices | Live Voxtral TTS voice catalog | | mistral://workflows | Live list of deployed workflows (use name as workflowIdentifier) |


Prompts

Curated prompts with structured arguments and MCP completion support:

| Prompt | Input | Output | |---|---|---| | french_meeting_minutes | transcript text | Structured French meeting minutes | | french_email_reply | received email + context | Polished French reply | | french_commit_message | git diff | Conventional Commits message in French | | french_legal_summary | legal document text | Plain-French summary + key clauses | | french_invoice_reminder | debtor, amount, days overdue, tone | B2B dunning letter in French | | codestral_review | git diff | Focused 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

| Mode | How to enable | Default | |---|---|---| | stdio | Default | node dist/index.js | | Streamable HTTP | MCP_TRANSPORT=http or --http flag | 127.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.


Use as a Mistral Connector (beta)

mistral-mcp ships the Streamable HTTP transport and bearer auth that Mistral Connectors require. Deployment guides for Cloudflare Tunnel, Fly.io, and Render are in examples/deploy/README.md.

| Surface | Status | |---|---| | Local MCP clients (Claude Code, Cursor, Zed, Windsurf, Claude Desktop) | Stable | | Streamable HTTP transport + bearer auth | Tested locally (handshake + 401 + initialize verified) | | Mistral Connector registration via POST /v1/connectors | Setup guide provided — Connectors are a beta feature, the API may change | | Connector tool calls in Conversations/Agents | Untested end-to-end (requires public HTTPS deployment) | | OAuth 2.1 Connector auth | Pending — bearer-only today |

curl -X POST https://api.mistral.ai/v1/connectors \
  -H "Authorization: Bearer $MISTRAL_API_KEY" \
  -d '{"name":"mistral_self","server":"https://your-deploy/mcp","visibility":"private"}'

Mistral Connectors expose tools only today. Resources, prompts, sampling, and elicitation remain available via local clients.


Comparison with other Mistral MCP servers

| Project | Scope | Best for | |---|---|---| | mistral-mcp | Full Mistral API + Workflows + 11 Claude Code skills | All-in-one self-hosted | | mcp-mistral-ocr (community) | OCR only | Lightweight OCR-only setup | | Speakeasy mistral-mcp-server-example | Generated demo | Reference / SDK template | | Composio mistral_ai toolkit | SaaS-routed Mistral tools | Hosted, no infra |

mistral-mcp differentiates by combining OCR, Voxtral diarization, Codestral FIM, and Temporal-backed Workflows in one server, with French-first prompts and a Claude Code plugin marketplace.


Development

npm run dev      # tsx watch
npm run build    # tsc → dist/
npm run lint     # tsc --noEmit
npm test         # 190+ tests (unit + contract + stdio e2e + live API)
npm run inspector

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


License

MIT — Copyright Dayan Decamp