VORIM
We use cookies

We use cookies to analyze site traffic and improve your experience. You can choose to accept all cookies or only essential ones. See our Privacy Policy.

Mistral AI

Permission-checked, signed tool calls through Mistral with the official SDK or an OpenAI-compatible client, the EU endpoint, and Vorim answering the Agents API tool confirmations.

Mistral AI

Every function tool your agent calls through Mistral is checked against the agent's permissions (or your runtime rules) and recorded as a signed audit event before it runs. It works with the official Mistral SDK and with any OpenAI-compatible client pointed at Mistral, in TypeScript and Python.

import { Mistral } from "@mistralai/mistralai";
import createVorim from "@vorim/sdk";
import { createMistralRegistry, runMistralAgentLoop } from "@vorim/sdk/integrations/mistral";

const vorim = createVorim({ apiKey: "agid_sk_live_..." });
// server: "eu" keeps inference in EU and EFTA data centres (api.eu.mistral.ai)
const mistral = new Mistral({ apiKey: process.env.MISTRAL_API_KEY, server: "eu" });

const registry = createMistralRegistry({ vorim, agentId: "agid_acme_a1b2c3d4" });
registry.add({
  name: "refund_order",
  description: "Refund an order",
  parameters: { type: "object", properties: { order: { type: "string" } }, required: ["order"] },
  permission: "agent:transact",
  execute: async ({ order }) => refund(order),
});

const answer = await runMistralAgentLoop({
  vorim, agentId: "agid_acme_a1b2c3d4", mistral, registry,
  userMessage: "Refund order 1042, the parcel arrived damaged",
  // model defaults to mistral-medium-latest; override freely
});
typescript

Python

from mistralai.client import Mistral   # "from mistralai import Mistral" on mistralai 1.x
from vorim import Vorim
from vorim.integrations.mistral import create_mistral_registry, run_mistral_agent_loop

v = Vorim(api_key="agid_sk_live_...")
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"], server="eu")
registry = create_mistral_registry(vorim=v, agent_id="agid_acme_a1b2c3d4")
registry.add(name="refund_order", description="Refund an order",
             parameters={"type": "object", "properties": {"order": {"type": "string"}}},
             execute=lambda args: refund(args["order"]), permission="agent:transact")
answer = run_mistral_agent_loop(vorim=v, agent_id="agid_acme_a1b2c3d4", mistral_client=client,
                                registry=registry, user_message="Refund order 1042")
python

Agents API: your tools and Mistral's

On Mistral's Agents API, your own function tools come back as function.call entries that your code runs. Pass them to executeMistralFunctionCalls and append the function.result entries it returns. Tools Mistral runs itself (web search, the code interpreter, image generation, document libraries and MCP connectors) never reach your code, so list them in tool_configuration.requires_confirmation. Mistral then pauses each call, decideMistralConfirmations answers allow or deny from the agent's permissions or your rules, records the decision, and you send the answers back as tool_confirmations.

import { executeMistralFunctionCalls, decideMistralConfirmations } from "@vorim/sdk/integrations/mistral";

const results = await executeMistralFunctionCalls(registry, response.outputs);
const toolConfirmations = await decideMistralConfirmations(
  { vorim, agentId, scopes: { web_search: "agent:read", code_interpreter: "agent:execute" } },
  response.outputs,
);
// Append results, and resume with toolConfirmations, through the Mistral SDK's conversations calls.
typescript
  • Regional endpoints (EU and US) support function calling only. Mistral's Agents, Conversations and connectors run on the global endpoint.
  • A tool Mistral runs that is not listed for confirmation does not pass through Vorim and is not in the signed record.
  • If Vorim cannot be reached, calls and confirmations are denied, not allowed.
  • Model ids are configuration. mistral-medium-latest, mistral-small-latest and codestral-latest were current on 29 October 2026; Magistral and Devstral were retired on 31 July 2026.
Need Help?

Book a demo for a walkthrough, or contact us for support. For enterprise needs, reach out at sales@vorim.ai.