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
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.
About
Use cases: document-processing, model-inference
Reviews
Write a reviewNo 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_getagents_listbatch_getbatch_listcodestral_fimconnectors_getconnectors_listconnectors_list_toolsconversation_getconversation_historyconversation_listfiles_get
Show 22 more tools
files_listfiles_signed_urllibraries_documents_listlibraries_documents_statuslibraries_getlibraries_listmistral_agentmistral_chatmistral_chat_streammistral_classifymistral_embedmistral_moderatemistral_ocrmistral_tool_callmistral_visionprocess_documentrag_indexes_listvoxtral_speakvoxtral_transcribeworkflow_deployments_listworkflow_runs_listworkflow_status
Write 7 · Create, change, send or run things.
batch_createconversation_appendconversation_startfiles_uploadlibraries_documents_uploadworkflow_executeworkflow_interact
Delete 5 · Delete, drop, revoke or wipe things.
batch_cancelconnectors_call_toolconversation_deletefiles_deleteworkflow_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_URLMISTRAL_DEFAULT_MODELMISTRAL_MCP_PROFILE
Network hosts it talks to 8
api.mistral.ai· found in codearxiv.org· found in codeconsole.mistral.ai· found in codegithub.com· found in codeglama.ai· found in codejson.schemastore.org· found in coderaw.githubusercontent.com· found in codevllm.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-onlyInspect a modern agent's model, instructions and tool types before using conversation_start. Credentials are excluded.
agents_listFind Mistral agentsread-onlyFind 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 dataRequest cancellation of a running batch job. Completed requests still count for billing.
batch_createCreate a Mistral batch jobCreate 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-onlyFetch a batch job's current status and counters. When `status: 'SUCCESS'`, the `output_file` is ready for download.
batch_listList batch jobsread-onlyList batch jobs with optional filters.
codestral_fimCodestral fill-in-the-middle completionread-onlyFill-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 dataInvoke 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-onlyFetch 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-onlyList 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-onlyList 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 conversationAppend 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 dataPermanently delete a conversation and its history.
conversation_getGet a Mistral conversation's metadataread-onlyFetch a conversation's configuration (model/agent, tools, instructions).
conversation_historyGet a Mistral conversation's full entry logread-onlyFetch every entry in a conversation, in order: messages, function calls/results, tool executions, and agent handoffs.
Show 31 more tools
conversation_listList Mistral conversationsread-onlyList conversations created with this API key, most recent first.
conversation_startStart a Mistral conversationStart 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 dataDelete a file by id. This is irreversible.
files_getGet Mistral file metadataread-onlyRetrieve a single file's metadata by id.
files_listList Mistral filesread-onlyList 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-onlyGenerate 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 MistralUpload 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-onlyList the documents uploaded to a Library, with their processing status.
libraries_documents_statusGet a Library document's processing statusread-onlyCheck whether an uploaded document has finished processing and is searchable.
libraries_documents_uploadUpload a document to a Mistral LibraryUpload 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-onlyFetch a Library's metadata (owner, size, document count).
libraries_listList Mistral Librariesread-onlyList 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-onlyLegacy 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-onlyGenerate 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-onlyLike 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-onlyRun 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-onlyGenerate 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-onlyClassify 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-onlyRun 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-onlyRun 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-onlyDescription is built at runtime.
process_documentProcess a business document end-to-endread-onlySingle-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-onlyList 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-onlySynthesize 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-onlyDescription is built at runtime.
workflow_deployments_listList workflow deploymentsread-onlyList 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 workflowStart 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 workflowSend 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-onlyList 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-onlyGet 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 dataStop 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
- Repository
- github.com/Swih/mistral-mcp
- 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)