Skip to content

MCP tool wrappers for introspection commands (depends on #69) #84

@tonydspaniard

Description

@tonydspaniard

Follow-up to #71. Depends on #69 (`univeros/mcp`).

#71 ships introspection as CLI commands with `--format=json` for machine consumption. Once `univeros/mcp` lands (#69), wrap each command as a first-class MCP tool so agents can call them without shelling out.

Tool list

MCP tool Wraps Purpose
`framework__container_inspect` `container:inspect` Aliases, shares, delegates, parameter definitions
`framework__routes_list` `routes:list` Every registered route + spec path
`framework__route_show` `routes:show` One route's details
`framework__listeners_list` `listeners:list` PSR-14 listeners by event name
`framework__listener_show` `listeners:show` Listeners for one event (priority-sorted)
`framework__middleware_list` `middleware:list` Relay pipeline at boot
`framework__manifest_diff` `manifest:diff` What's stale in `.agent/`
`framework__spec_list` / `framework__spec_show` `spec:list` / `spec:show` YAML specs
`framework__config_dump` `config:dump --no-secrets` Merged env + container parameters, secrets masked

Acceptance criteria

  • Each tool's JSON schema matches its CLI `--format=json` output
  • Tools are read-only (no `writes` flag set on the tool descriptor)
  • `config_dump` defaults to `--no-secrets` at the MCP boundary (can never leak full secrets even if the caller forgets the flag)
  • Tests: invoke each tool through the MCP harness and assert the response shape

Why deferred

`univeros/mcp` (#69) hasn't landed yet. Once it does, this is a small mechanical wrapping job.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions