Skip to content
Agentmart
Submit a tool

Mistral MCP

Mistral MCP server: extract invoices and documents from text, Markdown or OCR into typed JSON.

Connector by Swih · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 15
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/swih-mistral-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Mistral MCP server: extract invoices and documents from text, Markdown or OCR into typed JSON.

Use cases: document-processing, model-inference

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
34 read · 7 write · 5 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 46

Read from the source code; the running server may list different tools.

Read 34 · Look things up without changing anything.

  • agents_get
  • agents_list
  • batch_get
  • batch_list
  • codestral_fim
  • connectors_get
  • connectors_list
  • connectors_list_tools
  • conversation_get
  • conversation_history
  • conversation_list
  • files_get
Show 22 more tools
  • files_list
  • files_signed_url
  • libraries_documents_list
  • libraries_documents_status
  • libraries_get
  • libraries_list
  • mistral_agent
  • mistral_chat
  • mistral_chat_stream
  • mistral_classify
  • mistral_embed
  • mistral_moderate
  • mistral_ocr
  • mistral_tool_call
  • mistral_vision
  • process_document
  • rag_indexes_list
  • voxtral_speak
  • voxtral_transcribe
  • workflow_deployments_list
  • workflow_runs_list
  • workflow_status

Write 7 · Create, change, send or run things.

  • batch_create
  • conversation_append
  • conversation_start
  • files_upload
  • libraries_documents_upload
  • workflow_execute
  • workflow_interact

Delete 5 · Delete, drop, revoke or wipe things.

  • batch_cancel
  • connectors_call_tool
  • conversation_delete
  • files_delete
  • workflow_stop

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • MISTRAL_API_KEY

Other settings (environment variables or headers).

  • MISTRAL_BASE_URL
  • MISTRAL_DEFAULT_MODEL
  • MISTRAL_MCP_PROFILE

Network hosts it talks to 8

  • api.mistral.ai · found in code
  • arxiv.org · found in code
  • console.mistral.ai · found in code
  • github.com · found in code
  • glama.ai · found in code
  • json.schemastore.org · found in code
  • raw.githubusercontent.com · found in code
  • vllm.internal · found in code

Files it touches

  • /var/cache/mistral-mcp
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (46)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • agents_getInspect a Mistral agentread-only

    Inspect a modern agent's model, instructions and tool types before using conversation_start. Credentials are excluded.

  • agents_listFind Mistral agentsread-only

    Find modern Mistral agents by name or ID. Use an id with conversation_start.agentId. Does not execute agents. An empty page ends pagination.

  • batch_cancelCancel a batch jobcan change or delete data

    Request cancellation of a running batch job. Completed requests still count for billing.

  • batch_createCreate a Mistral batch job

    Create an asynchronous batch inference job from one or more .jsonl input files. Prerequisites: upload your JSONL via `files_upload` with `purpose: 'batch'`. Each JSONL line is `{ custom_id, body: { ... same shape as the endpoint } }`. Batch processing is ~50% cheaper than live inference, at the cost of latency (minutes to 24h, depending on queue and `timeout_hours`). Poll with `batch_get`; once `status` is SUCCESS, download the result file via `files_signed_url({ fileId: output_file })`.

  • batch_getGet a batch jobread-only

    Fetch a batch job's current status and counters. When `status: 'SUCCESS'`, the `output_file` is ready for download.

  • batch_listList batch jobsread-only

    List batch jobs with optional filters.

  • codestral_fimCodestral fill-in-the-middle completionread-only

    Fill-in-the-middle code completion with Codestral. Given `prompt` (code preceding the cursor) and `suffix` (code after the cursor), Codestral writes the middle. Use for editor autocomplete scenarios, code-patching agents, or structured refactors where you know the target boundaries. Default stop tokens: [] — let the model decide. Override with `stop` if needed.

  • connectors_call_toolCall a connector's MCP toolcan change or delete data

    Invoke one MCP tool exposed by a connector, with JSON arguments. Use connectors_list_tools first to find `toolName` and its expected argument shape. The result's `content[]` carries the connector's raw MCP content blocks (text/image/audio/resource); `structuredContent` carries a flattened snake_case summary plus `is_error`.

  • connectors_getGet a Mistral connectorread-only

    Fetch public metadata for one connector by ID or name. Never returns connection credentials or customer secrets — only the connector's public profile (name, description, protocol, visibility, activation/authentication status).

  • connectors_listList Mistral connectorsread-only

    List connectors (MCP/HTTP integrations) visible to the caller. Use `active=true` to only see connectors currently activated for this org/workspace/user. Paginate with `cursor` (from a previous response's `next_cursor`) and `pageSize`. This is discovery only — activating a new connector or managing its credentials is not exposed here; use the Mistral console for that.

  • connectors_list_toolsList a connector's MCP toolsread-only

    List the MCP tools exposed by one connector, with their JSON Schema input shape. Use this before connectors_call_tool to discover valid tool names and arguments. Set `refresh=true` to bypass any server-side cache of the tool catalog.

  • conversation_appendContinue a Mistral conversation

    Append a new user turn to an existing conversation and run completion. Returns only the newly created entries (not the full history) — use conversation_history for the complete entry log.

  • conversation_deleteDelete a Mistral conversationcan change or delete data

    Permanently delete a conversation and its history.

  • conversation_getGet a Mistral conversation's metadataread-only

    Fetch a conversation's configuration (model/agent, tools, instructions).

  • conversation_historyGet a Mistral conversation's full entry logread-only

    Fetch every entry in a conversation, in order: messages, function calls/results, tool executions, and agent handoffs.

Show 31 more tools
  • conversation_listList Mistral conversationsread-only

    List conversations created with this API key, most recent first.

  • conversation_startStart a Mistral conversation

    Start a new stateful, multi-turn conversation. Returns a conversation_id to continue with conversation_append. Pass exactly one of `agentId` (a pre-configured Mistral Agent) or `model` (a base chat model — defaults to the standard chat model if neither is set). `tools` enables Mistral's built-in tools for this conversation: web_search, web_search_premium, code_interpreter, image_generation. Pass `documentLibraryIds` to additionally enable document_library search over specific Mistral Libraries.

  • files_deleteDelete a Mistral filecan change or delete data

    Delete a file by id. This is irreversible.

  • files_getGet Mistral file metadataread-only

    Retrieve a single file's metadata by id.

  • files_listList Mistral filesread-only

    List files owned by this API key, with optional filters. Use `include_total: true` to get the total count across pages.

  • files_signed_urlGet a signed download URLread-only

    Generate a short-lived, signed URL to download a file. Expiry is in hours (1–168). Defaults to 24h server-side.

  • files_uploadUpload a file to Mistral

    Upload a file (up to 512 MB) and get a `fileId` that can be referenced by `mistral_ocr`, `voxtral_transcribe`, batch jobs, or fine-tuning. Inputs: - `filename`: user-visible name (e.g. 'contract.pdf'). - `content_base64`: file bytes, base64-encoded. `data:` URI prefix accepted. - `purpose`: 'fine-tune' (.jsonl only), 'batch' (.jsonl), or 'ocr' (pdf/image). - `visibility`: 'user' (default) or 'workspace' (shared with your team). - `expiry_days`: optional auto-delete after N days.

  • libraries_documents_listList documents in a Mistral Libraryread-only

    List the documents uploaded to a Library, with their processing status.

  • libraries_documents_statusGet a Library document's processing statusread-only

    Check whether an uploaded document has finished processing and is searchable.

  • libraries_documents_uploadUpload a document to a Mistral Library

    Upload a document (base64-encoded bytes) to a Library for RAG indexing. Processing happens server-side and asynchronously — the document is not searchable until `process_status` reaches 'done'. Poll with libraries_documents_status to track it.

  • libraries_getGet a Mistral Libraryread-only

    Fetch a Library's metadata (owner, size, document count).

  • libraries_listList Mistral Librariesread-only

    List Libraries (managed RAG document stores) you own or have been shared with you. Use a returned `id` as a `documentLibraryIds` entry on conversation_start to search it.

  • mistral_agentMistral Agents completionread-only

    Legacy agents completion endpoint, retained for compatibility. For modern agents, use agents_list/agents_get then conversation_start with agentId. Unlike `mistral_chat`, this tool requires an `agentId` pointing to an agent you've created in the Mistral dashboard. The agent carries its own system prompt, model, tools, and connectors (web_search, code_interpreter, document_library, image_generation) server-side — you just send messages. Use `mistral_chat` for direct model calls without stateful agent config.

  • mistral_chatMistral chat completionread-only

    Generate a chat completion using a Mistral model. When to use: - Drafting French (or any European-language) content where Mistral shines. - Codestral for code-specific generation/review. - Ministral for cheap / low-latency classification. Returns structured content with the assistant text and token usage. Does NOT stream — use mistral_chat_stream for long outputs with progress updates.

  • mistral_chat_streamMistral chat (streaming)read-only

    Like mistral_chat but streams tokens as they arrive. The client must pass _meta.progressToken to receive notifications/progress events for each streamed chunk. Final return payload is the assembled text. Use when: the expected completion is long (> ~500 tokens) or the calling UI wants live output. Otherwise use mistral_chat.

  • mistral_classifyMistral classificationread-only

    Run a classifier on one or more texts and return per-target scores. Use this with a fine-tuned classifier model id (e.g. `ft:classifier:...`) trained via the Classifier Factory, or a preset classifier model. Each result is a dict of target_name → { scores: { label: score } }.

  • mistral_embedMistral embeddingsread-only

    Generate embeddings for one or more strings via the mistral-embed model. Returns one 1024-dimensional vector per input, plus token usage. Warning: embedding payloads can be large. For > 50 inputs, consider batching client-side and storing vectors yourself instead of routing through the MCP tool channel.

  • mistral_moderateMistral moderationread-only

    Classify one or more texts for harmful content. Returns per-input `categories` (boolean flags) and `category_scores` (0..1 floats). Categories include: sexual, hate_and_discrimination, violence_and_threats, dangerous_and_criminal_content, selfharm, health, financial, law, pii. Use `mistral_chat_moderate` style pre-filtering by calling this before passing user input to a downstream LLM.

  • mistral_ocrMistral OCR (document to markdown)read-only

    Run Mistral OCR on a PDF or image, returning structured markdown per page. Input `document` is one of: - { type: "document_url", documentUrl: "https://...pdf" } - { type: "image_url", imageUrl: "https://..." | "data:image/..." } - { type: "file", fileId: "<id-from-files-api>" } Options: - `pages`: array of 0-indexed page numbers or string like "0-5,7". - `tableFormat`: 'markdown' (default) or 'html'. - `extractHeader` / `extractFooter`: include page header/footer when present. - `includeImageBase64`: embed extracted image bytes as base64 in the response. - `document_annotatio…

  • mistral_tool_callMistral function callingread-only

    Run a chat completion with function-calling enabled. The model inspects the provided `tools` (OpenAI-style function schemas) and decides whether to emit one or more `tool_calls`. This tool does NOT execute the tools — it only returns the model's decision and arguments, which the caller then routes to the appropriate local handlers. Use when: building agent loops where Mistral picks actions from a tool catalog. Supported models (via Mistral docs): mistral-*/magistral-*/ministral-*/devstral-*/codestral-*.

  • mistral_visionMistral multimodal chat (vision)read-only

    Description is built at runtime.

  • process_documentProcess a business document end-to-endread-only

    Single-call pipeline: provided text/Markdown or Mistral OCR → classify (if kind=auto) → typed extraction → validation. source.type=text skips OCR and Files uploads. Text with kind=generic makes no API calls; classification and typed extraction use Mistral chat. Results expose extraction_source. Provided text has null ocr_confidence and page_count; ocr_text contains the supplied text unchanged. Replaces the manual chain of mistral_ocr + mistral_chat + JSON parsing. Kinds: contract | invoice | id_document | generic. Use kind=auto to let the server classify. Returns a discriminated union — switc…

  • rag_indexes_listList registered search-index deploymentsread-only

    List the search-index deployments registered with Mistral and visible to this API key — the corpora an agent can retrieve from. When to use: - Before any retrieval, to discover which indexes exist and whether they are ready. - To map a human-readable corpus name onto the index id a retrieval tool needs. This tool does not search. Retrieval itself runs in the Mistral Search Toolkit (self-hosted, exposes its own MCP tools) or in Mistral Libraries — pair a library id with `conversation_start`'s `documentLibraryIds` for the managed path. Registering or removing a deployment is a deploy-pipeline…

  • voxtral_speakMistral text-to-speechread-only

    Synthesize speech from text. Returns base64-encoded audio. Inputs: - `input`: the text to speak. - `voiceId`: preset or custom voice id (see resource `mistral://voices`). - `responseFormat`: mp3 (default), wav, flac, opus, or pcm. - `model`: optional model id. Leave empty to let the API pick the default. - `refAudio`: base64 reference audio for voice cloning (when supported). Returns `audio_base64` plus `mime_type` and echoed `format`/`voice_id`.

  • voxtral_transcribeVoxtral speech-to-textread-only

    Description is built at runtime.

  • workflow_deployments_listList workflow deploymentsread-only

    List the workflow deployments in this workspace and whether each can run right now. Call this before workflow_execute. A workflow returned by mistral://workflows is a *definition*; running it requires a deployment with at least one live worker. A workflow whose deployment is missing or has no live worker answers 404 (no active deployment found) — this tool is how to see that first. runnable_count is the number of deployments with a live worker. When it is 0, no workflow can be executed and the operator has to start a deployment.

  • workflow_executeExecute a Mistral workflow

    Start a Mistral Workflow execution. `workflowIdentifier` is the workflow name or ID (visible in mistral://workflows). `input` is a free-form JSON object matching the workflow's input schema. Modes: - waitForResult=false (default): returns immediately with execution_id and RUNNING status. Poll workflow_status to track completion. - waitForResult=true: blocks until the workflow finishes and returns the result inline. Use timeoutSeconds (default 30) to cap the wait. Use deploymentName to target a specific deployment slot when multiple are configured.

  • workflow_interactSignal, query, or update a running workflow

    Send a signal to or run a query against a running workflow execution. action=signal: fire-and-forget event; the workflow reacts asynchronously. - `name`: signal name defined in the workflow. - `input`: optional payload matching the signal's schema. action=query: synchronous read of internal workflow state. - `name`: query handler name defined in the workflow. - `input`: optional parameters for the query. - Returns `query_name` + `result` inline. action=update: synchronous request to modify workflow state mid-execution. - `name`: update handler name defined in the workflow. - `…

  • workflow_runs_listList workflow executionsread-only

    List workflow executions, most recent first. Use it to find an execution_id to pass to workflow_status, workflow_interact or workflow_stop. All filters are optional; with none, returns the latest executions in the workspace.

  • workflow_statusGet workflow execution statusread-only

    Get the current state and result of a workflow execution. Statuses: RUNNING | COMPLETED | FAILED | CANCELED | TERMINATED | CONTINUED_AS_NEW | TIMED_OUT | RETRYING_AFTER_ERROR Poll until status is COMPLETED (or terminal) when waitForResult was false. `result` is populated once the workflow reaches a terminal state.

  • workflow_stopStop a workflow executioncan change or delete data

    Stop a running workflow execution. mode=cancel (default): asks the workflow to wind down, letting it run its cleanup handlers. Prefer this — a cancelled workflow leaves consistent state. mode=terminate: kills the execution immediately. Cleanup handlers do not run, so any half-finished side effect stays half-finished. Use only when cancel is stuck. Both are accepted asynchronously: the call returning does not mean the execution has already stopped. Poll workflow_status to observe the final state.

Compare and alternatives

    Featured in

    Signals

    Stars
    15
    Forks
    2
    Open issues
    0
    Last commit
    Sep 28, 2026 (1 month ago)
    Last release
    Sep 28, 2026 (1 month ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    io.github.Swih/mistral-mcp
    Version
    1.0.0
    Auth
    API key
    Packages
    npm mistral-mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from Swih

    Cite this page

    Mistral MCP. Agent Mart. https://agentmart.dev/connectors/swih-mistral-mcp (last updated 2026-10-24)