mcpField
N
nvidia-nim-mcp

nvidia-nim-mcp

ローカル
github.com/david-eve-zaAI・エージェント110 週間前に更新

nvidia-nim-mcp について

nvidia-nim-mcpは、MCPクライアントからNVIDIA NIMモデルを利用するためのサーバーで、エージェントやアプリケーションの開発者を対象としています。言語、マルチモーダル、画像、埋め込み、再ランキングに加え、モデルの検索と比較も提供します。

主な機能

  1. 01チャットとテキスト生成
  2. 02埋め込みとパッセージの再ランキング
  3. 03画像生成と分析
  4. 04マルチモーダルタスクと関数呼び出し
  5. 05モデルメタデータの絞り込みと比較

活用シーン

  1. 01MCP対応エージェントでNIMモデルを利用
  2. 02テキストプロンプトから画像を生成
  3. 03埋め込みを作成し検索パッセージを順位付け
  4. 04機能やハードウェア条件からモデルを選定

MCP 対応

MCPサーバーは、NVIDIA NIMの推論操作とモデル検索ツールをMCPクライアントに公開します。利用にはNVIDIA APIキーが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"david-eve-za-nvidia-nim": {
"command": "npx",
"args": [
"-y",
"nvidia-nim-mcp"
],
"env": {
"NVIDIA_API_KEY": "<NVIDIA_API_KEY>",
"NVIDIA_NIM_BASE_URL": "<NVIDIA_NIM_BASE_URL>",
"NVIDIA_AI_FOUNDATION_URL": "<NVIDIA_AI_FOUNDATION_URL>",
"DEFAULT_MODEL": "<DEFAULT_MODEL>",
"ENABLE_IMAGE_GENERATION": "<ENABLE_IMAGE_GENERATION>",
"ENABLE_VISION": "<ENABLE_VISION>",
"ENABLE_MULTIMODAL": "<ENABLE_MULTIMODAL>"
}
}
}
}
起動コマンドnpx -y nvidia-nim-mcp
設定が必要な環境変数
NVIDIA_API_KEYシークレットYour NVIDIA API key for accessing NIM models. Get one at https://build.nvidia.com
NVIDIA_NIM_BASE_URLBase URL for self-hosted NIM endpoints
NVIDIA_AI_FOUNDATION_URLBase URL for NVIDIA AI Foundation Models (free tier available)
DEFAULT_MODELDefault model to use for chat/text generation
ENABLE_IMAGE_GENERATIONEnable image generation tools
ENABLE_VISIONEnable vision/image analysis tools
ENABLE_MULTIMODALEnable multimodal tools

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmnvidia-nim-mcp2.1.2

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
seedintegerいいえ
stopanyいいえ
modelstringいいえNIM モデル ID(任意。設定されていない場合はデフォルトを使用します)
top_pnumberいいえ
messagesarrayはい
max_tokensintegerいいえ
temperaturenumberいいえ
system_promptstringいいえ先頭に追加するシステムプロンプト

詳細

NVIDIA NIM MCP サーバー

NVIDIA NIM(NVIDIA Inference Microservices)モデルを利用する、本番環境対応の Model Context Protocol(MCP) サーバーです。50 以上の LLM、マルチモーダルモデル、画像生成、埋め込み、再ランキング、関数呼び出し、ビジョン、コード特化モデルに対応し、エージェントをインテリジェントに選択するための豊富なメタデータを備えています。


🚀 特長

  • 10 個の MCP ツール:チャット補完、テキスト生成、埋め込み、再ランキング、関数呼び出し、モデル一覧、モデル情報、画像生成、画像分析、マルチモーダルタスク、モデル比較
  • 50 以上の対応モデル:Llama 3.1/3.2、Nemotron 3 Ultra(550B)、MiniMax M3、Kimi K2.6(1T)、DeepSeek V4 Pro、GLM 5.1、Qwen 3.5 397B、Mistral Large 3(675B)、GPT-OSS 120B、DiffusionGemma、FLUX.1、SDXL、SD3 など
  • 豊富なモデルメタデータ:ライセンス、ハードウェア要件、ベンチマーク、画像生成の仕様、推論モード、エージェント選択用タグ
  • 高度なフィルタリング:商用利用、推論、ビジョン、関数呼び出し、マルチモーダル、コンテキスト長、タグ、ハードウェアによる絞り込み
  • 本番環境対応:指数バックオフによる自動再試行、分あたりのレート制限、構造化 JSON ログ
  • 型安全:TypeScript を全面的に使用し、各ツールの入力を Zod で検証
  • Docker 対応:非 root ユーザーとヘルスチェックを備えたマルチステージ Dockerfile
  • 設定可能:すべての設定を環境変数で指定
  • 必須環境変数は 1 つだけ:NVIDIA_API_KEY のみ必須で、その他はすべて適切なデフォルト値が設定されています

📋 前提条件

  • Node.js 18 以降(NPM でインストールする場合)、または Docker(コンテナでデプロイする場合)
  • NVIDIA NGC API キー(nvapi-...)

⚙️ インストール

オプション 1:NPM グローバルインストール(推奨)
# Install globally
npm install -g nvidia-nim-mcp

# Run directly
nvidia-nim-mcp
オプション 2:NPM ローカルインストール
# Initialize your project
npm init -y

# Install locally
npm install nvidia-nim-mcp

# Run with npx
npx nvidia-nim-mcp
オプション 3:ソースからインストール
# Clone / download the project
cd nvidia-nim-mcp

# Install dependencies
npm install

# Build TypeScript
npm run build
オプション 4:Docker
# Pull from Docker Hub (when published)
docker pull nvidia-nim-mcp

# Or build locally
docker build -t nvidia-nim-mcp .

🔑 設定

.env.example を .env にコピーし、API キーを入力します。

cp .env.example .env

必須なのは NVIDIA_API_KEY のみです。その他の変数には、本番環境ですぐに使えるデフォルト値が設定されています。

変数必須デフォルト説明
NVIDIA_API_KEY✅—NVIDIA NGC API キー
NVIDIA_NIM_BASE_URL❌https://integrate.api.nvidia.com/v1NIM API のベース URL
DEFAULT_MODEL❌black-forest-labs/flux.1-devデフォルトモデル(画像生成に最適)
MAX_REQUESTS_PER_MINUTE❌40レート制限の上限(NVIDIA API の制限)
MAX_TOKENS_PER_REQUEST❌4096リクエストあたりのトークン数の上限
REQUEST_TIMEOUT_MS❌120000リクエストのタイムアウト(ミリ秒)
MAX_RETRIES❌3失敗時の最大再試行回数
RETRY_DELAY_MS❌1000再試行間の基本待機時間(ミリ秒)
LOG_LEVEL❌infoerror|warn|info|debug
ENABLE_IMAGE_GENERATION❌true画像生成ツールを有効化
ENABLE_VISION❌trueビジョン/マルチモーダルツールを有効化
ENABLE_MULTIMODAL❌trueマルチモーダルタスクツールを有効化

🚀 実行

NPM グローバルインストール
# Run the server
nvidia-nim-mcp

# With custom environment variables
NVIDIA_API_KEY=nvapi-your-key LOG_LEVEL=debug nvidia-nim-mcp
NPM ローカルインストール
# Run with npx
npx nvidia-nim-mcp

# Or add to package.json scripts
# "scripts": { "start": "nvidia-nim-mcp" }
npm start
ソースから実行
# Development mode with auto-reload
npm run dev

# Production mode (compiled)
npm run build && npm start
Docker
# Run with environment variables
docker run --rm \
  -e NVIDIA_API_KEY=nvapi-your-key \
  -e LOG_LEVEL=info \
  nvidia-nim-mcp

# Run in background with port mapping (if needed)
docker run -d \
  --name nvidia-nim-mcp \
  -e NVIDIA_API_KEY=nvapi-your-key \
  nvidia-nim-mcp
スタンドアロン実行ファイル
# Make executable (if not already)
chmod +x dist/index.js

# Run directly
./dist/index.js

# With environment variables
NVIDIA_API_KEY=nvapi-your-key ./dist/index.js

🔧 MCP クライアントの設定

NPM グローバルインストールの場合
{
  "mcpServers": {
    "nvidia-nim": {
      "command": "nvidia-nim-mcp",
      "env": {
        "NVIDIA_API_KEY": "nvapi-your-key-here",
        "LOG_LEVEL": "info"
      }
    }
  }
}
NPM ローカルインストールの場合
{
  "mcpServers": {
    "nvidia-nim": {
      "command": "npx",
      "args": ["nvidia-nim-mcp"],
      "env": {
        "NVIDIA_API_KEY": "nvapi-your-key-here",
        "LOG_LEVEL": "info"
      }
    }
  }
}
実行ファイルのパスを直接指定する場合
{
  "mcpServers": {
    "nvidia-nim": {
      "command": "node",
      "args": ["/absolute/path/to/nvidia-nim-mcp/dist/index.js"],
      "env": {
        "NVIDIA_API_KEY": "nvapi-your-key-here",
        "LOG_LEVEL": "info"
      }
    }
  }
}

🛠️ 利用可能なツール

chat_completion

任意の NIM LLM を使った複数ターンの会話です。

{
  "model": "nvidia/nemotron-3-ultra-550b-a55b",
  "messages": [
    { "role": "user", "content": "Explain quantum computing" }
  ],
  "temperature": 0.3,
  "max_tokens": 4096
}
text_generation

単一プロンプトによるテキスト生成(簡易インターフェース)です。

{
  "prompt": "Write a haiku about machine learning",
  "temperature": 0.5,
  "max_tokens": 512
}
create_embeddings

RAG/検索用に、テキストをベクトル埋め込みに変換します。

{
  "model": "nvidia/nv-embed-v1",
  "input": ["NVIDIA makes GPUs", "AI runs on GPUs"],
  "truncate": "END"
}
rerank_passages

クエリとの関連性に基づいて、文章の順位を付け直します。

{
  "query": "What is CUDA?",
  "passages": ["CUDA is a GPU programming platform", "NIM serves AI models"],
  "top_k": 3
}
function_calling

ツール/関数呼び出しに対応した NIM モデルを使用します。

{
  "model": "z-ai/glm-5.1",
  "messages": [{ "role": "user", "content": "What's the weather in Paris?" }],
  "tools": [{
    "type": "function",
    "function": {
      "name": "get_weather",
      "description": "Get current weather",
      "parameters": {
        "type": "object",
        "properties": { "city": { "type": "string" } },
        "required": ["city"]
      }
    }
  }]
}
generate_image

FLUX.1、SDXL、SD3、DiffusionGemma を使って、テキストプロンプトから画像を生成します。

{
  "model": "black-forest-labs/flux.1-dev",
  "prompt": "A photorealistic mountain landscape at sunset, 8K",
  "width": 1024,
  "height": 1024,
  "steps": 30,
  "cfg_scale": 3.5,
  "sampler": "euler_a",
  "scheduler": "simple"
}
analyze_image

ビジョン/マルチモーダルモデルを使って、画像を分析し、その内容を説明します。

{
  "model": "moonshotai/kimi-k2.6",
  "image_url": "https://example.com/image.jpg",
  "prompt": "Describe this image in detail",
  "detail": "high"
}
multimodal_task

テキストと画像を組み合わせたマルチモーダルタスクを実行します。

{
  "model": "minimaxai/minimax-m3",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Analyze this chart" },
        { "type": "image_url", "image_url": { "url": "https://example.com/chart.png" } }
      ]
    }
  ],
  "max_tokens": 2048
}
list_models

豊富なメタデータと高度なフィルタリング機能を使用して、利用可能なモデルを一覧表示します。

{
  "category": "code",
  "commercial_use": true,
  "supports_reasoning": true,
  "tags": ["coding", "agentic"],
  "include_details": true
}

フィルターオプション:

  • category:language、embedding、reranking、vision、code、multimodal、image_generation、all
  • commercial_use:商用ライセンスでフィルタリングします
  • supports_reasoning:推論機能でフィルタリングします
  • supports_vision:視覚機能でフィルタリングします
  • supports_function_calling:関数呼び出し機能でフィルタリングします
  • supports_multimodal:マルチモーダル入力でフィルタリングします
  • min_context_length:コンテキストウィンドウの最小値(トークン数)
  • tags:ユースケースのタグでフィルタリングします
  • hardware:GPU の種類(Hopper、Blackwell、Ampere)でフィルタリングします
  • include_details:完全なメタデータ(ベンチマーク、画像仕様など)を含めます
get_model_info

特定のモデルの完全なメタデータを取得します。

{ "model_id": "nvidia/nemotron-3-ultra-550b-a55b" }

返される情報: ライセンス、ハードウェア要件、ベンチマーク、画像生成の仕様、推論モード、タグ、対応言語など。

compare_models

2~5 個のモデルを、あらゆる選定要素について並べて比較します。

{
  "model_ids": [
    "nvidia/nemotron-3-ultra-550b-a55b",
    "deepseek-ai/deepseek-v4-pro",
    "moonshotai/kimi-k2.6",
    "z-ai/glm-5.1"
  ]
}

返される情報: ライセンス、ハードウェア、ベンチマーク、機能、タグ、画像生成の仕様などを含む構造化された比較表。


📦 対応モデル(50 以上)

言語モデル(最先端の推論)
モデルパラメーター数コンテキストライセンス商用利用最適な用途
nvidia/nemotron-3-ultra-550b-a55b550B(アクティブ 55B)131KOpenMDW-1.1✅最先端の推論、コーディング、エージェント型タスク、1M コンテキスト、多言語
nvidia/nemotron-3-ultra-550b-a55b-instruct550B131KOpenMDW-1.1✅指示チューニング済みのバリアント
minimaxai/minimax-m3428B(アクティブ 22B)1MNon-Commercial❌マルチモーダル、動画(30 分)、8 時間のコーディング、エージェント型タスク
moonshotai/kimi-k2.61T(アクティブ 32B)256KModified MIT✅長期的なコーディング、300 エージェント、視覚、エージェント型タスク
deepseek-ai/deepseek-v4-pro1.6T(アクティブ 49B)1MMIT✅高度なコーディング、数学、推論、3 種類の推論モード
z-ai/glm-5.1754B(DSA)131KMIT✅ソフトウェアエンジニアリング、エージェント型タスク、SWE-Bench 58.4%
qwen/qwen3.5-397b-a17b397B(MoE)131KResearch❌大規模な多言語処理、マルチモーダル
mistralai/mistral-large-3-675b-instruct-2512675B131KResearch❌最先端の推論、マルチモーダル
openai/gpt-oss-120b120B131KApache 2.0✅オープンウェイト、研究、ファインチューニング
google/diffusiongemma-26b-a4b-it25.2B(アクティブ 3.8B)256KApache 2.0✅拡散モデルによるテキスト生成、35 以上の言語、高速、マルチモーダル
コード特化モデル
モデルパラメーター数コンテキストライセンス商用利用
z-ai/glm-5.1754B131KMIT✅
z-ai/glm5-128KZ.ai✅
qwen/qwen2.5-coder-32b-instruct32B131KResearch❌
マルチモーダル/視覚モデル
モデルパラメーター数コンテキスト視覚動画ライセンス商用利用
meta/llama-3.2-90b-vision-instruct90B128K✅❌Llama 3.2✅
meta/llama-3.2-11b-vision-instruct11B128K✅❌Llama 3.2✅
nvidia/neva-22b22B4K✅❌NVIDIA✅
microsoft/phi-3.5-vision-instruct-128K✅❌MIT✅
minimaxai/minimax-m3428B1M✅✅(30 分)Non-Commercial❌
moonshotai/kimi-k2.61T256K✅✅Modified MIT✅
画像生成モデル
モデルアーキテクチャ解像度アスペクト比最大画像数ControlNetライセンス商用利用
black-forest-labs/flux.1-devDiffusion Transformer1024², 1152×896, 1344×768, 21:91:1, 16:9, 9:16, 4:3, 3:4, 21:91Canny, DepthApache 2.0*❌*
black-forest-labs/flux.1-kontext-devDiffusion Transformer同上同上1-Apache 2.0*❌*
nvidia/stable-diffusion-xlUNet + Attention1024², 1152×896, 1216×8321:1, 16:9, 9:16, 4:3, 3:44-SDXL 1.0✅**
stabilityai/sd-3-mediumSD3同上同上2-Stability AI✅**
nvidia/sdxl-turboADD512², 1024²1:14-SDXL 1.0✅**

*デフォルトでは非商用です。商用利用についてはお問い合わせください
**Stability AI のメンバーシップが必要です

埋め込みと再ランキング
モデルタイプコンテキスト次元ライセンス商用利用
nvidia/nv-embedqa-e5-v5埋め込み512-NVIDIA✅
nvidia/nv-embed-v1埋め込み4096-NVIDIA✅
baai/bge-m3埋め込み8192-MIT✅
nvidia/nv-rerankqa-mistral-4b-v3再ランキング4096-NVIDIA✅

🏭 本番環境チェックリスト

  • 起動時の環境変数の検証
  • 指数バックオフによる再試行(設定可能)
  • 1 分あたりのレート制限
  • Winston によるリクエスト/レスポンスのログ記録
  • 本番環境での構造化 JSON ログ
  • すべてのツールでの Zod 入力検証
  • グレースフルシャットダウン(SIGINT/SIGTERM)
  • 未処理の例外/拒否を処理するハンドラー
  • Docker マルチステージビルド(最小イメージ)
  • Docker の非 root ユーザー
  • トークン上限の適用
  • 必須環境変数は 1 つのみ(NVIDIA_API_KEY)
  • オプション機能用の機能フラグ

🧪 テスト

このプロジェクトには、包括的なテストスイートが含まれています。

  • ユニットテスト:設定、ログ記録、モデル処理、ツールの検証
  • 統合テスト:さまざまな入力シナリオでの 10 個すべての MCP ツール
  • エラー処理:エッジケースと障害モードの検証
  • スキーマ検証:すべてのツールの Zod ベースの入力検証
テストの実行
# Run all tests
npm test

# Run tests with coverage report
npm test -- --coverage

# Run tests in watch mode
npm test -- --watch

# Run specific test file
npm test src/handlers.test.ts

現在のテスト状況:✅ すべてのテストに合格しています(96 件)


🛠️ 開発

プロジェクトのビルド
# Install dependencies
npm install

# Compile TypeScript to JavaScript
npm run build

# Clean build artifacts
npm run clean

# Development mode with auto-reload
npm run dev
コード品質
# Run linter
npm run lint

# Run tests
npm test

# Run both linting and tests
npm run check

🤝 コントリビューション

コントリビューションを歓迎します!

  1. リポジトリをフォークする
  2. 機能ブランチを作成する:git checkout -b feature/your-feature-name
  3. 変更を加える:既存のコードスタイルとパターンに従ってください
  4. テストを追加する:新しい機能が適切にテストされていることを確認してください
  5. チェックを実行する:npm run check を実行して、コード品質とテストを確認します
  6. 変更をコミットする:明確で説明的なコミットメッセージを使用してください
  7. フォークにプッシュする:git push origin feature/your-feature-name
  8. プルリクエストを作成する:変更内容とその利点を説明してください
コード標準
  • TypeScript:厳格な型チェックを有効化
  • ESLint:コードのフォーマットとベストプラクティス
  • Zod:すべての外部入力の実行時検証
  • テスト:新機能を包括的にテスト
  • ドキュメント:ユーザー向けの変更に合わせて README.md を更新
開発ワークフロー
  1. セットアップ:インストール手順に従います
  2. 開発:npm run dev を使用して継続的に開発します
  3. テスト:npm test を実行して変更を確認します
  4. ビルド:npm run build を使用してプロジェクトをコンパイルします
  5. Lint:npm run lint を実行してコード品質を確認します

📦 パッケージ化と配布

NPM パッケージ
  • 簡単にインストールできるよう、npm レジストリで公開
  • コンパイル済み JavaScript と TypeScript 定義を同梱
  • グローバルおよびローカルのインストールに対応
  • 標準的な CLI ツールとして実行
Docker イメージ
  • イメージサイズを最小限に抑えるマルチステージビルド
  • セキュリティのため、非 root ユーザーとして実行
  • ヘルスチェックエンドポイントを同梱
  • コンテナ化環境に簡単にデプロイ可能
単体実行ファイル
  • shebang を含む自己完結型の JavaScript ファイルです
  • Node.js がインストールされているシステムであれば、どのシステムでも直接実行できます
  • Node.js 以外のインストールは不要です
パッケージのビルド
# Build the project
npm run build

# Create NPM package (.tgz)
npm pack

# Build Docker image
docker build -t nvidia-nim-mcp .

# All checks (lint, test, build)
npm run check && npm run build

📄 ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。