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
- Open Settings → Developer → Edit Config and add the
mcpServersblock:
{
"mcpServers": {
"maestro-st01": {
"type": "http",
"url": "http://192.168.1.50:7004/mcp"
}
}
}
- Restart Claude Desktop.
- 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:
- The stack is running —
curl http://localhost:7004/healthreturns 200. - The station firewall allows inbound TCP on port 7004 if connecting remotely.
- The AI client supports
type: httpMCP 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.