MCPcopy Create free account
hub / github.com/IBM/mcp-cli / validate_single_tool

Method validate_single_tool

src/mcp_cli/tools/manager.py:1095–1121  ·  view source on GitHub ↗

Validate a single tool for LLM compatibility.

(
        self, tool_name: str, provider: str = "openai"
    )

Source from the content-addressed store, hash-verified

1093 return self.tool_filter.get_validation_summary()
1094
1095 async def validate_single_tool(
1096 self, tool_name: str, provider: str = "openai"
1097 ) -> tuple[bool, str | None]:
1098 """Validate a single tool for LLM compatibility."""
1099 try:
1100 tools = await self.get_all_tools()
1101 tool = next((t for t in tools if t.name == tool_name), None)
1102 if not tool:
1103 return False, f"Tool '{tool_name}' not found"
1104
1105 tool_dict = {
1106 "name": tool.name,
1107 "description": tool.description,
1108 "inputSchema": tool.parameters,
1109 }
1110
1111 valid_tools, invalid_tools = self.tool_filter.filter_tools(
1112 [tool_dict], provider=provider
1113 )
1114 if valid_tools:
1115 return True, None
1116 elif invalid_tools:
1117 return False, invalid_tools[0].get("error", "Unknown validation error")
1118 return False, "Tool validation failed"
1119
1120 except Exception as e:
1121 return False, str(e)
1122
1123 async def revalidate_tools(self, provider: str = "openai") -> dict[str, Any]:
1124 """Revalidate all tools and return summary."""

Calls 3

get_all_toolsMethod · 0.95
filter_toolsMethod · 0.80
getMethod · 0.45