Skip to content

Add MCP tool integration to customization guide#135

Merged
AjayThorve merged 5 commits intoNVIDIA-AI-Blueprints:developfrom
PicoNVIDIA:pmoorhead/add-mcp-customization-guide
Mar 12, 2026
Merged

Add MCP tool integration to customization guide#135
AjayThorve merged 5 commits intoNVIDIA-AI-Blueprints:developfrom
PicoNVIDIA:pmoorhead/add-mcp-customization-guide

Conversation

@PicoNVIDIA
Copy link
Contributor

@PicoNVIDIA PicoNVIDIA commented Mar 11, 2026

Summary

  • Add docs/source/customization/mcp-tools.md documenting how to add external tools through MCP
  • Add example config configs/config_web_frag_mcp.yml showing MCP tool integration with the deep researcher
  • Add MCP link to the customization index page

Covers non-authenticated MCP tools via mcp_tool_wrapper and mcp_client. Notes that authenticated MCP (OAuth2 pass-through) and UI support for MCP tools are planned for future releases.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Mar 11, 2026

Greptile Summary

This PR adds MCP (Model Context Protocol) tool integration to the AIQ Blueprint customization guide, introducing a new documentation page (mcp-tools.md), a working example config (configs/config_web_frag_mcp.yml), and an index entry. The changes are well-structured and the config correctly addresses issues from earlier review rounds (using max_tool_iterations and keeping paper_search_tool commented out). A few documentation accuracy issues remain:

  • The Step 2 tutorial snippet in mcp-tools.md explicitly lists paper_search_tool in agent tool lists without any comment noting it is optional and requires SERPER_API_KEY — copy-pasting the snippet as-is will produce a runtime error for users who have not defined that function.
  • The mcp_client section (line 106) claims all discovered tools become available via the function group name in agents' tools lists, but this may be inaccurate — individual tool names from the MCP server are typically what must be referenced, not the group name.
  • The clarifier_agent is wired up with the MCP tool in the example config but is omitted from the Step 2 documentation snippet, creating an inconsistency between the guide and the reference config.

Confidence Score: 3/5

  • The config changes are safe; the documentation has a few accuracy gaps that could mislead users into broken configurations.
  • The config file correctly incorporates feedback from previous review rounds and is functionally sound. However, the documentation page contains a snippet that references paper_search_tool without qualification, a potentially inaccurate description of how mcp_client group names are used in agents' tool lists, and an omission of clarifier_agent from the step-by-step guide. These are documentation issues that could cause user-facing errors if followed literally.
  • docs/source/customization/mcp-tools.md — Step 2 snippet and mcp_client section need accuracy review before publication.

Important Files Changed

Filename Overview
configs/config_web_frag_mcp.yml New example config extending config_web_frag.yml with an MCP tool via mcp_tool_wrapper; paper_search_tool is correctly kept commented out, and max_tool_iterations is correctly set on shallow_research_agent.
docs/source/customization/mcp-tools.md New documentation for MCP tool integration; Step 2 snippet references paper_search_tool without noting its optional/gated nature, mcp_client group-name referencing description may be inaccurate, and clarifier_agent is missing from the Step 2 example.
docs/source/customization/index.md Adds a link to the new mcp-tools.md page in the customization index; straightforward and correctly placed.

Sequence Diagram

sequenceDiagram
    participant User
    participant DeepResearcher as Deep Researcher Agent
    participant IntentClassifier as Intent Classifier
    participant MCPToolWrapper as mcp_tool_wrapper
    participant MCPServer as External MCP Server

    User->>DeepResearcher: Research query
    DeepResearcher->>IntentClassifier: Route query to appropriate tools
    IntentClassifier-->>DeepResearcher: Selected tools (incl. mcp_financial_data)
    DeepResearcher->>MCPToolWrapper: Invoke mcp_financial_data tool
    MCPToolWrapper->>MCPServer: HTTP/SSE request (get_financial_data)
    MCPServer-->>MCPToolWrapper: Tool response (financial data)
    MCPToolWrapper-->>DeepResearcher: Parsed tool result
    DeepResearcher-->>User: Research response with financial data
Loading

Comments Outside Diff (3)

  1. docs/source/customization/mcp-tools.md, line 48-71 (link)

    paper_search_tool referenced in Step 2 snippet without prerequisite note

    The Step 2 code block references paper_search_tool in both the intent_classifier and deep_research_agent tool lists — but paper_search_tool is commented out by default (it requires SERPER_API_KEY). If a reader copies this snippet as written, they will reference an undefined function and get a startup error.

    The actual example config (configs/config_web_frag_mcp.yml) correctly keeps paper_search_tool commented out in both agent tool lists. The tutorial snippet should match that pattern or at minimum add a comment noting the dependency:

      intent_classifier:
        _type: intent_classifier
        tools:
          - web_search_tool
          # - paper_search_tool  # Uncomment if SERPER_API_KEY is set and function is defined
          - knowledge_search
          - mcp_financial_data
    
      ...
    
      deep_research_agent:
        _type: deep_research_agent
        tools:
          # - paper_search_tool  # Uncomment if SERPER_API_KEY is set and function is defined
          - advanced_web_search_tool
          - knowledge_search
          - mcp_financial_data
  2. docs/source/customization/mcp-tools.md, line 106 (link)

    Potentially inaccurate description of mcp_client tool referencing

    The sentence states: "All tools served by that MCP server become available using the function group name (financial_tools) in the agents' tools lists."

    This implies agents would write - financial_tools in their tools list to get access. However, with mcp_client, tools from the MCP server are typically registered under their individual tool names (as reported by the MCP server), not under the function group name. A user following this guidance literally may be surprised to find that - financial_tools does not resolve to a usable tool.

    If the group name IS the correct handle to use in tools lists for mcp_client, a concrete example showing exactly that usage would prevent confusion:

      shallow_research_agent:
        _type: shallow_research_agent
        tools:
          - web_search_tool
          - financial_tools   # references the entire mcp_client group

    If instead each discovered tool must be referenced by its original MCP server name, this section should clearly state that and show an example.

  3. docs/source/customization/mcp-tools.md, line 43-45 (link)

    clarifier_agent absent from Step 2 snippet

    The example config (configs/config_web_frag_mcp.yml) also adds mcp_financial_data to the clarifier_agent tools list, but this agent is entirely omitted from the Step 2 tutorial snippet. A user following the guide to configure their own clarifier_agent may miss this and end up with an inconsistent setup where the clarifier cannot access the MCP tool while all other agents can.

    Consider adding the clarifier_agent block to the snippet for completeness.

Last reviewed commit: 0356dcd

AjayThorve
AjayThorve previously approved these changes Mar 12, 2026
Copy link
Collaborator

@AjayThorve AjayThorve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

AjayThorve
AjayThorve previously approved these changes Mar 12, 2026
Copy link
Collaborator

@AjayThorve AjayThorve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@AjayThorve
Copy link
Collaborator

AjayThorve commented Mar 12, 2026

@PicoNVIDIA nemotron-super needs to be set for the nemotron_llm_deep config, check other configs in the develop branch

- Add docs/source/customization/mcp-tools.md covering:
  - Adding MCP tools via mcp_tool_wrapper (no auth)
  - Wrapping multiple tools and dynamic discovery with mcp_client
  - Note that authenticated MCP (OAuth2) is not yet supported
  - UI limitations for MCP tools added via config
  - Prompt tuning guidance
  - MCP tool discovery commands
- Add MCP link to customization index
- Add example config: configs/config_web_frag_mcp.yml

Made-with: Cursor
…, comment out paper_search_tool to match base config pattern

Made-with: Cursor
@PicoNVIDIA PicoNVIDIA force-pushed the pmoorhead/add-mcp-customization-guide branch from 4a44c67 to 0356dcd Compare March 12, 2026 17:48
@AjayThorve AjayThorve merged commit d617c20 into NVIDIA-AI-Blueprints:develop Mar 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants