Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

product: maestro audience: test-developer, operator, ai-assistant authority: normative

MCP Server — Setup and Configuration

The Maestro MCP server runs as a Docker container inside the station stack. It exposes an HTTP MCP endpoint so any AI assistant can connect with a single URL — no local .NET SDK or dotnet run command needed.


1. Start the full stack

.\scripts\start-fullstack.ps1

The MCP server starts automatically as part of the stack. It is healthy when http://localhost:7004/health returns 200.


2. Configuration

All configuration is set in docker-compose.yml via environment variables. Nothing needs to change for a default single-station deployment.

Variable Default Description
Maestro__BaseUrl http://workflowengine-api:7000 Internal Docker network URL of the API
Maestro__StationLabel value of STATION_NAME in .env Label stamped on every tool response
Maestro__ApiKey (empty) Reserved for future API authentication

To set the station name, pass it to the start script:

.\scripts\start-fullstack.ps1 -StationName "ST-01"

3. Connecting to an AI assistant

Connect any MCP-compatible client to:

http://<station-ip>:7004/mcp

Use localhost for local development. Use the station machine's IP address to connect from another machine on the network.

.mcp.json (repo root — used automatically by VS Code and Copilot)

{
  "mcpServers": {
    "maestro-station": {
      "type": "http",
      "url": "http://localhost:7004/mcp"
    }
  }
}

Client-specific instructions

GitHub Copilot (VS Code / Visual Studio)

Copilot reads .mcp.json from the workspace root automatically. Open the repo folder, enable MCP in Copilot settings, and start a new Copilot Chat. The maestro-station server appears in the tool list.

Claude Desktop

  1. Open Settings → Developer → Edit Config and add the mcpServers block:
{
  "mcpServers": {
    "maestro-st01": {
      "type": "http",
      "url": "http://192.168.1.50:7004/mcp"
    }
  }
}
  1. Restart Claude Desktop.
  2. Ask: "Call get_station_info" to verify.

Cursor

Add an entry in Cursor MCP settings pointing to http://<station-ip>:7004/mcp.

mcp add (CLI)

mcp add maestro-st01 http://192.168.1.50:7004/mcp

4. Verifying the connection

Ask the AI assistant:

"Call get_station_info and tell me what station you are connected to."

A successful response looks like:

{
  "station": "ST-01",
  "stationId": "ST-01",
  "version": {
    "apiVersion": "1.5.1",
    "runners": [
      { "identifier": "dotnet", "runnerType": "DotNet", "version": "1.0.0", "healthy": true }
    ]
  }
}

If the tool call fails, check:

  1. The stack is running — curl http://localhost:7004/health returns 200.
  2. The station firewall allows inbound TCP on port 7004 if connecting remotely.
  3. The AI client supports type: http MCP transport (all modern clients do).

5. Multi-station deployments

Each station runs its own independent stack. Add one entry per station in your client config to connect an AI assistant to multiple stations simultaneously:

{
  "mcpServers": {
    "station-01": { "type": "http", "url": "http://192.168.1.50:7004/mcp" },
    "station-02": { "type": "http", "url": "http://192.168.1.51:7004/mcp" },
    "station-03": { "type": "http", "url": "http://192.168.1.52:7004/mcp" }
  }
}

Each server instance returns its own station label in every tool response so the AI can attribute results correctly.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.