Reference

Local MCP server

MCP lets compatible clients, including coding agents, use INXM Local's workflow capabilities through a shared interface. This matters because a client can compile, execute, inspect, repair, and schedule the same saved plans as the desktop app, while INXM Local continues to validate plans and control deterministic execution. It makes workflows reusable from an agent without handing the agent a separate execution path.

Server endpoint

The application starts a loopback HTTP MCP server at http://127.0.0.1:39387/mcp by default. If the configured port cannot be bound, it tries an available ephemeral port; check the reported listening URL before configuring a client. It also exposes GET /health, which returns a short status response. Change the configured port in Settings or settings.json.

The server accepts MCP JSON-RPC requests for initialize, ping, tools/list, and tools/call. It is unauthenticated and restricted to loopback callers and loopback Host or Origin headers.

Available tools

Tool Required purpose
compile_plan Compile and save a plan from an intent
list_plans List stored plans
show_plan Show a plan by ID prefix or name
export_plan Export a plan bundle
import_plan Import an inline plan bundle
edit_plan Propose an edit to a plan
execute_plan Execute a plan with inputs
list_runs List recent runs
inspect_run Inspect a run
repair_run Propose a repair patch or identify an external problem
resume_run Resume a failed run after a repair
apply_patch Apply a pending repair patch
reject_patch Reject a pending repair patch
list_patches List repair patches
schedule_plan Create a schedule with captured inputs
list_schedules List schedules
delete_schedule Delete a schedule
set_schedule_enabled Enable or disable a schedule

Execute a plan

Call execute_plan with a plan reference and an input object:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "execute_plan",
    "arguments": {
      "plan_ref": "my-plan",
      "inputs": {"query": "Rust workflow engines", "limit": 5}
    }
  }
}

Missing, unknown, or incorrectly typed inputs are rejected before execution. Tool results include MCP content text and structuredContent JSON.

Resume human interaction

When a plan needs an answer, the result has status: "elicitation_required", a persisted run_id, and an elicitation object. Call execute_plan again with the same run_id and answers keyed by step ID:

{
  "plan_ref": "my-plan",
  "run_id": "run-id-from-response",
  "human_responses": {"approve": true}
}

Completed steps are not repeated. Approval responses accept booleans, yes/no strings, or decision objects; free-text responses accept a string or an object with text.

Run MCP-only mode

Use this when a native window is unavailable:

INXM_MCP_ONLY=1 inxm-local

Note

Started from a terminal, INXM Local inherits that terminal's full environment, including credentials, and passes it to every local program it starts: subprocess tools, Local stdio MCP servers, and AI-generated steps. HTTP tools and Remote HTTP MCP servers do not receive it. See Tool environment for more details.

For a repository self-test, run:

INXM_MCP_SELF_TEST=1 INXM_LOCAL_DATA_DIR=target/mcp-self-test cargo run

Edit this page