# mistral-mcp

Extracts structured data from invoices, contracts, and PDFs into validated JSON using Mistral models. Built for document processing in MCP clients.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 15
- Author: Swih
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Swih/mistral-mcp
- Updated: 2026-09-29
- HTML: https://affpapa.org/en/nevibecode/mcp/mistral-mcp

## What it does

The server connects Mistral APIs to MCP clients to parse incoming text, Markdown, or scanned files. Its primary tool, `process_document`, extracts vendor names, line items, totals, and due dates directly into JSON. Images and PDF files travel through Mistral OCR.

The default `core` profile registers six tools, covering document parsing, chat, vision, code generation, and audio transcription. Switching `MISTRAL_MCP_PROFILE` unlocks alternative toolsets, including `metier-docs`, orchestration workflows, or an `admin` setup with 46 tools. A `self-hosted` profile handles custom endpoints.

Schema validation guarantees data types and structure, but it does not verify invoice math, taxes, or factual correctness. Running the server requires Node.js 20+, a valid Mistral API key with sufficient quota, and text payloads under 60,000 UTF-16 code units.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `MISTRAL_API_KEY`, `MISTRAL_BASE_URL`, `MISTRAL_MCP_PROFILE`, `MISTRAL_DEFAULT_MODEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MISTRAL_API_KEY=<MISTRAL_API_KEY> --env MISTRAL_BASE_URL=<MISTRAL_BASE_URL> --env MISTRAL_MCP_PROFILE=<MISTRAL_MCP_PROFILE> --env MISTRAL_DEFAULT_MODEL=<MISTRAL_DEFAULT_MODEL> --transport stdio mistral-mcp -- npx -y mistral-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add mistral-mcp --env MISTRAL_API_KEY=<MISTRAL_API_KEY> --env MISTRAL_BASE_URL=<MISTRAL_BASE_URL> --env MISTRAL_MCP_PROFILE=<MISTRAL_MCP_PROFILE> --env MISTRAL_DEFAULT_MODEL=<MISTRAL_DEFAULT_MODEL> -- npx -y mistral-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mistral-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "mistral-mcp"
            ],
            "env": {
                "MISTRAL_API_KEY": "<MISTRAL_API_KEY>",
                "MISTRAL_BASE_URL": "<MISTRAL_BASE_URL>",
                "MISTRAL_MCP_PROFILE": "<MISTRAL_MCP_PROFILE>",
                "MISTRAL_DEFAULT_MODEL": "<MISTRAL_DEFAULT_MODEL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mistral-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "mistral-mcp"
            ],
            "env": {
                "MISTRAL_API_KEY": "<MISTRAL_API_KEY>",
                "MISTRAL_BASE_URL": "<MISTRAL_BASE_URL>",
                "MISTRAL_MCP_PROFILE": "<MISTRAL_MCP_PROFILE>",
                "MISTRAL_DEFAULT_MODEL": "<MISTRAL_DEFAULT_MODEL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MISTRAL_API_KEY=<MISTRAL_API_KEY> -e MISTRAL_BASE_URL=<MISTRAL_BASE_URL> -e MISTRAL_MCP_PROFILE=<MISTRAL_MCP_PROFILE> -e MISTRAL_DEFAULT_MODEL=<MISTRAL_DEFAULT_MODEL> mistral-mcp npx -y mistral-mcp
```
Replace <…> with your own values

## When to use it
- convert raw Markdown or text invoices into typed JSON
- extract tables and fields from scanned PDF files via OCR
- classify incoming contracts or identity records automatically
- access Mistral vision, chat, and transcription tools inside an MCP client

## Example prompts
- Extract the vendor name, total, and line items from `invoice.md` into JSON
- Process the PDF receipt `receipt.pdf` using `process_document`
- Identify the document type in `agreement.txt` and return its parsed fields

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107701
- [Agent Skills Search Server](https://affpapa.org/en/nevibecode/mcp/agent-skills-search-server.md) — MCP server · ★ 26673
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9369
- [PraisonAI](https://affpapa.org/en/nevibecode/mcp/praisonai.md) — MCP server · ★ 9298

From the same set: [swih/mistral-mcp](https://affpapa.org/en/nevibecode/by/swih/mistral-mcp.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
