MCPcopy Index your code
hub / github.com/NVIDIA/NeMo-Agent-Toolkit

github.com/NVIDIA/NeMo-Agent-Toolkit @v1.8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.8.0 ↗ · + Follow
17,239 symbols 74,296 edges 1,630 files 10,332 documented · 60%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

NVIDIA NeMo Agent Toolkit

NVIDIA NeMo Agent Toolkit

License: Apache 2.0 GitHub Release PyPI version GitHub issues GitHub pull requests GitHub Repo stars GitHub forks Ask DeepWiki Open in Colab

NVIDIA NeMo Agent Toolkit adds intelligence to AI agents across any framework—enhancing speed, accuracy, and decision-making through enterprise-grade instrumentation, observability, and continuous learning.

🔥 New Features

  • AI Coding Agent Skills: Use focused NeMo Agent Toolkit skills to give coding agents task-specific guidance for building, evaluating, optimizing, and observing workflows.
  • Dynamo Runtime Intelligence: (experimental) Automatically infer per-request latency sensitivity from agent profiles and apply runtime hints for cache control, load-aware routing, and priority-aware serving.
  • Agent Performance Primitives (APP): Introduce framework-agnostic performance primitives that accelerate graph-based agent frameworks such as LangChain, CrewAI, and Agno with parallel execution, speculative branching, and node-level priority routing.
  • Public Plugin API for Third-Party Tools: Build provider-managed integrations against the public NeMo Agent Toolkit plugin API instead of framework-specific internal packages. Thank you to the maintainers of externally managed plugins including NeMo-Agent-Toolkit-Tavily, NeMo-Agent-Toolkit-Redis, and NeMo-Agent-Toolkit-ATR. This new workflow is intended to help third-party package maintainers bring their integrations into NeMo Agent Toolkit workflows more quickly. Note that these third-party packages are managed outside the NeMo Agent Toolkit repository and may release, change, or run CI on schedules independent of NeMo Agent Toolkit.
  • LangSmith Native Integration: Observe end-to-end agent execution with native LangSmith tracing, run evaluation experiments, compare outcomes, and manage prompt versions across development and production workflows.
  • FastMCP Workflow Publishing: Publish NeMo Agent Toolkit workflows as MCP servers using the FastMCP server runtime to simplify MCP-native deployment and integration.
  • Migration notice: 1.5.0 simplifies package installation and dependency management. See the Migration Guide.

✨ Key Features

  • 🛠️ Building Agents: Accelerate your agent development with tools that make it easier to get your agent into production.
  • 🧩 Framework Agnostic: Work side-by-side with agentic frameworks to add the instrumentation necessary for observing, profiling, and optimizing your agents. Use the toolkit with popular frameworks such as LangChain, LlamaIndex, CrewAI, Microsoft Semantic Kernel, and Google ADK, as well as custom enterprise agentic frameworks and simple Python agents.
  • 🔁 Reusability: Build components once and use them multiple times to maximize the value from development effort.
  • Customization: Start with a pre-built agent, tool, or workflow, and customize it to your needs.
  • 💬 Built-In User Interface: Use the NeMo Agent Toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
  • 📈 Agent Insights: Utilize NeMo Agent Toolkit instrumentation to better understand how your agents function at runtime.
  • 📊 Profiling: Profile entire workflows from the agent level all the way down to individual tokens to identify bottlenecks, analyze token efficiency, and guide developers in optimizing their agents.
  • 🔎 Observability: Track performance, trace execution flows, and gain insights into your agent behaviors in production.
  • 🚀 Agent Optimization: Improve your agent's quality, accuracy, and performance with a suite of tools for all phases of the agent lifecycle.
  • 🧪 Evaluation System: Validate and maintain accuracy of agentic workflows with a suite of tools for offline evaluation.
  • 🎯 Hyper-Parameter and Prompt Optimizer: Automatically identify the best configuration and prompts to ensure you are getting the most out of your agent.
  • 🧠 Fine-tuning with Reinforcement Learning: Fine-tune LLMs specifically for your agent and train intrinsic information about your workflow directly into the model.
  • NVIDIA Dynamo Integration: (experimental) Use Dynamo and NeMo Agent Toolkit together to improve agent performance at scale.
  • ⚙️ Agent Performance Primitives (APP): Accelerate graph-based agent frameworks such as LangChain, CrewAI, and Agno with parallel execution, speculative branching, and node-level priority routing.
  • 🔌 Protocol Support: Integrate with common protocols used to build agents.
  • 🔗 Model Context Protocol (MCP): Integrate MCP tools into your agents or serve your tools and agents as an MCP server for others to consume.
  • 🤝 Agent-to-Agent (A2A) Protocol: Build teams of distributed agents with full support for authentication.

With NeMo Agent Toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.

🚀 Installation

Before you begin using NeMo Agent Toolkit, ensure that you have Python 3.11, 3.12, or 3.13 installed on your system.

[!NOTE] For users who want to run the examples, it's required to clone the repository and install from source to get the necessary files required to run the examples. Please refer to the Examples documentation for more information.

To install the latest stable version of NeMo Agent Toolkit from PyPI, run the following command:

pip install nvidia-nat

NeMo Agent Toolkit has many optional dependencies that can be installed with the core package. Optional dependencies are grouped by framework. For example, to install the LangChain/LangGraph plugin, run the following:

pip install "nvidia-nat[langchain]"

Detailed installation instructions, including the full list of optional dependencies and their conflicts, can be found in the Installation Guide.

🌟 Hello World Example

Before getting started, it's possible to run this simple workflow and many other examples in Google Colab with no setup. Click here to open the introduction notebook: Open in Colab.

  1. Ensure you have set the NVIDIA_API_KEY environment variable to allow the example to use NVIDIA NIMs. An API key can be obtained by visiting build.nvidia.com and creating an account.

bash export NVIDIA_API_KEY=<your_api_key>

  1. Create the NeMo Agent Toolkit workflow configuration file. This file will define the agents, tools, and workflows that will be used in the example. Save the following as workflow.yml:

```yaml functions: # Add a tool to search wikipedia wikipedia_search: _type: wiki_search max_results: 2

llms: # Tell NeMo Agent Toolkit which LLM to use for the agent nim_llm: _type: nim model_name: nvidia/nemotron-3-nano-30b-a3b temperature: 0.0 chat_template_kwargs: enable_thinking: false

workflow: # Use an agent that 'reasons' and 'acts' _type: react_agent # Give it access to our wikipedia search tool tool_names: [wikipedia_search] # Tell it which LLM to use llm_name: nim_llm # Make it verbose verbose: true # Retry up to 3 times parse_agent_response_max_retries: 3 ```

  1. Run the Hello World example using the nat CLI and the workflow.yml file.

bash nat run --config_file workflow.yml --input "List five subspecies of Aardvarks"

This will run the workflow and output the results to the console.

console Workflow Result: ['Here are five subspecies of Aardvarks:\n\n1. Orycteropus afer afer (Southern aardvark)\n2. O. a. adametzi Grote, 1921 (Western aardvark)\n3. O. a. aethiopicus Sundevall, 1843\n4. O. a. angolensis Zukowsky & Haltenorth, 1957\n5. O. a. erikssoni Lönnberg, 1906']

📚 Additional Resources

🛣️ Roadmap

  • [x] Automatic Reinforcement Learning (RL) to fine-tune LLMs for a specific agent.
  • [x] Integration with NVIDIA Dynamo to reduce LLM latency at scale.
  • [x] Improve agent throughput with KV-Cache optimization.
  • [ ] Improved, standalone evaluation harness and migration to ATIF for trajectory format.
  • [ ] Support for additional programming languages (TypeScript, Rust, Go, WASM) with compiled libraries.
  • [ ] Phasing out wrapping architecture to ease onboarding for more agents.
  • [ ] Support for adding skills and sandboxes to existing agents.
  • [ ] MCP authentication improvements.
  • [ ] Improved memory interface to support self-improving agents.

📊 Telemetry

The NeMo Agent Toolkit includes runtime telemetry hooks for the nat command-line tool to help guide improvements. Telemetry is best-effort and never blocks or fails a CLI invocation. Once you opt in (see below), events are sent to the shared NeMo Usage Telemetry ingest.

How consent works

The first time you run an interactive nat command, you'll see a one-time consent prompt explaining what is collected and asking whether to allow it. The prompt defaults to yes (pressing Enter accepts); type n to o

Core symbols most depended-on inside this repo

get
called by 1725
packages/nvidia_nat_core/src/nat/builder/context.py
items
called by 416
packages/nvidia_nat_core/src/nat/observability/utils/dict_utils.py
join
called by 349
packages/nvidia_nat_core/src/nat/utils/producer_consumer_queue.py
set
called by 245
packages/nvidia_nat_core/src/nat/llm/huggingface_llm.py
add_node
called by 219
packages/nvidia_nat_app/src/nat_app/graph/types.py
add
called by 216
packages/nvidia_nat_app/src/nat_app/graph/access.py
keys
called by 209
packages/nvidia_nat_core/src/nat/observability/utils/dict_utils.py
values
called by 171
packages/nvidia_nat_core/src/nat/observability/utils/dict_utils.py

Shape

Method 8,519
Function 5,256
Class 2,970
Route 494

Languages

Python100%

Modules by API surface

packages/nvidia_nat_core/tests/nat/observability/exporter/test_processing_exporter.py164 symbols
packages/nvidia_nat_core/tests/nat/builder/test_builder.py158 symbols
packages/nvidia_nat_opentelemetry/tests/observability/test_otlp_span_redaction_adapter_exporter.py136 symbols
packages/nvidia_nat_core/tests/nat/runtime/test_user_manager.py130 symbols
packages/nvidia_nat_langchain/tests/agent/test_react.py126 symbols
packages/nvidia_nat_core/tests/nat/runtime/test_session_manager.py125 symbols
packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_redaction_processor.py123 symbols
packages/nvidia_nat_core/tests/nat/builder/test_per_user_builder.py123 symbols
packages/nvidia_nat_core/src/nat/cli/type_registry.py120 symbols
packages/nvidia_nat_core/tests/nat/observability/test_exporter_manager.py113 symbols
packages/nvidia_nat_core/tests/nat/observability/processor/redaction/test_contextual_redaction_processor.py99 symbols
packages/nvidia_nat_core/tests/nat/observability/mixin/test_type_introspection_mixin.py98 symbols

Datastores touched

mydbDatabase · 1 repos

For agents

$ claude mcp add NeMo-Agent-Toolkit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact