Automate registering functions in a python package as MCP tools.
Scoring was not performed
Parameter descriptions missing entirely. Schema declares parameters ('package_name', 'mcp_instance', 'func_filter', 'class_filter') with type and brief text, but the input schema for both tools lacks individual parameter descriptions explaining constraints, expected formats, or validation rules. The 'class_wrapper' parameter is typed as 'object' with minimal guidance on what callable signature it should have.
Tool descriptions are under 50 characters and lack LLM-optimization. 'Registers all functions from a package as MCP functions.' (54 chars) does not explain WHEN to use this tool, WHAT will happen as a side effect, or what the expected output structure is. Baseline for A+ tools is 194 chars average (p10=34, p90=392). These descriptions are at minimum baseline and provide no guidance on tool selection or next steps.
No output schema documented. Neither tool specifies what is returned after functions/classes are registered. Do they return a list of registered tool names? The MCP instance? A status object? LLMs cannot plan downstream behavior without knowing output structure. This violates the schema documentation requirement.
Parameter type 'object' is too vague. The 'mcp_instance' parameter is typed as 'object' but should specify it accepts a FastMCP instance with documented constructor or interface. The 'class_wrapper' parameter accepts a 'callable' (typed as object) but does not document its signature: what are input/output types? Does it receive a class or an instance? What should it return?
Array parameter types lack element descriptions. 'func_filter' and 'class_filter' are typed as arrays but the schema does not specify element type (string assumed but not explicit) or validation rules (min/max length? regex pattern for names?). This forces LLMs to guess at format.
No error handling guidance. The implementation silently skips modules that cannot be imported ('except ImportError: continue') and functions not in the specified module. These failures are not surfaced to the LLM as actionable errors, the tool should return a report of successes/failures or warnings about skipped items.
Architectural concern: This server is a meta-tool that registers OTHER tools at runtime, rather than exposing domain functionality. An MCP server should provide stable, pre-registered tool definitions that clients can discover upfront. Runtime registration violates the tool discovery contract, clients expect a static tool list, not dynamic tool creation triggered by tool calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |