diff --git a/src/gui_2.py b/src/gui_2.py index 89f26cb8..e867087a 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -5875,7 +5875,7 @@ def render_external_tools_panel(app: App) -> None: imgui.table_next_column() imgui.text(tinfo.get('server', 'unknown')) imgui.table_next_column() - imgui.text(tinfo.get('description', '')) + imgui.text(ToolDefinition.from_dict(tinfo).description if isinstance(tinfo, dict) else tinfo.description) imgui.end_table() if app.perf_profiling_enabled: app.perf_monitor.end_component("_render_external_tools_panel") diff --git a/src/mcp_client.py b/src/mcp_client.py index 4b036319..cd1dfe1b 100644 --- a/src/mcp_client.py +++ b/src/mcp_client.py @@ -1965,9 +1965,11 @@ def get_tool_schemas() -> list[dict[str, Any]]: res = [t.to_dict() for t in mcp_tool_specs.get_tool_schemas()] manager = get_external_mcp_manager() for tname, tinfo in manager.get_all_tools().items(): + from src.type_aliases import ToolDefinition as _TD + td = _TD.from_dict(tinfo) if isinstance(tinfo, dict) else tinfo res.append({ 'name': tname, - 'description': tinfo.get('description', ''), + 'description': td.description, 'parameters': tinfo.get('inputSchema', {'type': 'object', 'properties': {}}) }) return res