API

Claude Code

Nutzen Sie Claude Code mit Ihren eigenen Nodes über den Anthropic-kompatiblen Endpunkt /v1/messages von MajesticMesh.

MajesticMesh spricht auch Anthropics Messages-API. Claude Code und die Anthropic-SDKs können daher die Modelle auf Ihren Nodes nutzen. Sie benötigen einen API-Schlüssel und einen laufenden Node, der seinen Chat From anywhere teilt und nicht auf Private steht.

Einrichten

Setzen Sie diese Umgebungsvariablen und starten Sie dann Claude Code:

export ANTHROPIC_BASE_URL=https://api.majesticmesh.com
export ANTHROPIC_AUTH_TOKEN=mmk_api_...
export ANTHROPIC_MODEL=YOUR_MODEL
export ANTHROPIC_DEFAULT_HAIKU_MODEL=YOUR_MODEL
claude
  • Die Base URL endet ohne /v1.
  • ANTHROPIC_MODEL ist das Modell, das Claude Code verwendet. ANTHROPIC_DEFAULT_HAIKU_MODEL deckt die kleineren Hintergrundanfragen von Claude Code ab; setzen Sie es auf dasselbe Modell, sofern Sie kein zweites haben.

Modell wählen

Verwenden Sie die ID eines Ihrer einfachen Modelle, genau so, wie GET /v1/models sie auflistet (siehe OpenAI-kompatible API):

curl https://api.majesticmesh.com/v1/models \
  -H "Authorization: Bearer $MM_API_KEY"

Claude Code arbeitet mit Tools. Wählen Sie daher ein Modell, das Tools nutzen kann. majesticmesh-chat nimmt keine eigenen Tools an, und kleine lokale Modelle nutzen Tools oft nur schlecht.

Der antwortende Node braucht für /v1/messages eine Version vom 2026-11-06 oder neuer; ein älterer Node gibt die Anfrage an den nächsten weiter.

Anthropic-SDK

Dasselbe funktioniert aus Ihrem eigenen Code:

import anthropic

client = anthropic.Anthropic(base_url="https://api.majesticmesh.com", api_key=MM_API_KEY)
m = client.messages.create(model="YOUR_MODEL", max_tokens=1024,
                           messages=[{"role": "user", "content": "Hello"}])

Der Schlüssel funktioniert als x-api-key oder als Authorization: Bearer.

Bekannte Grenzen

  • Das „Denken“ wird immer angezeigt. Beim Streaming kommt das Denken eines Modells als thinking-Blöcke, ob angefordert oder nicht – so sehen Sie Fortschritt, während ein langsames Modell nachdenkt. Die Einstellung thinking selbst wird ignoriert, und Thinking-Blöcke im Verlauf werden verworfen.
  • Keine Bilder in Tool-Ergebnissen. Ein Bild in einem tool_result wird durch einen Hinweis ersetzt, dass es weggelassen wurde. Bilder in Ihren eigenen Nachrichten funktionieren als Inline-Base64.
  • Lange Anfragen ohne Streaming. Eine Anfrage ohne Streaming, die etwa 100 Sekunden lang nichts sendet, wird mit 524 abgebrochen. Streams senden Keepalives; streamen Sie daher bei langsamen Modellen. Eine Anfrage läuft höchstens 30 Minuten.
  • Nicht unterstützt. Server-Tools (etwa web_search), document-Blöcke und Bild-URLs werden mit 400 abgelehnt. stop_sequences, top_p, top_k, metadata, cache_control und anthropic-beta werden ignoriert.
  • Geschätzte Token-Zahlen. Meldet der Anbieter keine Token-Zahlen, werden sie geschätzt (etwa vier Zeichen pro Token), damit Claude Code seinen Kontext trotzdem komprimieren kann.
  • Relay-Budget. Claude Code sendet in jeder Runde das ganze Gespräch erneut. Eine lange Coding-Sitzung verbraucht das tägliche Relay-Budget des Nodes daher deutlich schneller als ein Chat (429 relay_limit).