Skip to main content
Glama

Mistral MCP Server

A comprehensive MCP (Model Context Protocol) server providing full access to the Mistral AI API. This server enables AI assistants like Claude to interact with all Mistral AI capabilities including chat completion, embeddings, fine-tuning, agents, OCR, audio transcription, and more.

Features

Chat & Completion

  • Chat Completion - Full chat with function calling, JSON mode, vision support

  • FIM Completion - Fill-in-the-middle code completion with Codestral

  • Embeddings - Generate text embeddings for semantic search

  • Agents Completion - Run completions with pre-configured agents

Model Management

  • List all available models with capabilities

  • Get detailed model information

  • Delete fine-tuned models

  • Update, archive, and unarchive fine-tuned models

File Management

  • Upload files for fine-tuning, batch processing, or OCR

  • List, download, and delete files

  • Generate signed URLs for file access

Fine-Tuning

  • Create fine-tuning jobs with customizable hyperparameters

  • Monitor job status and progress

  • Support for dry-run validation

  • Cancel and start jobs

Batch Processing

  • Create batch jobs for bulk API calls

  • Monitor job progress and status

  • Support for chat, embeddings, and FIM endpoints

Media Processing

  • OCR - Extract text from documents and images

  • Content Moderation - Check text and chat for safety issues

  • Classification - Classify text with fine-tuned classifiers

  • Audio Transcription - Transcribe audio with Voxtral

Agents & Conversations (Beta)

  • Create and manage agents with custom instructions

  • Manage conversations with agents

  • Full conversation history support

Libraries (Beta)

  • Create document libraries for RAG

  • Upload and manage documents

  • Share libraries with users and workspaces

Related MCP server: Meshy MCP Server

Installation

# Clone the repository
git clone https://github.com/firstcastsolutions/mistral-mcp-server.git
cd mistral-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

Configuration

Set the required environment variable:

export MISTRAL_API_KEY="your-mistral-api-key"

Usage

With Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mistral": {
      "command": "node",
      "args": ["/path/to/mistral-mcp-server/dist/index.js"],
      "env": {
        "MISTRAL_API_KEY": "your-api-key"
      }
    }
  }
}

Standalone

export MISTRAL_API_KEY="your-api-key"
npm start

Available Tools (40+)

  • Chat completion, FIM, embeddings, agents

  • Model management (list, get, delete)

  • File management (upload, download, delete)

  • Fine-tuning jobs

  • Batch processing

  • OCR, moderation, classification

  • Audio transcription

  • Agents and conversations (Beta)

  • Document libraries (Beta)

License

MIT - First Cast Solutions LLC

Available Tools

43 tools
mistral_agents_completionMistral Agents CompletionC
Read-only

Run completions using pre-configured Mistral Agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesAgent ID
messagesYesMessages
max_tokensNoMax tokens
temperatureNoTemperature

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no indication of streaming, how tool_calls in messages are handled, or that the agent's configured prompt/tools are applied server-side. It is essentially a restatement of the title.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words, which is structurally ideal for a tool whose schema carries most detail. It is arguably too terse for the complexity of the nested messages array, but nothing in it is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing what comes back (completion text, finish reason, token usage, emitted tool calls) and it does not. For a tool with four parameters, a nested message array, and tool-calling semantics, the definition is materially incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (every parameter, including the nested message and tool_call objects, is typed and documented), so the baseline of 3 applies. The description contributes zero additional parameter meaning, e.g. it does not explain that 'messages' follows the standard role/content convention or how existing tool_calls should be echoed back.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Run completions') and resource ('pre-configured Mistral Agents'), which differentiates it from plain completion siblings like mistral_chat_completion and mistral_fim_completion by the agent indirection. However, it never explicitly contrasts with those siblings, so an agent must infer the boundary itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites (e.g. that agent_id must come from mistral_list_agents or mistral_create_agent), and never names an alternative such as mistral_chat_completion for stateless prompting. The choice between agent-backed and plain completions is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_append_conversationAppend to ConversationC

Add messages to an existing conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
messagesYesMessages to add
conversation_idYesConversation ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and idempotentHint=false, so the agent knows this mutates state and is not repeat-safe. The description adds nothing beyond that – no indication of whether appended messages trigger a completion, how ordering/roles are validated, or what the call returns. With annotations carrying the safety profile, the description still fails to add useful behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is efficient, though its brevity is part of why other dimensions are thin rather than a strength in itself.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter append tool with no output schema and full schema coverage, the minimum viable information is present. However, the nested message structure invites questions (role ordering, system/user sequencing, whether appending triggers inference) that the description leaves entirely unanswered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the nested message schema (role enum, content variants, tool_calls) is richly typed, so the schema does the heavy lifting. The description adds no parameter detail, which is the expected baseline 3 when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('append'/'Add messages') and resource ('an existing conversation'), which clearly separates it from mistral_create_conversation and mistral_get_conversation_history. It stops short of naming a sibling, so it does not reach the top of the scale.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'existing conversation' implies the conversation must already exist, but there is no explicit when-to-use guidance and no mention of alternatives such as mistral_create_conversation (for new threads) or mistral_agents_completion. Nothing tells the agent when this is the right call versus other conversation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_cancel_batch_jobCancel Batch JobC
Idempotent

Cancel a batch job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID to cancel

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so the safety profile is partially covered structurally. The description adds nothing beyond this — it doesn't say what happens to an in-flight job, whether cancellation is reversible, or what terminal state results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence is front-loaded and wastes no words, but its brevity reflects under-specification rather than disciplined conciseness. It is minimally viable, not optimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation-style operation with no output schema, the description should explain the effect of cancellation (job state after cancel, whether running requests are aborted). It omits this entirely, leaving the agent to guess at outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('Job ID to cancel'), so the schema fully documents it. The description contributes no additional parameter meaning, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Cancel a batch job' is a verbatim restatement of the tool name and title, adding no scope, target, or distinguishing detail. An agent learns nothing beyond what the name already conveys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to cancel versus alternatives such as mistral_delete_batch_job (if it existed) or the sibling mistral_cancel_fine_tuning_job, nor any preconditions. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_cancel_fine_tuning_jobCancel Fine-Tuning JobA
Idempotent

Cancel a running fine-tuning job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID to cancel

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the bar is lower. The description adds the 'running' state constraint, which is useful context, but does not disclose what happens after cancellation, whether it requires specific permissions, or if it can be undone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a simple one-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one required parameter, annotations present, no output schema), the description is nearly complete: it states the action and the target state of the job. Minor missing context, such as whether the job remains visible after cancellation, keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the only parameter 'job_id' is fully documented in the schema. The description adds no parameter-level meaning, so the baseline of 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Cancel') and resource ('fine-tuning job') with a state qualifier ('running'). It clearly distinguishes this tool from siblings like start_fine_tuning_job, get_fine_tuning_job, list_fine_tuning_jobs, and cancel_batch_job.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying 'running', indicating it should be used only for active jobs. However, it gives no explicit when-to-use guidance, no prerequisites, and does not name an alternative or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_chat_completionMistral Chat CompletionB
Read-only

Generate chat completions using Mistral AI models with function calling and vision support.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel IDmistral-large-latest
toolsNoAvailable tools
top_pNoNucleus sampling
messagesYesConversation messages
max_tokensNoMax tokens
random_seedNoRandom seed
safe_promptNoSafety prompt
temperatureNoSampling temperature
tool_choiceNoTool choice
response_formatNoResponse format
presence_penaltyNoPresence penalty
frequency_penaltyNoFrequency penalty

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful capability context (function calling, vision support) but does not explain behavioral traits like rate limits, whether the call is stateless, or how the tool-calling loop is expected to work.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though so terse that it omits operational detail a 12-parameter tool might warrant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (12 params, nested message/tool objects, no output schema), the description is thin. It doesn't explain return behavior or the expected tool-calling workflow, though complete schema coverage and annotations carry much of the load.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 12 parameters (model, tools, messages, tool_choice, response_format, sampling params) is already documented in the schema. The description adds no parameter-level detail beyond that; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource ('Generate chat completions') and scopes it to Mistral AI models, and it distinguishes the tool's key capabilities (function calling, vision). However, it does not differentiate from near-siblings like mistral_fim_completion or mistral_agents_completion, leaving the agent to infer when chat completion is preferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. With siblings such as mistral_agents_completion, mistral_fim_completion, and mistral_embeddings all being generation-adjacent, the description offers no routing signal for selecting this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_classify_textClassify TextC
Read-onlyIdempotent

Classify text using a fine-tuned classifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesClassifier model
inputsYesTexts to classify

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond annotations about behavior, and with no output schema it does not say what a classification result looks like (labels, scores, per-text results).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with no filler, front-loading the verb and resource. It is arguably underspecified rather than wasteful, but structurally clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 2-parameter tool with full schema coverage and annotations covering safety, the definition is minimally sufficient. It leaves open what the classifier outputs and why a fine-tuned model is required, but these are minor for a single-purpose inference call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (model, inputs) are already documented in the schema. The description adds no extra meaning, which is the baseline 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (classify) and resource (text) and adds the key qualifier 'using a fine-tuned classifier,' which separates it from mistral_moderate_text. It doesn't explicitly name which sibling to prefer, so differentiation is only implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus mistral_moderate_text, mistral_embeddings, or mistral_chat_completion. The agent must infer the use case entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_create_agentCreate AgentC

Create a new Mistral agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAgent name
modelYesModel
toolsNoTools
descriptionNoDescription
instructionsNoInstructions

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, covering the safety profile. The description adds nothing beyond that — no mention of whether duplicate names are allowed, what is returned, or any auth/scope requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with zero waste. It is arguably too terse for a 5-parameter creation tool, so it does not earn top marks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with 5 parameters (2 required), a nested tools array, and no output schema, the description says nothing about what constitutes a valid agent or what the call returns. Annotations only cover the safety profile, leaving the description inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 5 parameters, so the schema documents name, model, tools, description, and instructions. The description adds no meaning beyond the schema, which meets the baseline 3 for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a new Mistral agent'), so the action is unambiguous. However, it offers no differentiation from siblings such as mistral_update_agent, mistral_delete_agent, or mistral_get_agent beyond the verb itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives, no prerequisites, and no note about what the created agent requires. The agent must infer usage entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_create_batch_jobCreate Batch JobC

Create a new batch processing job.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel
endpointYesEndpoint
metadataNoMetadata
input_filesYesInput file IDs

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as a non-destructive, non-idempotent mutation (readOnlyHint=false, idempotentHint=false). The description adds nothing beyond that: it does not explain that repeated calls create duplicate jobs (the practical meaning of non-idempotent) or that the job runs asynchronously. With annotations carrying the safety profile, the description still leaves behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence, which is efficient, but it is essentially a restatement of the title and adds almost no information. Brevity here reflects under-specification rather than disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool involving file IDs, a nested metadata object, and an endpoint enum, with no output schema, the description should explain what a batch job does and what it returns. It provides none of this, leaving an agent without enough context to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (model, endpoint, input_files, metadata) are already documented in the schema. The description adds no meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a new batch processing job'), which is clearer than the title alone. However, it offers no differentiation from sibling creation tools like create_fine_tuning_job or create_agent, so an agent must rely on the name to disambiguate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as create_fine_tuning_job, nor any prerequisites (e.g., that input files must already be uploaded via upload_file). The agent is left to infer the entire usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_create_conversationCreate ConversationC

Create a new conversation with an agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModel
agent_idNoAgent ID
messagesYesInitial messages

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose that this is a non-readonly, non-idempotent, non-destructive write. The description adds nothing beyond 'create', omitting any mention of required permissions, effect on existing data, or rate limits. No contradiction, but no added behavioral context either.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no wasted words. It is efficient, though its extreme brevity borders on under-specification rather than true conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool that requires a messages array and supports agent_id and model, the description never mentions the required input or how the conversation relates to the agent. Annotations cover safety, but the description leaves large gaps in invocation guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema carries parameter documentation (albeit terse labels like 'Model' and 'Initial messages'). The description adds no meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (create) and resource (conversation), and adds the scope 'with an agent'. However, it does not distinguish itself from the sibling mistral_append_conversation, which also creates conversation content, leaving the agent to infer the difference from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no when-not-to-use, and no alternatives are named. The agent receives no hint about when this is preferable to append_conversation or chat_completion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_create_fine_tuning_jobCreate Fine-Tuning JobC

Create a new fine-tuning job.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesBase model to fine-tune
suffixNoModel name suffix
dry_runNoValidate only
auto_startNoAuto start
integrationsNoIntegrations
training_filesYesTraining file IDs
hyperparametersNoHyperparameters
validation_filesNoValidation file IDs

TDQS

C2.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the basic mutation profile is known. The description adds nothing beyond that: it does not say the job is long-running/asynchronous, whether submitting triggers billing or compute, or how dry_run and auto_start affect behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of waste, but it is under-specified rather than genuinely concise. There is no structural elaboration to help an agent act on it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex, 8-parameter, nested-object creation tool with no output schema and no return-value documentation. At minimum the description should mention the dry-run validation path and the asynchronous nature of fine-tuning jobs, neither of which appears.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema documents all 8 parameters, including nested integrations and hyperparameters. Per the baseline rule for high coverage, a 3 is appropriate since the schema carries the parameter semantics and the description adds no additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a new fine-tuning job'), so an agent can identify the operation. However, it merely restates the tool title with no differentiation from siblings like mistral_start_fine_tuning_job or mistral_get_fine_tuning_job, leaving the create-vs-start distinction to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, particularly the closely named mistral_start_fine_tuning_job. No prerequisites (e.g., needing uploaded training files), no mention of dry_run validation workflows, and no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_create_libraryCreate LibraryC

Create a new document library.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLibrary name
descriptionNoDescription

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the baseline is covered. The description adds no behavioral context beyond that — no mention of permissions, naming constraints, or what happens on duplicate names — so it contributes essentially nothing beyond the title.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with zero waste. It is efficient, though it is nearly identical to the title and thus borders on redundant rather than maximally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter create tool with a fully documented schema, annotations, and no output schema, the definition is minimally adequate. It is complete enough to invoke correctly but leaves behavioral and usage context unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both 'name' and 'description' documented in the schema itself. The description adds no additional meaning (e.g., uniqueness or format constraints) beyond what the schema already provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and resource ('document library'), which is sufficient to distinguish it from sibling create tools like create_agent or create_conversation. However, it does not explicitly differentiate itself from related library siblings such as list_libraries or update_library.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of the surrounding library lifecycle (e.g., use list_libraries to discover existing libraries first). The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_delete_agentDelete AgentC
DestructiveIdempotent

Delete an agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesAgent ID to delete

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered structurally. The description adds no behavioral context beyond those annotations, such as what exactly gets destroyed or whether deletion is reversible. It does not contradict the annotations, but it contributes nothing beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no wasted words and is front-loaded with the action. Its brevity is appropriate for the tool's simplicity, though it is arguably too terse to be maximally useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter delete tool with full schema coverage and annotations covering destructiveness and idempotency, the description is minimally adequate. It is missing usage context and any caution about irreversible deletion, but the structured annotations carry most of the safety burden.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter, agent_id, and schema description coverage is 100% with the schema itself saying 'Agent ID to delete'. The description adds no extra meaning beyond the schema, which is the baseline 3 case when structured fields already document the parameter fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Delete an agent.' This clearly distinguishes the tool from siblings like mistral_get_agent, mistral_list_agents, mistral_create_agent, and mistral_update_agent. It is not a tautology, but it stops short of adding any scoping detail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives, no prerequisites, and no warning about when not to use it. The name implies it is for deletion, but the description adds no routing or usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_delete_conversationDelete ConversationC
DestructiveIdempotent

Delete a conversation.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation ID to delete

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered externally. The description adds no behavioral context beyond the word 'Delete' – it does not explain whether deletion is permanent, what data is removed, or whether related history is affected. It does not contradict the annotations, but it contributes nothing extra.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence and is front-loaded with the core action. It wastes no words, though it is arguably under-specified rather than optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter destructive tool with complete schema and annotation coverage, the description is minimally adequate. It does not explain return behavior or side effects, but annotations cover the destructive nature and there is no output schema to describe.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single required parameter conversation_id is fully documented in the schema. The description adds no parameter meaning beyond what the schema already provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Delete a conversation.' is essentially a restatement of the tool name and title, which is a tautology per the rubric. It states a specific verb and resource, but adds no distinguishing information beyond the name, so it does not help an agent differentiate this tool from siblings like mistral_delete_agent or mistral_delete_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as mistral_get_conversation or mistral_list_conversations, nor any mention of prerequisites or consequences. The description gives no indication of when this operation is appropriate, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_delete_fileDelete Mistral FileC
DestructiveIdempotent

Delete a file from your account.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile ID to delete

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered by structured data. The description adds nothing beyond them – it does not state irreversibility, permission requirements, or what happens to associated fine-tuning jobs, which is the kind of context that would earn credit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with no filler, and the verb/resource are front-loaded. It is arguably under-specified rather than bloated, but it does not waste words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter delete with destructive/idempotent annotations, the essentials are technically present, but with no output schema and no statement of success behavior or consequences, the definition is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single file_id parameter is documented in the schema, so the baseline is 3. The description adds no further meaning about the identifier's format or source.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Delete) and resource (file) with scope ('from your account'). It's clear what the tool does, but it offers no differentiation from sibling deletes like mistral_delete_model, mistral_delete_agent, or mistral_delete_library.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g., that the file_id must exist or be yours), and no reference to alternatives such as mistral_get_file to verify before deleting. The agent must infer everything.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_delete_libraryDelete LibraryC
DestructiveIdempotent

Delete a library.

ParametersJSON Schema
NameRequiredDescriptionDefault
library_idYesLibrary ID to delete

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds nothing beyond that – it does not state that the deletion is irreversible, what happens to dependent resources, or any auth/permission requirement, so it earns no credit for added behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, but its brevity reflects under-specification rather than efficient information density. There is no front-loaded constraint or qualifier worth preserving.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter destructive operation the required inputs are covered by the schema and annotations, but the description omits the one thing that matters most for a delete tool: that the action is permanent and unrecoverable. Nothing tells the agent to confirm or to verify the target library first.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single library_id parameter is documented in the schema as "Library ID to delete." With one fully-described parameter and no additional syntax to convey, the baseline 3 applies; the prose adds nothing further.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Delete a library" is a bare restatement of the tool name and title, adding no scope, conditions, or distinction from the many other delete_* siblings (mistral_delete_agent, mistral_delete_conversation, mistral_delete_file). An agent learns nothing here it could not infer from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative is given. It never says that this permanently removes models/assistants attached to the library or points to mistral_list_libraries / mistral_get_library as the lookup steps before deletion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_delete_modelDelete Fine-Tuned ModelB
DestructiveIdempotent

Delete a fine-tuned model (permanent).

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesFine-tuned model ID to delete

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the safety profile is covered. The description contributes '(permanent)', which reinforces irreversibility beyond the hint flags, but adds nothing about auth requirements, cascade effects, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the irreversible nature front-loaded in parentheses. Nothing is wasted and it is immediately scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter destructive delete, annotations cover the safety profile and the schema fully documents the parameter. The description is nearly complete; only the lack of any recovery/irreversibility detail and usage context keeps it from a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('Fine-tuned model ID to delete'), so the schema already carries the semantics. The description adds no format, source, or constraint information beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Delete a fine-tuned model'), and the '(permanent)' qualifier sharpens the meaning. It is distinguishable from siblings like mistral_delete_file or mistral_delete_agent by name, but the description itself does no explicit sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus alternatives, nor any prerequisites or caveats. An agent receives no context about how to obtain a valid fine-tuned model ID or when deletion is the appropriate action over simply ignoring the model.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_download_fileDownload Mistral FileC
Read-onlyIdempotent

Download file contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile ID to download

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing on top—no note on how contents are returned (raw bytes, base64, redirected URL) or any size/rate constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero padding. It is efficient, though the extreme brevity is arguably under-specification rather than disciplined concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining what 'download' returns—binary stream, base64 string, or URL. That critical return-format information is entirely absent, which for a file-download tool is a real gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single required parameter with 100% schema description coverage ('File ID to download'). The schema already carries the semantics, so the description adds no value here, but nothing is missing either—baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Download file contents'), so the core action is clear. However, it does nothing to distinguish itself from adjacent siblings like mistral_get_file or mistral_get_signed_url, leaving the agent to guess which one returns bytes versus metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance whatsoever on when to use this tool versus mistral_get_file, mistral_get_signed_url, or mistral_list_files. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_embeddingsMistral EmbeddingsB
Read-onlyIdempotent

Generate text embeddings for semantic search and similarity.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesText(s) to embed
modelNoModel IDmistral-embed
encoding_formatNoEncoding format

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds nothing behavioral beyond that - no note on batching semantics, cost, or that repeated identical input yields identical vectors. With annotations carrying the safety load, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is efficient, though borderline under-specified rather than genuinely concise-and-complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Three simple parameters and no output schema, so the description should tell the agent what comes back (an array of float vectors, one per input string). That return shape is omitted, leaving a real gap for an embeddings consumer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so input, model, and encoding_format are already documented in the schema (including the single-or-array anyOf). The description adds no parameter meaning - e.g., that multiple texts produce multiple vectors - so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Generate) and resource (text embeddings) plus the typical use case (semantic search and similarity). It's clear what the tool does, but it never distinguishes itself from siblings even though embеdding is a unique capability in this server.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only an implied usage ('for semantic search and similarity') is given. There is no guidance on when to choose this over chat/completion siblings or on batching many inputs in one call versus many calls.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_fim_completionMistral FIM CompletionC
Read-only

Fill-in-the-Middle code completion using Codestral.

ParametersJSON Schema
NameRequiredDescriptionDefault
stopNoStop sequences
modelNoModel IDcodestral-latest
top_pNoTop P
promptYesCode before cursor
suffixNoCode after cursor
max_tokensNoMax tokens
min_tokensNoMin tokens
random_seedNoRandom seed
temperatureNoTemperature

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, and idempotentHint=false. The description adds no behavioral context beyond those annotations, such as output determinism, rate limits, or whether returned code is applied anywhere.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no filler, and the core operation is front-loaded. However, it is arguably too terse for a nine-parameter tool, leaving structural gaps rather than earning the highest conciseness score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter code generation tool with no output schema, the description is incomplete. It does not explain what is returned, how the prompt and suffix interact, or when to use this tool versus alternatives, leaving important context missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all nine parameters are documented in the schema. The description adds no parameter meaning beyond what the schema already provides, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Fill-in-the-Middle code completion using Codestral.' An agent can understand the core action, but the description does not distinguish this from sibling completion tools such as mistral_chat_completion or mistral_agents_completion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is provided. It does not say when FIM completion is preferable to chat completion or other completion tools, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_agentGet AgentC
Read-onlyIdempotent

Get details of an agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_idYesAgent ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing on top of that — no note on what is returned, whether a missing agent errors, or any auth/scope requirement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler. It is efficient, though its brevity comes at the cost of the missing context noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read tool whose annotations cover the safety profile and whose schema documents the parameter, the description is minimally sufficient. It stops short of describing what the returned agent object contains, which the absence of an output schema would otherwise justify.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, so the schema already carries the semantics. The description adds no meaning about the agent_id format or where it comes from; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get details of an agent'), so the operation is unambiguous. It does not differentiate itself from siblings such as mistral_list_agents or mistral_update_agent, nor does it say what 'details' comprise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus mistral_list_agents (for browsing) or mistral_update_agent, and no mention of prerequisites such as needing a valid agent_id from a prior listing call.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_batch_jobGet Batch JobC
Read-onlyIdempotent

Get details of a batch job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesBatch job ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, fully covering the safety profile, so the description carries a lower burden. However, it adds no behavioral context at all beyond the annotations, not even whether a missing job errors or returns empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste and the key information front-loaded. It is efficient, though arguably too terse to be maximally informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with full annotations and full schema coverage, the definition is minimally adequate. Without an output schema, the description could clarify what 'details' includes, but annotations compensate for the safety dimension.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single job_id parameter is documented in the schema ('Batch job ID'), so the baseline is 3. The description adds nothing beyond the schema, but none is required here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (Get) and resource (details of a batch job), which an agent can distinguish from list_batch_jobs, create_batch_job, and cancel_batch_job by operation. It does not explicitly name those siblings, but the action-to-resource mapping is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance about when to use this over mistral_list_batch_jobs or mistral_get_fine_tuning_job, and no preconditions stated. The agent must infer that this retrieves a single job by ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_conversationGet ConversationC
Read-onlyIdempotent

