Skip to main content

Tutorial · MCP

Connect Alvo MCP as a read-only market intelligence layer.

The MCP endpoint exposes the same deterministic signals as the Alvo workspace: DAM/IDM prices, served forecast, cross-border scarcity snapshot and cited methodology grounding. There are no write tools.

JSON-RPC 2.0 over HTTPread-only toolsdataSentToExternalModel:false

Tutorial · MCP

What gets connected

Endpoint

GET /api/mcp for discovery, POST /api/mcp for JSON-RPC transport.

Tools

get_day_ahead_prices, get_forecast, get_regime_snapshot, cite_methodology

Security

The open demo may not need a key; protected tenants send x-alvo-api-key.

Provenance

Each successful tools/call response carries the deterministic marker alvo-rules-v1.

Sequence

1. Add the server

In a client with HTTP MCP transport, add the mcpServers entry for the Alvo endpoint.

2. Initialize

initialize returns serverInfo, tools capability and protocolVersion.

3. Check the list

tools/list shows read-only tools, with no write path or order submission.

4. Call forecast

tools/call get_forecast returns the served forecast (p10/p50/p90 and, when available, capHitProbability) or an honest null when no usable forecast exists.

5. Cite methodology

tools/call cite_methodology returns citation-marked grounding from the Alvo docs corpus.

Guardrails

Read-only

The MCP route dispatches only read-backed fetchers; no tool mutates data or submits orders.

No guarantee

Forecast is decision support, not a price guarantee. Empty or fragile data returns null or an explicit error.

No egress

Alvo computes deterministic payloads; the external assistant receives only the response you requested.

Citation grounding

cite_methodology retrieves marked chunks from the Alvo docs corpus; it does not generate a narrative answer.

Tutorial · MCP

Snippets

mcpServers entry

For Claude/Cursor or another HTTP-capable MCP client.

{
  "mcpServers": {
    "alvo": {
      "url": "https://alvo.energy/api/mcp",
      "headers": {
        "x-alvo-api-key": "${ALVO_API_KEY}"
      }
    }
  }
}
initialize

Verify JSON-RPC transport and serverInfo.

curl -s "$ALVO_URL/api/mcp" \
  -H "content-type: application/json" \
  -H "x-alvo-api-key: $ALVO_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "alvo-learn", "version": "1.0.0" }
    }
  }'
tools/call forecast

Read-only forecast call; the result includes provenance.

curl -s "$ALVO_URL/api/mcp" \
  -H "content-type: application/json" \
  -H "x-alvo-api-key: $ALVO_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "get_forecast",
      "arguments": { "month": "06.2026", "market": "DAM" }
    }
  }'
tools/call methodology citations

Retrieval-only grounding; facts are retrieved, not generated.

curl -s "$ALVO_URL/api/mcp" \
  -H "content-type: application/json" \
  -H "x-alvo-api-key: $ALVO_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "cite_methodology",
      "arguments": {
        "query": "How does Alvo validate forecast bands?",
        "k": 3
      }
    }
  }'

Want to inspect the same signals in the UI?

The workspace shows prices, forecast and cross-border regime next to an audit-friendly decision brief.

Open workspace