aeat.entrypoints.mcp._tools module¶
Build the MCP tool descriptors from the Layer 0 capability manifest.
Each operator-callable registry command becomes one SDK-independent
McpToolDescriptor: a namespaced tool name, a description drawn from the
family’s operator intent, a per-verb input schema derived from the command’s own
click parameters (via build_verb_input_schemas()),
the command’s registered result model as the output schema, and the mutability
annotations. The server shell adapts these into the MCP SDK’s Tool /
ToolAnnotations types. This module owns no protocol detail and is unit-tested.
- class McpToolDescriptor(**data)[source]¶
Bases:
BaseModelSDK-independent description of one exposed MCP tool.
input_schemais the rendered per-verb JSON Schema a client reads to build a typed argument form;verb_schemais the structured source of that render plus the resolved CLI path, which the server consumes to reconstruct the argv from named arguments. The two are always in lock-step:input_schemais exactlyverb_schema.json_schema().- Parameters:
- name: str¶
- command_key: str¶
- description: str¶
- input_schema: dict[str, Any]¶
- output_schema: dict[str, Any]¶
- annotations: McpAnnotations¶
- verb_schema: VerbInputSchema¶
- build_tool_descriptors()[source]¶
Build the exposed MCP tool descriptors from the live manifest + registry.
Reuses the CLI’s own payload-discovery so the registry is fully populated, then emits one descriptor per operator-callable command key, skipping group-callback help surfaces. The output schema is the command’s registered result model; the input schema is the CLI argument vector.
- Return type:
- Returns:
Tuple of exposed
McpToolDescriptorentries.