mcp-nvidia-nim
Integrates with the NVIDIA NIM Cloud API to run LLM prompts, deep reasoning, code review, multimodal vision analysis, document extraction, and translation across NVIDIA-hosted models, with model alias resolution and built-in rate limiting.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-nvidia-nimreview this diff for security issues using the code model"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-nvidia-nim
TypeScript MCP (Model Context Protocol) server for orchestrating Large Language Models (LLMs), Deep Reasoning, Multimodal Vision, and Code Engineering via the NVIDIA NIM Cloud API.
🎯 Overview
mcp-nvidia-nim connects AI assistants and agents (Google Antigravity, Claude Desktop, Cursor, Roo-Code, etc.) directly to the official NVIDIA NIM cloud catalog. It features built-in 40 RPM sliding-window rate limiting (matching NVIDIA's free tier quota), intelligent model alias resolution, and seamless support for local and remote image inputs.
🌟 Verified Model Highlights
🧠 Ultra-Scale Reasoning & Architecture:
nvidia/nemotron-3-ultra-550b-a55b(550 billion parameters) andnvidia/nemotron-3-nano-omni-30b-a3b-reasoning.💻 Software Engineering & Code Review:
poolside/laguna-xs-2.1(Poolside's code specialist model) andmistralai/mistral-large-4-1t-a52b.👁️ Large-Scale Multimodal Vision:
meta/llama-3.2-90b-vision-instructandnvidia/nemotron-3.5-super-vl-120b-a12b.⚡ High Throughput & Low Latency:
nvidia/nemotron-3.5-lightning-30b-a3bandminimaxai/minimax-m3.1-flash.📄 Document & Data Extraction:
nvidia/nemotron-parse-2.0(OCR, table, and markdown parser).🌐 Technical Multilingual Translation:
nvidia/riva-translate-4b-instruct-v2.
Related MCP server: NVIDIA MCP
🛠️ MCP Tools Reference
Tool Name | Description | Default Model / Alias |
| Direct prompt query against any NVIDIA NIM model |
|
| In-depth architectural advisory, logic, and tradeoffs |
|
| Technical code and git diff review (security, bugs, performance) |
|
| Multimodal visual inspection for diagrams, wireframes, and screenshots |
|
| Semantic extraction and formatting into markdown, json, or table |
|
| Real-time rate limiter telemetry (40 RPM window) and model catalog | — |
🚀 Getting Started
1. Prerequisites
Node.js
>= 20.x(tested on Node 24)pnpm
>= 10.xNVIDIA NIM API Key (
nvapi-...from build.nvidia.com)
2. Installation & Setup
git clone https://github.com/luizGDpulz/mcp-nvidia-nim.git
cd mcp-nvidia-nim
# Install dependencies
pnpm install
# Configure environment variables
cp .env.example .env
chmod 600 .env
# Edit .env and paste your NVIDIA_API_KEY3. Build & Test
# Compile TypeScript to dist/
pnpm build
# Run unit test suite
pnpm test⚙️ Environment Configuration (.env)
# NVIDIA NIM API Key
NVIDIA_API_KEY=nvapi-your-key-here
# Base URL (official endpoint)
NVIDIA_BASE_URL=https://integrate.api.nvidia.com/v1
# Rate limit per minute (standard free tier is 40 RPM)
NVIDIA_RATE_LIMIT_RPM=40
# Default model for standard queries
NVIDIA_DEFAULT_MODEL=mistralai/mistral-large-4-1t-a52b🔌 MCP Client Configuration (e.g. Antigravity / Claude Desktop)
Add the server to your MCP configuration file (~/.gemini/config/mcp_config.json or claude_desktop_config.json):
{
"mcpServers": {
"nvidia-nim": {
"command": "node",
"args": [
"/home/ubuntu/dev/mcp-nvidia-nim/dist/index.js"
]
}
}
}🏷️ Model Aliases
When calling nim_query_model, you can pass handy shorthand aliases in the model parameter:
ultra$\rightarrow$nvidia/nemotron-3-ultra-550b-a55breasoning$\rightarrow$nvidia/nemotron-3-nano-omni-30b-a3b-reasoningfast/lightning$\rightarrow$nvidia/nemotron-3.5-lightning-30b-a3bflash$\rightarrow$minimaxai/minimax-m3.1-flashmistral$\rightarrow$mistralai/mistral-large-4-1t-a52bcode/laguna$\rightarrow$poolside/laguna-xs-2.1vision$\rightarrow$meta/llama-3.2-90b-vision-instructsuper-vl$\rightarrow$nvidia/nemotron-3.5-super-vl-120b-a12bparse$\rightarrow$nvidia/nemotron-parse-2.0translate$\rightarrow$nvidia/riva-translate-4b-instruct-v2guard$\rightarrow$nvidia/llama-3.1-nemotron-safety-guard-8b-v3
🛡️ Sliding Window Rate Limiting (40 RPM)
The server enforces an in-memory sliding window rate limiter:
Records request timestamps over a continuous 60-second window.
If the 40 requests/min threshold is reached, subsequent requests automatically sleep and wait for the earliest slot to expire before executing.
Gracefully handles upstream
429 Too Many Requestsstatus codes with exponential backoff and retry.
📄 License
Distributed under the MIT License.
Available Tools
11 toolsnim_analisar_visaoC
Alias para nim_analyze_vision (compatibilidade com versões anteriores)
| Name | Required | Description | Default |
|---|---|---|---|
| modelo | No | ||
| pergunta | Yes | ||
| imagem_url_ou_arquivo | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. Calling it an alias implies identical behavior to nim_analyze_vision, but it discloses nothing about accepted image sources (URL vs. local file), model selection defaults, latency, or error behavior — all relevant for a vision call with a 3-parameter surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero padding, and the most important fact (the canonical target) is front-loaded. It is efficient rather than verbose; the issue is missing content, not wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a thin compatibility alias the essentials are the deprecation notice and the canonical mapping, both of which are present, and there is no output schema to explain. However, an agent that lands on this tool first gets no statement of what it does or how to fill its required arguments, so it must consult the sibling description to proceed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters (imagem_url_ou_arquivo, pergunta, modelo), and the description adds no meaning for any of them — notably not clarifying the ambiguous 'URL or file' input format. The alias reference implies parameters mirror nim_analyze_vision, which is the only, indirect, help provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says what the tool actually does (analyze an image with a question); it only says it is an alias for nim_analyze_vision. That redirect does let an agent infer purpose from the sibling, and it clearly distinguishes this tool from that sibling as the non-canonical copy, but it is one inference step removed from a real verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Compatibilidade com versões anteriores" implies the tool exists only for legacy callers and that nim_analyze_vision is the preferred entry point, which is useful routing guidance. It stops short of an explicit "prefer nim_analyze_vision; use this only if you have hardcoded the old name" statement, so the when-to-use rule is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_analyze_visionC
Analyzes images, architecture diagrams, screenshots, and wireframes using large multimodal models (Llama 3.2 90B Vision or Nemotron Super VL 120B)
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Multimodal model: 'vision' (Llama 3.2 90B Vision) or 'super-vl' (Nemotron Super VL 120B). Default: 'vision'. | |
| prompt | Yes | Question, instruction, or prompt regarding the visual input. | |
| image_url_or_path | Yes | Image URL (http/https), local absolute filesystem path (e.g. /path/to/image.png), or base64 data URI. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It names the models but omits whether the call is read-only, what constraints exist on image size/format, latency, cost, or what the response contains — the behavioral context an agent needs to plan a call is largely absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero repetition or filler. Brevity is a virtue here, though the sentence could have spent its length on usage or behavioral detail instead of the model names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the definition is too thin: it says nothing about the return shape (raw text caption? structured analysis?), image constraints, or failure modes, leaving the agent to discover behavior by trial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: model options, prompt, and accepted image locators (URL, absolute path, base64 data URI) are all documented in the schema. The description adds no syntax or format detail beyond it, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('analyzes') and concrete resource types (images, architecture diagrams, screenshots, wireframes), plus the underlying models. Clear on its own, but never mentions siblings like nim_extract_document, so an agent can't tell from this text which visual task belongs where.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 guidance. Siblings include nim_extract_document and nim_review_code, but nothing here says whether to route a screenshot OCR task to this tool or to document extraction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_consultar_modeloB
Alias para nim_query_model (compatibilidade com versões anteriores)
| Name | Required | Description | Default |
|---|---|---|---|
| modelo | No | Nome ou alias do modelo. | |
| prompt | Yes | Mensagem ou pergunta. | |
| max_tokens | No | ||
| temperature | No | ||
| system_prompt | No | Prompt de sistema. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses only that the tool delegates to nim_query_model; it says nothing about side effects, authentication, latency, return behavior, or whether calls are identical in every respect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short parenthetical sentence with zero waste. The alias relationship and compatibility purpose are front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an alias, pointing to nim_query_model gives the agent a route to full behavior, which is the minimum viable context. However, with no annotations and no output schema, the definition still leaves return values, side effects, and two parameter meanings undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no parameter-level meaning at all. Schema coverage is 60%, leaving max_tokens and temperature undocumented, and the alias sentence does not compensate for those gaps or clarify how parameters are forwarded.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an alias for nim_query_model, which precisely distinguishes it from siblings by naming its target. It does not independently state the verb/resource (querying a model), but the alias relationship is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context that this exists for backward compatibility and names the preferred sibling nim_query_model. It stops short of explicitly saying 'use nim_query_model for new integrations' or specifying when not to use this alias.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_deep_reasonA
Leverages NVIDIA large-scale reasoning models (Nemotron-3 Ultra 550B or Nemotron-3 Omni Reasoning) for deep system architecture, complex logic, and tradeoff analysis
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Reasoning mode: 'ultra' uses the 550B-parameter Nemotron Ultra; 'fast' uses Omni 30B Reasoning. Default: 'ultra'. | |
| context | No | Additional technical context, requirements, existing code, or constraints. | |
| problem | Yes | The core technical challenge, logical problem, or architectural dilemma to analyze. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It mentions the models used but does not state whether the operation is read-only, what the cost or latency implications are, or what the output looks like—significant gaps for an LLM reasoning tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It conveys the core purpose and use cases efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a reasoning tool with no annotations and no output schema, the description is minimally adequate: it states what the tool does and when to use it. However, it omits the return format, latency/cost expectations, and guidance on mode tradeoffs beyond what the schema already says, leaving meaningful gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters including the mode enum. The description adds no additional parameter semantics beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (NVIDIA large-scale reasoning models) and use cases (deep system architecture, complex logic, tradeoff analysis), making the tool's purpose clear. However, it does not explicitly distinguish itself from closely related siblings like nim_consultar_modelo or nim_raciocinar_profundo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context by naming the problem domains (deep system architecture, complex logic, tradeoff analysis) where the tool should be used. It stops short of stating when not to use it or naming alternatives, which keeps it at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_extract_documentB
Processes and structures raw dumps from PDFs, tables, unorganized notes, or OCR using Nemotron Parse 2.0
| Name | Required | Description | Default |
|---|---|---|---|
| raw_content | Yes | Raw unformatted content, PDF text dump, or OCR to parse. | |
| target_format | No | Desired output format. Default: 'markdown'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It names the engine but says nothing about whether the call is read-only vs. side-effecting, whether large inputs are chunked or truncated, latency/cost characteristics, or failure modes for unparseable content — significant gaps for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the action, the accepted input types, and the engine are all delivered without repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two well-documented parameters and no output schema or annotations, the core call contract is covered by the schema. Still missing are output shape expectations (beyond the target_format enum) and any input-size or content-type limits an agent would need before sending a large dump.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented including the enum values and the 'markdown' default, so the baseline is 3. The description adds no extra semantics about how raw_content should be prepared or how target_format affects fidelity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (processes/structures) and a specific resource (raw dumps from PDFs, tables, notes, OCR), plus names the underlying model. An agent can distinguish it from reasoning/vision siblings by the 'raw document content in, structured text out' framing, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumerated input types (PDF dumps, tables, notes, OCR), which tells an agent when this fits. However, there is no explicit 'use this instead of nim_analyze_vision when...' routing or any stated prerequisite, so the agent must infer the boundary with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_extrair_documentoC
Alias para nim_extract_document (compatibilidade com versões anteriores)
| Name | Required | Description | Default |
|---|---|---|---|
| conteudo_bruto | Yes | ||
| formato_desejado | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It conveys behavior equivalence with nim_extract_document but says nothing about what that behavior is: no side effects, no content-size or format limits, no indication of whether it is a read-only transformation or a server-side operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no padding, and the key fact (that it is a legacy alias) is front-loaded. It is appropriately sized for what it attempts, even though what it attempts is minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and zero parameter coverage, the description would need to describe the extraction behavior and the two inputs. Instead it only redirects to another tool, leaving an agent unable to call it correctly without opening the sibling's definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 2 parameters, and the description adds no parameter information at all. 'conteudo_bruto' and 'formato_desejado' (with enum markdown/json/tabela) are left entirely to the caller to guess from the Portuguese names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only states that this is an alias for nim_extract_document; it never says what the tool actually does (extract content from a document). The name and the named sibling let an agent infer the purpose indirectly, but the description itself is a pointer rather than a statement of function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly frames this as a compatibility alias, which tells the agent to prefer nim_extract_document when available. There is no explicit 'use X instead' or deprecation note, but the routing signal is unambiguous enough for practical selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_query_modelB
Executes a direct prompt query against any NVIDIA NIM model (e.g. Nemotron Ultra 550B, Mistral Large, MiniMax Flash, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Full model identifier or alias: 'ultra', 'mistral', 'reasoning', 'fast', 'flash', 'code', 'vision', etc. Default: 'mistral'. | |
| prompt | Yes | User prompt or instruction to send to the model. | |
| max_tokens | No | Maximum completion tokens. Default: 2048. | |
| temperature | No | Sampling temperature (0.0 = deterministic, 1.0+ = creative). Default: 0.2. | |
| system_prompt | No | Optional system prompt with behavioral guidelines or persona. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state whether the call is synchronous, what it returns, whether it has side effects, whether authentication is required, or any rate/cost characteristics; it only says it executes a prompt query.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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, though very minimal and does not build structure beyond the core purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and the input schema is fully documented, but there is no output schema and the description does not explain the return value or response shape. For a model-query tool, an agent would benefit from knowing that it returns generated text and whether response metadata is included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all five parameters, including model aliases, defaults, and temperature semantics. The description adds useful model examples but no parameter details beyond what the schema provides, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Executes a direct prompt query against any NVIDIA NIM model,' with model examples. It is clear what the tool does, though it does not explicitly differentiate itself from specialized siblings like nim_review_code or nim_analyze_vision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'direct prompt query against any NVIDIA NIM model' implies generic model querying, but the description gives no explicit when-to-use guidance, exclusions, or alternatives. An agent can infer that this is the general-purpose sibling, but it must make that inference itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_raciocinar_profundoC
Alias para nim_deep_reason (compatibilidade com versões anteriores)
| Name | Required | Description | Default |
|---|---|---|---|
| modo | No | ||
| contexto | No | ||
| problema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only confirms delegation to nim_deep_reason and discloses nothing about side effects, permissions, runtime behavior, or output shape; the alias relationship is a hint but not sufficient disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, front-loaded with the alias identity and compatibility purpose. It contains no wasted text, though its brevity reflects missing detail rather than fully earned conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three parameters, no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It neither explains the parameters nor describes the behavior inherited from nim_deep_reason.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions 'problema', 'contexto', or 'modo'. With three undocumented parameters and an enum for 'modo', the description provides no semantic guidance to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It identifies itself as an alias for nim_deep_reason and mentions backward compatibility, which distinguishes it from the current reasoning tool. However, it never states the underlying operation, resource, or effect, so an agent must inspect nim_deep_reason to understand what the tool actually does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'compatibilidade com versões anteriores' implies it is for legacy callers and that nim_deep_reason is the current equivalent. It does not explicitly say to prefer nim_deep_reason or give clear when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_review_codeC
Audits source code or git diffs using software engineering specialist models (Poolside Laguna XS or Mistral Large)
| Name | Required | Description | Default |
|---|---|---|---|
| focus | No | Audit focus area. Default: 'general'. | |
| model | No | Model to use: 'code' (Poolside Laguna XS 2.1) or 'mistral' (Mistral Large 4). Default: 'code'. | |
| language | No | Programming language (e.g. typescript, python, rust, go, bash, docker). | |
| code_or_diff | Yes | Source code or git diff to audit. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the backing models, which is a hint about behavior, but says nothing about cost, latency, permissions, or what the audit returns (findings list, severity, free text). For a tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though the density means nothing is elaborated where elaboration would help.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four parameters, no output schema, and no annotations, the description should at minimum indicate what an audit produces and any input constraints. It leaves the return shape and the meaning of the 'focus' choices entirely unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 every parameter including the model aliases and defaults. The description adds the human-readable model names, but they are also in the schema, so this is baseline 3 with no real added semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('audits source code or git diffs') and names the specialist models used, which distinguishes it from generic siblings like nim_query_model or nim_deep_reason. It does not address the near-duplicate Portuguese sibling nim_revisar_codigo, but otherwise the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to choose this over nim_deep_reason or nim_revisar_codigo, nor any prerequisites (repo access, size limits, diff format). The agent must infer usage from the verb alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_revisar_codigoC
Alias para nim_review_code (compatibilidade com versões anteriores)
| Name | Required | Description | Default |
|---|---|---|---|
| foco | No | ||
| modelo | No | ||
| linguagem | No | ||
| codigo_ou_diff | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, yet it says nothing about what the tool actually returns, whether it is read-only, cost/latency implications, or model selection behavior. Only the deprecation-compat status is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded with the alias relationship and the compat rationale. Nothing wasted, though it is arguably too terse for the information it needs to carry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With four undocumented parameters, no annotations, no output schema, and no statement of actual function or behavior, the description leaves too much for the agent to infer. Alias-status alone is not enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters (including an enum foco and free-text modelo/linguagem), and the description adds no parameter meaning at all. It relies entirely on the agent inferring parameters from the target tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as an alias for nim_review_code, which points the agent toward the real function, but it never states the actual verb+resource (reviewing code/diffs). An agent that doesn't already know nim_review_code learns nothing about what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Naming the canonical sibling plus 'compatibilidade com versões anteriores' effectively tells the agent to prefer nim_review_code for new work and to use this only for legacy callers. No explicit exclusion is spelled out, but the routing intent is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nim_statusA
Reports rate limiting status (40 RPM quota), available slots, execution telemetry, and supported model catalog and aliases
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the concrete 40 RPM quota and that the call surfaces telemetry and catalog data, which implies a side-effect-free read, but it never explicitly states that it performs no mutations or consumes no quota. No auth requirements, cost, or freshness/caching behavior is mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no preamble or filler; every listed item corresponds to real returned content. Slightly list-dense, but it earns its length by enumerating the response sections the agent will get back.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by enumerating the categories of information returned (quota status, slots, telemetry, model catalog, aliases). For a zero-parameter read tool, that is nearly sufficient; only the explicit read-only guarantee and quota-consumption behavior are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline is 4. Schema coverage is 100% and the empty object is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses the specific verb 'Reports' with a concrete resource set: rate limiting status, available slots, telemetry, and model catalog/aliases. Every sibling tool (nim_query_model, nim_review_code, etc.) performs work, so an agent can immediately tell this one is the informational/state-introspection tool. No ambiguity about what calling it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The content ('40 RPM quota', 'available slots') strongly implies you'd call this to check remaining capacity before or during model invocations, but the description never says that. There is no explicit when-to-use statement, no prerequisite, and no reference to the sibling tools it would precede. Usage is inferable but not stated.
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.
11 tool updates
v1.0.0- First observed
nim_analisar_visao - First observed
nim_analyze_vision - First observed
nim_consultar_modelo - First observed
nim_deep_reason - First observed
nim_extract_document - First observed
nim_extrair_documento - First observed
nim_query_model - First observed
nim_raciocinar_profundo - First observed
nim_review_code - First observed
nim_revisar_codigo - First observed
nim_status
TDQS
Scored across 11 tools
Half the tool set consists of explicit aliases (Portuguese names) that duplicate the English tools exactly, making it impossible to infer any selection difference. The six unique capabilities are distinct, but the aliases create multiple unclear boundaries and invite misselection.
All names use a consistent nim_ prefix and snake_case, which is readable. However, the set mixes English and Portuguese conventions, and the alias pairs introduce duplicate naming patterns rather than a single predictable scheme.
Eleven tools is a reasonable raw count, but five are redundant aliases, leaving only six unique capabilities. The aliases inflate the surface without adding functionality, making the count feel heavier than necessary.
The unique tools cover the core NIM lifecycle: status/quota inspection, general query, deep reasoning, code review, vision analysis, and document extraction. Minor gaps exist (e.g., no explicit model listing beyond status), but agents can work around them.
Maintenance
Related MCP Connectors
Connect MCP clients to 2,000+ AI models without managing provider API keys.
Chat, image, video, and audio models from many vendors behind one remote MCP server and one key.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables LLM agents to control NVIDIA Run:AI infrastructure by dynamically searching and executing over 426 Run:AI APIs through MCP tools.49 npmMIT
- FlicenseAqualityDmaintenanceProvides tools for NVIDIA NIM and Visual GenAI APIs, enabling chat completions, model listing, and image generation via NVIDIA-hosted endpoints.4-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to access 140+ NVIDIA NIM models for chat, embeddings, reranking, vision, image generation, OCR, and content safety via stdio.87 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides a live, audited catalog of AI models from NVIDIA NIM, OpenRouter, Nous Portal, and other providers, enabling search, retrieval, and usage examples via MCP tools and resources.-