NVIDIA NIM MCP Server

NVIDIA NIM MCP Server

Enables AI agents to access 140+ NVIDIA NIM models for chat, embeddings, reranking, vision, image generation, OCR, and content safety via stdio.

Category
Visit Server

README

@hallaxius/nvidia-nim-mcp

License: MIT npm version Bun

A Model Context Protocol (MCP) server that exposes 140+ NVIDIA NIM models to AI agents via stdio.

Supports: chat, embeddings, reranking, vision, image generation (FLUX), OCR, and content safety.

Features

  • Thin wrapper around integrate.api.nvidia.com/v1 and ai.api.nvidia.com/v1
  • Zero external dependencies (uses global fetch)
  • Bun-native, Node 20+ compatible
  • Offline model capability snapshot for quick lookups
  • Automatic fallback heuristics for unknown models
  • Streaming disabled by default (safe for stdio)

Installation

bun add @hallaxius/nvidia-nim-mcp
# or
bunx @hallaxius/nvidia-nim-mcp

Quick Setup

The fastest way to get started — configure your API key once and forget it:

# Configure your key (one-time)
bunx @hallaxius/nvidia-nim-mcp setup "nvapi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Or run interactively (it will prompt for the key)
bunx @hallaxius/nvidia-nim-mcp setup

# Start the MCP server
bunx @hallaxius/nvidia-nim-mcp

The key is saved to ~/.config/nvidia-nim-mcp/config.json. Environment variables still take priority when set.

Usage

1. Set your NVIDIA API Key

You can also configure the key via environment variable:

export NVIDIA_API_KEY=nvapi-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Supported aliases: NVIDIA_API_KEY, NIM_API_KEY, NVAPI_KEY.

Get your key: https://build.nvidia.com/explore/discover

2. Run the MCP Server

bunx @hallaxius/nvidia-nim-mcp

The server starts over stdio and registers 9 tools.

3. Configure Your AI Agent

See AGENTS.md for integration with:

Tools

Tool Description Default Model
nim_list_models List all available NIM model IDs —
nim_get_model_capabilities Get model type, vision, tools, context —
nim_chat_completion Chat completion with LLM z-ai/glm-5.2
nim_create_embeddings Generate text embeddings nvidia/nv-embed-v1
nim_rerank_passages Rank passages by query relevance nvidia/llama-3.2-nemoretriever-500m-rerank-v2
nim_vision_inference Multi-modal inference (text + images) meta/llama-3.2-90b-vision-instruct
nim_flux_generate_image Generate images via FLUX black-forest-labs/flux.1-schnell
nim_ocr_extract Extract text from images (OCR) nvidia/nemotron-ocr-v1
nim_safety_classify Classify text for safety meta/llama-guard-4-12b

Examples

List Available Models

// Agent code / MCP client usage
const models = await callTool("nim_list_models", {});
// Returns: "z-ai/glm-5.2\nmeta/llama-3.3-70b-instruct\n..."

Chat Completion

const result = await callTool("nim_chat_completion", {
  messages: [{ role: "user", content: "Explain quantum computing simply" }],
  model: "z-ai/glm-5.2",
  temperature: 0.7,
  max_tokens: 2048,
});
// Returns: { content: [{ type: "text", text: "..." }] }

Vision (VLM)

const result = await callTool("nim_vision_inference", {
  messages: [
    {
      role: "user",
      content: [
        { type: "text", text: "What is in this image?" },
        { type: "image_url", image_url: { url: "data:image/jpeg;base64,/9j/..." } },
      ],
    },
  ],
  model: "meta/llama-3.2-90b-vision-instruct",
});

Embeddings

const result = await callTool("nim_create_embeddings", {
  inputs: ["Hello world", "AI is amazing"],
  model: "nvidia/nv-embed-v1",
});
// Returns: { embeddings: [[...], [...]], model: "nvidia/nv-embed-v1", usage: {...} }

Reranking

const result = await callTool("nim_rerank_passages", {
  query: "What is the capital of France?",
  passages: ["Paris is the capital of France.", "Berlin is the capital of Germany.", "London is the capital of the UK."],
  model: "nvidia/llama-3.2-nemoretriever-500m-rerank-v2",
});
// Returns: { results: [{ index: 0, score: 0.95 }, ...] }

Image Generation (FLUX)

const result = await callTool("nim_flux_generate_image", {
  prompt: "A serene mountain landscape at sunset, digital art",
  width: 1024,
  height: 1024,
  model: "black-forest-labs/flux.1-schnell",
});
// Returns: { content: [{ type: "image", data: "<base64>", mimeType: "image/png" }] }

OCR

const result = await callTool("nim_ocr_extract", {
  image_path: "/absolute/path/to/screenshot.png",
  // or: image_base64: "<base64 string>"
  model: "nvidia/nemotron-ocr-v1",
});
// Returns: { text: "Extracted text...", detections: [{ text, confidence, bounding_box }] }

Safety Classification

const result = await callTool("nim_safety_classify", {
  text: "This is a harmless text.",
  model: "meta/llama-guard-4-12b",
});
// Returns: { safe: true, categories: {...}, explanation: "..." }

Development

Build

bun run build

Type-check

bun run typecheck

Dev mode (stdio server)

bun run dev

Refresh Model Capabilities

bun run refresh

This fetches the latest model catalog from NVIDIA and updates src/models/capabilities.json.

Supported Models

140+ models across families (sourced from build.nvidia.com/models):

Category Families
LLM Llama, Nemotron, DeepSeek, Qwen, GLM, Mistral, Mixtral, Gemma, Phi, GPT-OSS, MiniMax, Step, DiffusionGemma, SEED-OSS, Solar, Sarvam M, Stockmark
VLM Llama Vision, Nemotron VL, Phi-4 Multimodal, Cosmos, PaliGemma, MiniMax-M3, Ising Calibration
Embeddings NV-Embed, BGE-M3, Llama-Nemotron-Embed, ESM-2 (protein)
Rerank Llama-Nemotron-Rerank, Rerank-QA-Mistral
Image Gen FLUX.1 (dev, schnell), FLUX.2 Klein, Stable Diffusion 3.5, Qwen-Image
OCR & Document Nemotron OCR, Nemoretriever Parse/PAGE, PaddleOCR, NV-YOLOX
Safety Llama-Guard, Nemotron Safety, Nemoguard, GLiNER PII
Audio & Speech Whisper, Parakeet, Canary, Magpie TTS, Chatterbox TTS, Riva Translate, Studio Voice, Nemotron Voicechat
Biology & Science AlphaFold2, ESMFold, OpenFold2/3, Boltz-2, MolMIM, DiffDock, ProteinMPNN, RFDiffusion, Evo2, GenMol, VISTA-3D
Physics & Simulation CuOpt, FourCastNet, Simcenter STAR-CCM+, Fidelity, Fluent, Spectre-X
Autonomous Driving BEVFormer, SparseDrive, StreamPETR
3D & Vision TRELLIS, Relighting, EyeContact, Synthetic Video Detector

The catalog changes — run bun run refresh to update the local capability snapshot, or call nim_list_models at runtime for the latest list.

See https://build.nvidia.com/models for the full catalog.

License

MIT © 2026 @hallaxius

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured