Skip to content

v3 MCP page: implement install/uninstall/config (ADR-0013 mcp_client.py) #305

@thinmintdev

Description

@thinmintdev

PR #304 closed #206 by wiring the v3 dashboard MCP page to read-only /api/mcp/* introspection routes. The lifecycle mutations were intentionally stubbed with 501 mcp.not_implemented:

  • POST /api/mcp/install
  • DELETE /api/mcp/{id}
  • POST /api/mcp/{id}/{action} (start / stop / restart)
  • PATCH /api/mcp/{id}/config

This issue tracks landing the real implementations as part of ADR-0013's mcp_client.py allow-list work. Acceptance:

  • POST /api/mcp/install spawns the supervisor entry, writes config, returns {id, state: "installing"} and emits SSE progress frames
  • DELETE /api/mcp/{id} removes the supervisor + config + binary cache
  • POST /api/mcp/{id}/{restart|start|stop} drives the supervisor
  • PATCH /api/mcp/{id}/config merges env + auto-start fields and triggers a restart
  • Hook layer (ui/src/api/hooks/useMcp.ts) keeps the existing surface; remove the 501-catch + toast paths once the routes go live
  • Replace static _CATALOG in src/hal0/api/routes/mcp.py with a real registry probe

Reference:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    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