# MCP-Server für KI-Agenten

> Ladehase mit Claude, ChatGPT oder Cursor verbinden. Werkzeuge für Standorte, Geräte, Ladungen, Tarife und Berichte.

Ladehase bietet einen MCP-Server (Model Context Protocol). Damit können KI-Agenten wie Claude, ChatGPT oder Cursor deine Ladestationen abfragen, Tarife vorschlagen, Ladungen starten oder Berichte erstellen. Die Werkzeuge entstehen aus denselben Endpunkten wie die REST-API.

- **Adresse:** `https://api.ladehase.com/mcp`
- **Transport:** Streamable HTTP (JSON-RPC über `POST`)
- **Anmeldung:** `Authorization: Bearer lh_live_…` oder `lh_test_…`

> **Hinweis:** Beginne mit einem Testschlüssel. So kann der Agent alles ausprobieren, ohne echte Ladestationen zu steuern oder Geld zu bewegen.

## Claude

In Claude Desktop öffnest du die Einstellungen unter «Entwickler» und bearbeitest die Konfiguration:

```json
{
  "mcpServers": {
    "ladehase": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.ladehase.com/mcp", "--header", "Authorization:Bearer lh_test_…"]
    }
  }
}
```

In Claude Code genügt ein Befehl:

```bash
claude mcp add --transport http ladehase https://api.ladehase.com/mcp --header "Authorization: Bearer lh_test_…"
```

## ChatGPT

In ChatGPT fügst du unter «Einstellungen», «Connectors» einen eigenen Connector hinzu (Entwicklermodus). Als Adresse gibst du `https://api.ladehase.com/mcp` ein und als Authentifizierung den API-Schlüssel als Bearer-Token.

## Cursor

Leg im Projekt die Datei `.cursor/mcp.json` an:

```json
{
  "mcpServers": {
    "ladehase": {
      "url": "https://api.ladehase.com/mcp",
      "headers": { "Authorization": "Bearer lh_test_…" }
    }
  }
}
```

## Werkzeuge

Der Server liefert mit `tools/list` alle Werkzeuge mit Beschreibung und JSON-Schema. Die Namen entsprechen den Endpunkten der [API-Referenz](/de/docs/api) in Kleinbuchstaben mit Unterstrich, zum Beispiel:

- `list_devices`, `get_device_state`: Ladepunkte und ihr Zustand
- `create_session`, `stop_session`, `list_sessions`: Ladungen starten, stoppen, auswerten
- `preview_tariff_draft`, `create_tariff`: Tarife berechnen und anlegen
- `create_code`, `render_signs`: QR-Codes und Schilder
- `get_report_summary`: Kennzahlen
- `create_access_grant`: Zugänge für Bewohnende oder Mitarbeitende

Lesende Werkzeuge sind als `readOnlyHint` markiert, verändernde Werkzeuge wie Stoppen, Sperren oder Rückerstatten als `destructiveHint`. Gute Agenten fragen vor solchen Aktionen nach.

## Beispiel

```bash
curl -X POST https://api.ladehase.com/mcp \
  -H "Authorization: Bearer lh_test_…" \
  -H "Content-Type: application/json" \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_devices", "arguments": {} } }'
```

## Einheiten für Agenten

Der Server teilt Agenten beim Verbinden mit, dass Beträge in Rappen, Energie in Wh und Energiepreise in Hundertstel-Rappen pro kWh angegeben sind. Gib diese Regel in eigenen Anweisungen trotzdem nochmals mit, wenn ein Agent Tarife anlegen soll.

## Schreibende Werkzeuge abschalten

Schreibende Werkzeuge lassen sich für eine Organisation deaktivieren. Der Agent kann dann nur noch lesen und erhält bei verändernden Aufrufen eine verständliche Meldung. Schreib uns an [developer@ladehase.com](mailto:developer@ladehase.com), wenn du das für deine Organisation möchtest.
