Skip to content

Add an operator MCP for project CRUD and mesh status #14

Description

@NitayRabi

Problem

There is no machine-friendly operator surface for external tools or automations to manage projects and inspect mesh state. The web UI and HTTP API cover some of this for humans, but they are not shaped as an MCP interface for agent/tool use.

Goal

Expose an MCP server for control-plane operations so tools and agents can:

  • manage projects
  • inspect node status
  • inspect agent status
  • inspect session/topology state

Initial scope

Project management:

  • create project
  • list projects
  • get project
  • update project
  • delete/archive project
  • optionally associate allowed nodes and/or agents

Status and topology:

  • list nodes with health/status
  • get node details
  • list agents with health/status
  • get agent details
  • inspect trigger rules
  • inspect active/recent sessions

Design constraints

  • MCP should expose stable resource/tool shapes, not UI-shaped payloads.
  • Authorization must be explicit; this is an operator surface with write access.
  • Browser concerns should stay out of the MCP design.
  • File path validation and node-local execution constraints must remain enforced server-side or node-side as appropriate.

Likely architecture

  • Add a dedicated MCP server process or mount an MCP surface from the existing server.
  • Back it with the same repository/control-plane state used by the web API.
  • Reuse existing auth/session concepts only if they fit non-browser clients cleanly; otherwise introduce a token-based auth path.
  • Keep project CRUD and status reads versioned and documented.

Open questions

  • Should MCP be read-only first, then write operations later?
  • Should project CRUD live entirely in the control plane, or partly delegate to nodes?
  • How should long-running or stateful operations be represented?
  • Do we want MCP resources, tools, or both for topology and session inspection?

Acceptance criteria

  • A client can list nodes and agents with current status through MCP.
  • A client can CRUD projects through MCP.
  • The interface is documented well enough to build automation against it.
  • Auth for MCP is explicit and separate from browser-only assumptions.

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