Get conversation details.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation ID

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered externally. The description adds nothing beyond that — no note on what the returned details include, whether the conversation may be missing, or error behavior. With annotations carrying the load, the description still contributes almost no extra context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no waste, but its length reflects under-specification rather than disciplined conciseness. There is nothing to front-load because almost no information is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with no output schema, some ambiguity remains unresolved: the relationship to mistral_get_conversation_history is unexplained, and the description does not hint at what 'details' contains. A reader cannot confidently choose this over the neighboring history/list tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single conversation_id parameter, so the schema already documents the input fully. The description adds no format, source, or constraint detail beyond the schema, which is the baseline 3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The phrase 'Get conversation details' names a verb and resource, so the basic purpose is inferable. However, it does not distinguish this tool from siblings like mistral_get_conversation_history or mistral_list_conversations, leaving the boundary between 'details', 'history', and 'list' ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus mistral_get_conversation_history or mistral_list_conversations, nor any stated prerequisites. The agent must guess from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_conversation_historyGet Conversation HistoryC
Read-onlyIdempotent

Get full conversation history.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversation_idYesConversation ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds no behavioral context beyond what annotations provide — it does not explain what 'full' includes (e.g., pagination, ordering, message format) or any rate limits. No contradiction with annotations is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence with no wasted words and the key action is front-loaded. However, it is arguably too sparse given the tool's role among siblings, but the structure itself is clean and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with full schema coverage and safety annotations, the description is minimally adequate. It does not clarify the distinction from mistral_get_conversation, which could confuse an agent selecting between the two. No output schema exists, so the description needn't explain return values, but the lack of differentiation is a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter conversation_id is documented in the schema. The description does not add any meaning beyond what the schema provides. Baseline 3 is appropriate when the schema fully covers parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Get full conversation history.' It is clear what the tool does, but it does not differentiate itself from sibling tools like mistral_get_conversation or mistral_list_conversations. No indication is given of how 'full history' differs from other retrieval tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives such as mistral_get_conversation or mistral_list_conversations. No conditions, prerequisites, or exclusions are mentioned. The description simply states the action without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_fileGet Mistral File DetailsC
Read-onlyIdempotent

Get details about a specific file.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYesFile ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond repeating the read operation, such as error conditions, auth requirements, or output characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler and the purpose front-loaded. It is efficient, though extremely terse even for a simple getter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter getter with full schema coverage and rich annotations, the description is sufficient to invoke correctly. It leaves minor gaps, such as what "details" are returned and how this differs from download_file or get_signed_url.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with file_id documented as "File ID." The description phrase "specific file" only minimally reinforces the parameter and adds no syntax or format details beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Get") and resource ("details about a specific file"), and "specific file" implies single-resource retrieval rather than listing. However, it does not explicitly distinguish this from siblings like mistral_download_file, mistral_get_signed_url, or mistral_list_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, prerequisites, or alternatives are provided. The agent must infer appropriate usage from the tool name and sibling set alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_fine_tuning_jobGet Fine-Tuning JobB
Read-onlyIdempotent

Get details of a fine-tuning job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that baseline — no indication of what fields are returned, error behavior for an invalid job_id, or whether the job must be in a particular state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste. It is efficient, though arguably under-specified rather than tight — there is no padding to cut, but also little content to justify.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter getter with annotations covering the safety profile, the description is adequate but minimal. With no output schema, an agent gets no signal about what 'details' are returned or how a missing/invalid job behaves.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a single parameter and 100% schema description coverage, the schema already documents job_id as a string with minLength 1. The description adds no syntax, format, or sourcing guidance beyond what the schema provides, which is the baseline case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (details of a fine-tuning job), which distinguishes it from mistral_list_fine_tuning_jobs and the mutation siblings. However, it does not explicitly name or contrast with those siblings, so the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent infers this is the tool to call when it already holds a job_id and wants detail rather than a list. There is no explicit when-to-use, when-not-to-use, or reference to list_fine_tuning_jobs as the alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_libraryGet LibraryC
Read-onlyIdempotent

Get library details.

ParametersJSON Schema
NameRequiredDescriptionDefault
library_idYesLibrary ID

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered by structured data. The description adds nothing on top — no note that an invalid or missing library_id will error, no indication of what a successful lookup returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words, front-loaded with the core intent, and free of padding. Brevity is a virtue here, though it edges toward under-specification rather than true economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description is the only place an agent could learn what 'library details' actually contains (name, creation time, file counts, etc.), and it provides none of that. For a retrieval tool with no return-value disclosure anywhere, this is a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single library_id parameter, so the schema already carries the parameter documentation and the baseline of 3 applies. The description contributes no additional detail about ID format or origin.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb and resource (get + library), so the basic purpose is legible. But it is a near-tautology of the title 'Get Library' and does nothing to distinguish this single-library fetch from mistral_list_libraries or mistral_get_library variants among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of the required library_id lookup key, and no routing toward alternatives like mistral_list_libraries for enumeration or mistral_update_library for mutation. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_modelGet Mistral Model DetailsC
Read-onlyIdempotent

Get detailed information about a specific model.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesModel ID

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety and idempotency profile is fully covered by structured data. The description adds a small amount of context by implying it returns detail rather than summary data, but doesn't describe what fields are returned, error behavior for invalid IDs, or whether it requires authentication.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no wasted words. It is appropriately sized, though the brevity comes at the cost of informativeness rather than being maximally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool with full annotation coverage, the description is minimally adequate. However, with no output schema, the description should ideally hint at what 'detailed information' includes (e.g., context length, capabilities, pricing) to help the agent understand the return value.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – the single model_id parameter is documented in the schema. The description adds no syntax, format, or example information beyond what the schema already provides. Baseline 3 is appropriate when the schema fully documents the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('Get detailed information about a specific model'), distinguishing it from list_models and delete_model by being a detail-retrieval operation. However, it does nothing to distinguish it from other get_* detail tools (get_agent, get_file, get_library) beyond the resource name, and 'detailed information' is vague about what is actually returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance about when to use this tool versus alternatives. It doesn't tell the agent to use list_models first to find a valid model_id, nor does it mention any constraints. The description provides no context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_get_signed_urlGet Signed URLB
Read-only

Get a temporary download URL for a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
expiryNoExpiry in hours
file_idYesFile ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds the useful fact that the URL is temporary, but says nothing about expiry behavior, default duration, or whether the URL can be re-fetched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, though it is arguably terse enough to lose useful routing context. Every word earns its place, but there is little structure to evaluate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read tool with full schema coverage and annotations carrying the safety profile, the description is minimally adequate. It is missing the one thing that matters most here: how this differs from mistral_download_file / mistral_get_file.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already documents file_id and the expiry parameter including its 1–168 hour range and 24-hour default. The description adds nothing beyond the word 'temporary', so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Get a temporary download URL for a file'), which is clearer than a bare name restatement. However, it doesn't differentiate from the closely related siblings mistral_download_file and mistral_get_file, so an agent must still infer which to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this rather than mistral_download_file or mistral_get_file, which is exactly the ambiguity this tool sits inside. No prerequisites or context conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_agentsList AgentsC
Read-onlyIdempotent

List all Mistral agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage
page_sizeNoPer page

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that, and its claim of listing 'all' agents is potentially misleading given the paginated schema (default page_size=100), with no pagination behavior disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with zero filler. It is efficient, though it is terse to the point of under-specification rather than dense with useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-parameter list tool with full schema coverage and complete annotations, the minimal description is arguably adequate to call it correctly. Still, there is no output schema, so nothing confirms the return shape (array of agent objects, pagination metadata), leaving a modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page and page_size are already documented in the schema, and the description adds no format, range, or semantics beyond it. The baseline of 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('List') and resource ('Mistral agents'), which cleanly separates it from mutation siblings like mistral_get_agent, mistral_update_agent and mistral_delete_agent. It does not, however, explicitly contrast itself with other list-style siblings (e.g. mistral_list_conversations, mistral_list_models), so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as mistral_get_agent when a specific agent is already known. The agent must infer the retrieval context entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_batch_jobsList Batch JobsB
Read-onlyIdempotent

List batch processing jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage
modelNoFilter by model
statusNoFilter by status
page_sizeNoResults per page
created_by_meNoOnly my jobs

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, not open-world). The description adds no behavioral context such as pagination defaults, result limits, or whether filtering is server-side, so it does not go beyond structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no filler and a front-loaded verb. It is appropriately sized for a simple list operation, though sparse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is low-complexity, annotations carry safety, and the input schema fully documents all five parameters. No output schema exists, so the description need not explain returns; a brief purpose statement is nearly sufficient, though usage context is still missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with every parameter described, so the baseline is 3. The description adds no parameter semantics beyond the title/name; it leaves filter, pagination, and default behavior to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('batch processing jobs'), so the action is unambiguous. It does not differentiate this list tool from siblings like mistral_get_batch_job or mistral_list_fine_tuning_jobs, keeping it at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, prerequisites, or alternatives are given; the description never explains when to choose this over get/cancel/list_fine_tuning_jobs. Listing is implied by the verb, but explicit guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_conversationsList ConversationsC
Read-onlyIdempotent

List all conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage
page_sizeNoPer page

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that: it does not disclose that results are paginated, what the default page size is, or what a conversation record contains, and 'all' arguably contradicts the paginated behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no padding, so it is never verbose. The brevity is under-specification rather than disciplined conciseness, but there is no wasted structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple zero-required-parameter read tool with full annotation coverage and a fully documented schema, so little is strictly required. Still, with no output schema there is no indication of what a conversation listing returns or how paging metadata is presented, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the two integer paging parameters, so the baseline is 3. The description neither explains paging semantics nor adds anything beyond the schema, and 'List all conversations' implies an unpaginated result set even though page_size is capped at 100, making it mildly misleading rather than additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ('List' + 'conversations'), so the basic operation is unambiguous. However it gives no differentiation from siblings such as mistral_get_conversation, mistral_get_conversation_history, or mistral_delete_conversation, and 'all' is slightly misleading against a paginated schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of when to prefer mistral_get_conversation over this listing, and no note on paging through results. The agent must infer all routing decisions from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_filesList Mistral FilesC
Read-onlyIdempotent

List files uploaded to your Mistral account.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number
purposeNoFilter by purpose
page_sizeNoFiles per page

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond that — no pagination behavior, no note on default page size limits, no return-shape hints. With annotations carrying the burden, the description contributes almost nothing extra.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with no waste, and the resource is front-loaded. It is arguably too terse to be maximally useful, but nothing in it is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with full schema coverage and clear annotations, the definition is minimally adequate. It omits any hint about filtering by purpose or paginated retrieval, relying entirely on the schema, and has no output schema to fall back on for return-shape expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so page, purpose, and page_size are all documented in the schema itself. The description adds no parameter detail, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource ('List files uploaded to your Mistral account'), so an agent knows it enumerates files rather than retrieving a single one. It does not, however, explicitly distinguish itself from siblings like mistral_get_file or mistral_list_libraries, which the definition leaves to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of alternatives. The agent is not told to prefer mistral_get_file for a specific file, nor when filtering by purpose is appropriate, despite several file-related siblings existing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_fine_tuning_jobsList Fine-Tuning JobsC
Read-onlyIdempotent

List fine-tuning jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage
modelNoFilter by model
statusNoFilter by status
page_sizeNoResults per page
created_by_meNoOnly my jobs

TDQS

C2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: no pagination behavior, no indication of default page size of 100 or the 100-item cap, no result ordering. With annotations carrying the load the bar is lower, but zero added context warrants a low score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is short and front-loaded, but it is under-specified rather than concise — it conveys no information an agent could not derive from the tool name. Brevity here costs utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing tool with five optional filter parameters and no output schema, the description omits filtering semantics, pagination expectations, and return shape. The structured fields carry everything; the description is not complete enough to guide correct invocation on its own.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline of 3 applies — the schema documents page, model, status (with a full enum), page_size, and created_by_me. The description contributes no additional meaning, but it is not required to given full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"List fine-tuning jobs." is essentially a restatement of the tool name and title with no additional specificity. It does state a verb and a resource, but it draws no distinction from siblings like mistral_list_models or mistral_list_batch_jobs beyond the resource noun embedded in the name itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of alternatives (e.g., mistral_get_fine_tuning_job for a single job), and no note that the five filter parameters control the result set. An agent gets nothing about context or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_librariesList LibrariesB
Read-onlyIdempotent

List all document libraries.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is fully carried by structured data. The description adds nothing beyond that — no mention of whether results are paginated, sorted, or truncated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero waste and the verb front-loaded. It is efficient, though its brevity borders on under-specification rather than crisp conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list tool with a complete annotation set and no output schema, the description is sufficient to call it correctly. The only missing element is any note about result volume or pagination.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description correctly implies an unfiltered enumeration and has no parameter semantics to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List', 'document libraries'), so an agent can tell it apart from get_library, create_library, and list_files without opening a schema. It stops short of explicitly naming those siblings or stating scope limits, keeping it below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance is given. It does not say to prefer this over mistral_get_library for a single library, nor does it mention any filtering or pagination condition. Usage is only implied by the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_list_modelsList Mistral ModelsB
Read-onlyIdempotent

List all available Mistral models with capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is fully covered externally. The description adds only 'with capabilities', a small hint at return content, and since no output schema exists it does not disclose what fields or capability data actually come back.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the verb and resource front-loaded and no filler. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter list tool with no output schema and safety fully covered by annotations, the definition is serviceable but thin — it never says what 'capabilities' means or what the list entries contain, which is the one thing an agent might need to chain calls to mistral_get_model.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4; there is no parameter semantics to add.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (Mistral models) with a scope qualifier ('all available') and a hint at payload content ('with capabilities'). It is clearly distinguishable from mistral_get_model and mistral_delete_model by the plural/listing framing, though it does not name those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the listing verb — an agent can infer this is the discovery/browse call — but there is no explicit when-to-use versus when to call mistral_get_model instead, and no prerequisites or exclusions stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_moderate_chatModerate ChatB
Read-onlyIdempotent

Check chat messages for safety issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModelmistral-moderation-latest
messagesYesMessages to moderate

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds the semantic purpose (safety checking) but does not disclose output format, rate limits, auth needs, or other behavioral traits beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence that is front-loaded with the core action and resource. No wasted words or redundant restatements.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a fully documented input schema and rich annotations covering safety, but no output schema. The description does not explain the return values (e.g., moderation categories or scores) or when to prefer this over mistral_moderate_text, leaving some gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (model and messages) are fully documented in the schema. The description adds no parameter-level meaning beyond what the structured schema already provides, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check') and resource ('chat messages') for a safety purpose. It distinguishes from the sibling mistral_moderate_text by focusing on chat messages, but does not name or contrast with that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no conditions, and no mention of the sibling mistral_moderate_text. An agent must infer when to call this versus other moderation or completion tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_moderate_textModerate TextC
Read-onlyIdempotent

Check text for safety issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModelmistral-moderation-latest
inputsYesTexts to moderate

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds nothing beyond the purpose statement — no indication of what a moderation result contains (categories, scores, flags) or how inputs are handled in a batch array.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler and the action front-loaded. It is economical, though the extreme brevity borders on under-specification rather than true conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining what moderation returns, and it does not. For a moderation tool whose result shape (flags, categories, scores) is decision-relevant, this is a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the model and inputs parameters are documented in the schema itself. The description contributes no additional meaning beyond that, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb and resource: check text for safety issues. It distinguishes the operation well enough to be understood, but never mentions the closely related sibling mistral_moderate_chat, leaving the boundary between text moderation and chat moderation ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of alternatives such as mistral_moderate_chat or mistral_classify_text. The agent must infer when this tool applies.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_ocrMistral OCRB
Read-onlyIdempotent

Extract text from documents and images using OCR.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety and repeatability profile is covered. The description adds nothing beyond that: no supported formats, no input mechanism (file upload, URL, base64), no mention of rate limits or output shape. For an OCR tool that is almost certainly nondeterministically parsed output, this is a real gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler or repetition. It is efficient, though its brevity is part of the tool's overall under-specification rather than a deliberate trimming of surplus detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no parameters, and a description that stops at the purpose, an agent cannot tell how the document is supplied (URL? file ID? upload?) or what the extraction returns (plain text, Markdown, layout metadata). For a 0-parameter OCR tool the description should carry this burden and does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema declares zero properties, so there is no parameter semantics for the description to enrich; per the baseline for 0-parameter tools this scores 4. The description neither misleads nor clarifies the (absent) argument surface.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Extract text') and resource ('documents and images'), and the phrase 'using OCR' distinguishes it from siblings like mistral_transcribe_audio (audio) or mistral_embeddings (vectors). It does not, however, explicitly position itself against the other document-handling siblings such as mistral_get_file or mistral_upload_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, nor any prerequisites or exclusions. An agent must infer from the name alone that this is the OCR path rather than the file-download or transcription path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_start_fine_tuning_jobStart Fine-Tuning JobC

Start a validated fine-tuning job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesJob ID to start

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose the safety profile: readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds one behavioral nugget beyond them, the 'validated' precondition, but says nothing about what state transitions follow, whether a started job can be cancelled, or the non-idempotent implication of a retry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or repetition, which is structurally clean. It is arguably too terse for a state-changing job-control operation, but as a conciseness measure it wastes nothing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description should cover the required prior state, the source of a valid job_id, and what starting implies for subsequent calls. The 'validated' adjective is the only clue, leaving the lifecycle context largely unexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (job_id) and schema description coverage is 100%, so the schema already fully documents the input ('Job ID to start'). The description adds no format, referencing, or sourcing detail beyond the schema, which is the expected baseline when the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

'Start a validated fine-tuning job' names a verb and resource, so the basic action is clear, and it reads as distinct from siblings like cancel_fine_tuning_job. However it is nearly a restatement of the title with the single qualifier 'validated' added, and it never distinguishes itself from create_fine_tuning_job, which an agent must call first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this versus create_fine_tuning_job or when not to call it (e.g. job already running). The precondition that the job must be in a 'validated' state is only hinted at by one adjective, leaving the agent to infer the required workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_transcribe_audioTranscribe AudioC
Read-onlyIdempotent

Transcribe audio files using Voxtral.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoModelvoxtral-mini-2507
promptNoTranscription guidance
filenameYesAudio filename
languageNoLanguage code
file_contentYesBase64-encoded audio

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds no behavioral context beyond restating the operation: no mention of latency, synchronous vs async return, or whether base64 audio must be a specific format/size.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no redundancy, front-loaded with the verb. However, it is arguably too terse given the missing usage and behavioral detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter transcription tool with no output schema, the description should explain output shape (e.g., transcript text vs structured segments) and key constraints. Instead it provides only a bare operation statement, leaving significant gaps for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all 5 parameters are documented in the schema itself. The description adds no syntax, format, or constraint detail (e.g., accepted language codes, base64 encoding expectations) beyond what the schema provides. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (Transcribe) and resource (audio files), and names the underlying engine (Voxtral). It is differentiable from siblings like mistral_ocr or mistral_classify_text, though it says nothing about output format or supported audio types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives (e.g., mistral_ocr for text-in-image). No mention of prerequisites, file size limits, or language handling. The agent is left to infer everything about invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_update_agentUpdate AgentC

Update an existing agent.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name
agent_idYesAgent ID
descriptionNoNew description
instructionsNoNew instructions

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered by structured data and is not contradicted. But the description adds zero behavioral context beyond that: it does not say whether the update is partial (merge) or full replacement, whether unspecified fields are preserved, or whether it requires the agent to be in a particular state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short, front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly a symptom of under-specification rather than disciplined writing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description omits everything an agent needs beyond the parameter list: partial-vs-full update semantics, required preconditions, and what happens to omitted fields. With 100% schema coverage the parameters are known, but the behavioral picture is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with four documented parameters (agent_id required; name, description, instructions optional), so the schema carries the parameter burden and the baseline is 3. The description adds no meaning beyond the schema, notably not clarifying that omitting a field leaves it unchanged.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb and resource ('Update an existing agent'), so the basic action is unambiguous. However, it adds essentially nothing beyond the tool name and title, and it does not distinguish this tool from sibling updaters such as mistral_update_library. It is the minimum viable statement of purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus mistral_create_agent or mistral_get_agent, nor any stated prerequisite (e.g., the agent must already exist, required permissions). The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_update_libraryUpdate LibraryC

Update a library.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name
library_idYesLibrary ID
descriptionNoNew description

TDQS

C2.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. However, the description adds nothing beyond that: no mention of required permissions, whether partial updates are allowed, or which fields are optional. With annotations carrying the baseline, the empty description earns a low score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four words is not conciseness here but under-specification; the sentence is too sparse to earn its place. There is no front-loaded value because there is no value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with three parameters, no output schema, and no annotation coverage of mutation semantics. The description should explain partial-update behavior, permission requirements, or field optionality, but instead leaves the agent with essentially nothing beyond the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents library_id, name, and description. The description adds no syntax, format, or constraint detail beyond the schema, which is the baseline expectation when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update a library' merely restates the tool name and title without adding specificity about what aspect of the library is updated or how it differs from siblings like mistral_create_library or mistral_delete_library. It is a tautology rather than a meaningful purpose statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of alternatives. The agent receives no signal about when updating is appropriate versus creating or deleting a library.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mistral_upload_fileUpload File to MistralA

Upload a file for fine-tuning, batch processing, or OCR.

ParametersJSON Schema
NameRequiredDescriptionDefault
purposeNoPurposefine-tune
filenameYesFilename
file_contentYesBase64 or raw JSONL content

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is structurally covered. The description confirms the upload behavior and purpose-dependent processing, but adds no details about authentication, file size limits, retention, overwrite behavior, or return values beyond what annotations already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero wasted words. It is appropriately sized for a straightforward file upload tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition is minimally adequate: it states the action and purposes, and annotations cover safety. However, with no output schema and no return-value information, an agent lacks guidance on what the upload produces (e.g., file ID) or how to reference the uploaded file in subsequent fine-tuning, batch, or OCR calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the three parameters including the purpose enum. The description restates the purpose categories but adds no additional syntax, format requirements, or constraints, so it meets the baseline for full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Upload a file') and names three intended purposes ('fine-tuning, batch processing, or OCR'). It is clear what the tool does, but it does not differentiate itself from sibling tools like mistral_ocr or the fine-tuning/batch job creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage contexts by naming fine-tuning, batch processing, and OCR, but it offers no explicit when-to-use guidance, prerequisites, or alternatives (e.g., when to use mistral_upload_file versus mistral_ocr directly). The guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 43 tool updatesv1.0.0
    • First observedmistral_agents_completion
    • First observedmistral_append_conversation
    • First observedmistral_cancel_batch_job
    • First observedmistral_cancel_fine_tuning_job
    • First observedmistral_chat_completion
    • First observedmistral_classify_text
    • First observedmistral_create_agent
    • First observedmistral_create_batch_job
    • First observedmistral_create_conversation
    • First observedmistral_create_fine_tuning_job
    • First observedmistral_create_library
    • First observedmistral_delete_agent
    • First observedmistral_delete_conversation
    • First observedmistral_delete_file
    • First observedmistral_delete_library
    • First observedmistral_delete_model
    • First observedmistral_download_file
    • First observedmistral_embeddings
    • First observedmistral_fim_completion
    • First observedmistral_get_agent
    • First observedmistral_get_batch_job
    • First observedmistral_get_conversation
    • First observedmistral_get_conversation_history
    • First observedmistral_get_file
    • First observedmistral_get_fine_tuning_job
    • First observedmistral_get_library
    • First observedmistral_get_model
    • First observedmistral_get_signed_url
    • First observedmistral_list_agents
    • First observedmistral_list_batch_jobs
    • First observedmistral_list_conversations
    • First observedmistral_list_files
    • First observedmistral_list_fine_tuning_jobs
    • First observedmistral_list_libraries
    • First observedmistral_list_models
    • First observedmistral_moderate_chat
    • First observedmistral_moderate_text
    • First observedmistral_ocr
    • First observedmistral_start_fine_tuning_job
    • First observedmistral_transcribe_audio
    • First observedmistral_update_agent
    • First observedmistral_update_library
    • First observedmistral_upload_file

TDQS

C2.9/5.0

Scored across 43 tools

Disambiguation4/5

Tools are mostly distinct, covering different resources (agents, conversations, libraries, files, jobs, models) and operations. Minor potential confusion exists between mistral_get_conversation and mistral_get_conversation_history, and between mistral_download_file and mistral_get_signed_url, but descriptions clarify the differences.

Naming Consistency4/5

Consistent mistral_ prefix and snake_case throughout, with a predictable verb_noun structure for most tools. A few tools (e.g., mistral_embeddings, mistral_ocr, mistral_chat_completion) use noun-based names, slightly breaking the pattern but remaining readable.

Tool Count3/5

With 43 tools, the set is heavy; while the breadth of the Mistral platform justifies many tools, it exceeds typical MCP server scope. Some consolidation might be possible (e.g., file download and signed URL), but each tool maps to a distinct API endpoint.

Completeness4/5

Covers CRUD for agents, conversations, libraries, files, and job management, plus core AI operations like completions, embeddings, OCR, moderation, and transcription. Notable gap: no tools to manage documents within libraries (add/remove/list documents), and some lifecycle operations (e.g., batch job deletion) are missing.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers