nvidia-nat-mcp 1.4.0a20260109__py3-none-any.whl → 1.4.0a20260125__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -184,7 +184,11 @@ class MCPFrontEndPluginWorkerBase(ABC):
184
184
 
185
185
  # Register each function with MCP, passing SessionManager for observability
186
186
  for function_name, session_manager in session_managers.items():
187
- register_function_with_mcp(mcp, function_name, session_manager, self.memory_profiler)
187
+ register_function_with_mcp(mcp,
188
+ function_name,
189
+ session_manager,
190
+ self.memory_profiler,
191
+ function=functions.get(function_name))
188
192
 
189
193
  # Add a simple fallback function if no functions were found
190
194
  if not session_managers:
@@ -257,7 +257,8 @@ def get_function_description(function: FunctionBase) -> str:
257
257
  def register_function_with_mcp(mcp: FastMCP,
258
258
  function_name: str,
259
259
  session_manager: 'SessionManager',
260
- memory_profiler: 'MemoryProfiler | None' = None) -> None:
260
+ memory_profiler: 'MemoryProfiler | None' = None,
261
+ function: FunctionBase | None = None) -> None:
261
262
  """Register a NAT Function as an MCP tool using SessionManager.
262
263
 
263
264
  Each function is wrapped in a SessionManager
@@ -274,12 +275,15 @@ def register_function_with_mcp(mcp: FastMCP,
274
275
  # Get the workflow from the session manager
275
276
  workflow = session_manager.workflow
276
277
 
277
- # Get the input schema from the workflow
278
- input_schema = workflow.input_schema
278
+ # Prefer the function's schema/description when available, fall back to workflow
279
+ target_function = function or workflow
280
+
281
+ # Get the input schema from the most specific object available
282
+ input_schema = getattr(target_function, "input_schema", workflow.input_schema)
279
283
  logger.info("Function %s has input schema: %s", function_name, input_schema)
280
284
 
281
285
  # Get function description
282
- function_description = get_function_description(workflow)
286
+ function_description = get_function_description(target_function)
283
287
 
284
288
  # Create and register the wrapper function with MCP
285
289
  wrapper_func = create_function_wrapper(function_name, session_manager, input_schema, memory_profiler)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nvidia-nat-mcp
3
- Version: 1.4.0a20260109
3
+ Version: 1.4.0a20260125
4
4
  Summary: Subpackage for MCP client integration in NeMo Agent toolkit
5
5
  Author: NVIDIA Corporation
6
6
  Maintainer: NVIDIA Corporation
@@ -16,8 +16,8 @@ Requires-Python: <3.14,>=3.11
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE-3rd-party.txt
18
18
  License-File: LICENSE.md
19
- Requires-Dist: nvidia-nat==v1.4.0a20260109
20
- Requires-Dist: aiorwlock~=1.5.0
19
+ Requires-Dist: nvidia-nat==v1.4.0a20260125
20
+ Requires-Dist: aiorwlock~=1.5
21
21
  Requires-Dist: mcp~=1.25
22
22
  Dynamic: license-file
23
23
 
@@ -23,15 +23,15 @@ nat/plugins/mcp/client/client_impl.py,sha256=dygcLnhnWnMh7u45aLvYbGEP1uv02uSb886
23
23
  nat/plugins/mcp/server/__init__.py,sha256=Ioza5tZX7qlOicklSVbhcXO3r7EjRLENvV5AtBSusAQ,723
24
24
  nat/plugins/mcp/server/front_end_config.py,sha256=yFmEMKcz_ANJnef4Zu4dwGtnfNZ0uzVdc_dYYCLmgCg,5749
25
25
  nat/plugins/mcp/server/front_end_plugin.py,sha256=WAqgYFHAswUK1WKk_PIUo6Lyf0pvJLelT3esHhmIHFM,6896
26
- nat/plugins/mcp/server/front_end_plugin_worker.py,sha256=OBk1sMjH_1coBXj3dYXNWyoK4wofVQERt3_0gLscP4I,17992
26
+ nat/plugins/mcp/server/front_end_plugin_worker.py,sha256=2_PQ938IbYKFKDsmDw6rcgBWHZdbxZetUopU4Ik1FDQ,18187
27
27
  nat/plugins/mcp/server/introspection_token_verifier.py,sha256=oyhZkCTo6u3w7m469DicF57BNmhTPLcMYtWuHvcCsRg,2840
28
28
  nat/plugins/mcp/server/memory_profiler.py,sha256=KjJw4ARSmEFult2MorFySiucog0bD8ClI9ZbkJhIwns,12816
29
29
  nat/plugins/mcp/server/register_frontend.py,sha256=gfHfQaQ4NhkZkDSrFur1bxbG93kbAGBtumm4eKYOzKE,1178
30
- nat/plugins/mcp/server/tool_converter.py,sha256=Y-3Cr8jNrRjQFFFmmILIeUI6kO3C_CUpCZ2k9NJnJdk,11339
31
- nvidia_nat_mcp-1.4.0a20260109.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
32
- nvidia_nat_mcp-1.4.0a20260109.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
33
- nvidia_nat_mcp-1.4.0a20260109.dist-info/METADATA,sha256=jdQxP0wcXrbE6hEQUvWSC--AE2_rFIunpFkK2z7TArA,2326
34
- nvidia_nat_mcp-1.4.0a20260109.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
35
- nvidia_nat_mcp-1.4.0a20260109.dist-info/entry_points.txt,sha256=t5HYRfXR-dyZf6BWRz1u1TqPprKpCWt-WLHKQXfiLLU,231
36
- nvidia_nat_mcp-1.4.0a20260109.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
37
- nvidia_nat_mcp-1.4.0a20260109.dist-info/RECORD,,
30
+ nat/plugins/mcp/server/tool_converter.py,sha256=v35IILT5S2jE7ZTYQzm8-4CMu5Xa21BACeRP1MS1vzA,11608
31
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/licenses/LICENSE-3rd-party.txt,sha256=fOk5jMmCX9YoKWyYzTtfgl-SUy477audFC5hNY4oP7Q,284609
32
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/licenses/LICENSE.md,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
33
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/METADATA,sha256=i3_5ji_Q4TvgIjZA7_i0L2Spm95EJKxTARJAX7QMKyM,2324
34
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
35
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/entry_points.txt,sha256=t5HYRfXR-dyZf6BWRz1u1TqPprKpCWt-WLHKQXfiLLU,231
36
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
37
+ nvidia_nat_mcp-1.4.0a20260125.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5