Gopaxo

Gopaxo MCP — Verbinde deine KI mit dem Zug-, Bus- und Flugvergleich

Öffentlicher Model Context Protocol Server von Gopaxo: Schließe Claude, Cursor oder deinen KI-Agenten an /api/mcp an und vergleiche Zug, Bus, Mitfahrgelegenheit und Flug in natürlicher Sprache.

Token-geschützter Zugang : der Endpoint /api/mcp erfordert ein persönliches Bearer-Token. Fordern Sie es kostenlos über unser spezielles Formular an. Antwort per E-Mail innerhalb von 2 Werktagen.

Endpoint
https://www.gopaxo.com/api/mcp
Transport
Streamable HTTP (stateless)
Server-Version
gopaxo-mcp@0.1.0

Was ist das Model Context Protocol?

Das Model Context Protocol ist ein offener Standard, der Ende 2024 von Anthropic veröffentlicht wurde. Er beschreibt ein JSON-RPC-2.0-Protokoll, damit ein Sprachmodell externe Tools aufrufen, auf Ressourcen zugreifen und strukturierte Prompts empfangen kann. Die wichtigsten Clients (Claude Desktop, Claude Code, Cursor, VS Code, Cline, Continue…) implementieren es nativ.

Konkret: Wenn Sie Ihren Assistenten bitten „finde mir eine Paris-Lyon-Verbindung für morgen unter 30 €", ruft er das Tool search_trips unseres Servers auf, erhält eine strukturierte JSON-Antwort mit allen verfügbaren Fahrten und präsentiert sie in lesbarer Form — genau wie auf gopaxo.com.

Zugangstoken anfordern

Der Zugang zum MCP erfordert ein persönliches Bearer-Token, um unsere Verkehrspartner zu schützen. Das Token ist kostenlos und wird auf einfache Anfrage in drei Schritten ausgestellt:

  1. 1

    Formular ausfüllen

    Name, berufliche E-Mail, Organisation und Beschreibung der geplanten Nutzung. Ihre Anfrage geht an dev@gopaxo.com.

  2. 2

    Gopaxo-Validierung

    Wir prüfen die Anfrage, erzeugen ein eindeutiges Token und fügen es dem Register autorisierter Tokens hinzu. Durchschnittliche Dauer: unter 2 Werktagen.

  3. 3

    Token-Erhalt

    Sie erhalten das Token per E-Mail. Fügen Sie es in den Authorization-Header Ihres MCP-Clients ein — die detaillierte Konfiguration folgt weiter unten.

Jetzt Token anfordern

Installation

Claude Desktop / Claude.ai

Öffnen Sie Einstellungen → Developer → Edit Config (oder manuell ~/Library/Application Support/Claude/claude_desktop_config.json auf macOS) und fügen Sie hinzu:

{
  "mcpServers": {
    "gopaxo": {
      "transport": "http",
      "url": "https://www.gopaxo.com/api/mcp",
      "headers": {
        "Authorization": "Bearer VOTRE_TOKEN_GOPAXO"
      }
    }
  }
}

Starten Sie Claude Desktop neu — die vier Gopaxo-Tools erscheinen im Menü „Available tools".

Claude Code (CLI)

Ein Befehl, und der MCP wird Ihrem Projekt hinzugefügt:

claude mcp add --transport http gopaxo https://www.gopaxo.com/api/mcp \
    --header "Authorization: Bearer VOTRE_TOKEN_GOPAXO"

Überprüfen Sie anschließend in Claude Code mit /mcp die aktiven Server.

Cursor / VS Code

In der Datei .cursor/mcp.json (Cursor) oder in der MCP-Konfiguration von VS Code:

{
  "mcpServers": {
    "gopaxo": {
      "url": "https://www.gopaxo.com/api/mcp",
      "headers": {
        "Authorization": "Bearer VOTRE_TOKEN_GOPAXO"
      }
    }
  }
}

Laden Sie das Fenster neu, damit der Agent die Tools erkennt.

Mit MCP Inspector testen

Um den Server ohne vorherige Integration zu erkunden, öffnet MCP Inspector eine Web-Introspektionsoberfläche:

npx @modelcontextprotocol/inspector https://www.gopaxo.com/api/mcp \
    --header "Authorization: Bearer VOTRE_TOKEN_GOPAXO"

Das Tool zeigt die Liste der Tools, deren JSON-Schema und ermöglicht das Ausführen von Testaufrufen.

Programmatische Nutzung — TypeScript

Über das offizielle @modelcontextprotocol/sdk-SDK:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(
  new URL("https://www.gopaxo.com/api/mcp"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${process.env.GOPAXO_MCP_TOKEN}`,
      },
    },
  },
);
const client = new Client({ name: "my-agent", version: "0.1.0" });
await client.connect(transport);

// Find the cheapest Paris → Lyon for tomorrow
const trips = await client.callTool({
  name: "search_trips",
  arguments: {
    from: "Paris",
    to: "Lyon",
    departureDate: "2026-04-25",
    passengers: "adulte",
  },
});
console.log(trips.structuredContent);

Bereitgestellte Tools

Vier Tools decken den gesamten Gopaxo-Ablauf ab, von der Auflösung einer Stadt bis zum Vorschlag einer preislichen Reiseroute. Alle Operationen sind schreibgeschützt (keine Buchung auf MCP-Seite — die Finalisierung erfolgt auf der Website des Partnerverkehrsunternehmens über den zurückgegebenen Link).

autocomplete_cities

read-onlyidempotentopen-world

Resolve a free-text city query to a list of Gopaxo / Tictactrip stops (city groups). Returns the 1-7 best matches, each with a human-readable label, an ISO-2 country code, and the gpuid needed for precise follow-up calls. Use this tool before `search_trips` whenever the user input is ambiguous or you need the canonical name.

JSON-Schema der Parameter anzeigen
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 2,
      "description": "Free-text search, e.g. 'paris', 'bordeaux', 'london', 'bcn'. The Tictactrip autocomplete is fuzzy and accepts accents and partial names."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

search_trips

read-onlyopen-world

Compare all available outbound (and optional return) trips between two locations on a given date, across train, bus, carpool and plane partners. Returns normalised trips with price in euros, duration, provider, stops and a partner `redirectionLink` to finalise the booking.

JSON-Schema der Parameter anzeigen
{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "description": "Origin city or station name (e.g. 'Paris', 'Lyon', 'Londres'). Prefer the label returned by the autocomplete tool for exact matches."
    },
    "to": {
      "type": "string",
      "description": "Destination city or station name."
    },
    "fromId": {
      "type": "string",
      "description": "Optional Tictactrip gpuid for the origin. When absent, the server resolves it via autocomplete."
    },
    "toId": {
      "type": "string",
      "description": "Optional Tictactrip gpuid for the destination."
    },
    "departureDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date of the outbound trip in ISO 8601 (YYYY-MM-DD). Example: '2026-05-03'."
    },
    "returnDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional return date (YYYY-MM-DD). When provided, the response includes a `returnTrips` array. Omit for a one-way search."
    },
    "passengers": {
      "type": "string",
      "description": "Comma-separated passenger types. Allowed values: adulte, jeune, senior, enfant. Defaults to 'adulte' (1 adult).",
      "default": "adulte"
    }
  },
  "required": [
    "from",
    "to",
    "departureDate"
  ],
  "additionalProperties": false
}

price_calendar

read-onlyidempotentopen-world

Return the cheapest price per day for a given origin/destination around a pivot date (±3 to ±5 days, as 3, 5, 7 or 11-day windows). Useful when the user wants to know if moving their trip by a day or two changes the price.

JSON-Schema der Parameter anzeigen
{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "description": "Origin label."
    },
    "to": {
      "type": "string",
      "description": "Destination label."
    },
    "fromId": {
      "type": "string",
      "description": "Optional origin gpuid."
    },
    "toId": {
      "type": "string",
      "description": "Optional destination gpuid."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Centre date (YYYY-MM-DD)."
    },
    "days": {
      "type": "integer",
      "minimum": 3,
      "maximum": 11,
      "default": 7,
      "description": "Total window size centred on `date` (3, 5, 7 or 11 days)."
    },
    "passengers": {
      "type": "string",
      "default": "adulte",
      "description": "Passenger composition (same format as search_trips)."
    }
  },
  "required": [
    "from",
    "to",
    "date"
  ],
  "additionalProperties": false
}

popular_destinations

read-onlyidempotentopen-world

List the most popular destinations from (or to) a given city, using Gopaxo's curated Tictactrip top-cities dataset. Use this for inspiration when the user has only a starting city in mind.

JSON-Schema der Parameter anzeigen
{
  "type": "object",
  "properties": {
    "uniqueName": {
      "type": "string",
      "description": "Tictactrip `unique_name` of the pivot city (for example 'paris', 'lyon', 'berlin'). Use autocomplete_cities to resolve."
    },
    "direction": {
      "type": "string",
      "enum": [
        "from",
        "to"
      ],
      "default": "from",
      "description": "Whether to list popular destinations *from* the city ('from') or popular origins *to* the city ('to')."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 12,
      "description": "Max number of destinations to return (1-50)."
    }
  },
  "required": [
    "uniqueName"
  ],
  "additionalProperties": false
}

Anwendungsbeispiele in natürlicher Sprache

  • „Finde mir den günstigsten Zug Paris → Bordeaux für nächsten Freitag."
  • „Vergleiche die Angebote Lyon-Barcelona fürs Wochenende, Zug und Bus eingeschlossen."
  • „Was sind die 10 beliebtesten Ziele ab Lyon?"
  • „Gib mir den niedrigsten Preis Paris-Marseille in den nächsten 7 Tagen."
  • „Suche einen Round-Trip Paris-Mailand per TGV, Abfahrt Dienstag, Rückkehr Sonntag, 2 Erwachsene."
  • „Gibt es morgen einen Direktbus Lille-Amsterdam? Sag mir den Preis."

Die häufigsten Fragen zu Gopaxo

Was ist MCP (Model Context Protocol)?

Model Context Protocol ist ein offener Standard, den Anthropic Ende 2024 veröffentlicht hat. Er erlaubt einem Sprachmodell (Claude, ChatGPT, Gemini, Mistral, etc.), externe Tools strukturiert aufzurufen.

Wie nutzt Gopaxo MCP?

Gopaxo stellt einen MCP-Server unter /api/mcp über Streamable HTTP bereit, geschützt durch ein Bearer-Token. Vier Tools sind verfügbar: autocomplete_cities, search_trips, price_calendar, popular_destinations.

Wie bekomme ich ein Zugangstoken?

Gehe auf /mcp/request-token und fülle das Formular aus. Das Gopaxo-Team prüft die Anfrage und sendet dir per E-Mail ein Token innerhalb von 2 Werktagen. Kostenlos.

Wie übergebe ich das Token an einen MCP-Client?

Das Token kommt in den Header Authorization: Bearer <token>. Claude Desktop, Cursor und VS Code akzeptieren ein headers-Feld in ihrer MCP-Konfiguration.

Welche MCP-Clients sind kompatibel?

Jeder Client, der MCPs Streamable-HTTP-Transport unterstützt: Claude Desktop, Claude Code, Cursor, VS Code, Cline, Continue sowie das Claude Agent SDK.

Ist es kostenlos?

Ja. Gopaxo ist ein kostenloser Vergleich, und MCP-Zugriff folgt denselben Regeln: keine Servicegebühren, kein Aufschlag. Das Token ist gratis.

Welche Daten gibt der MCP-Server zurück?

Jeder Aufruf gibt eine strukturierte JSON-Antwort zurück. search_trips liefert Preis, Dauer, Zeiten, Bahnhöfe, Umstiege, Anbieter, CO₂-Fußabdruck und Partner-Link.

Was passiert bei ungültigem Token?

Der Server gibt 401 Unauthorized zurück mit einem WWW-Authenticate-Header, der sagt, wo du ein Token anfordern kannst.

Darf ich das MCP kommerziell nutzen?

Ja, unter Einhaltung unserer AGB und sichtbarer Nennung «powered by Gopaxo». Preise müssen unverändert angezeigt werden.

Wie teste ich den MCP-Server schnell?

Öffne MCP Inspector mit npx @modelcontextprotocol/inspector und richte ihn auf /api/mcp mit deinem Token.

Benötigen Sie dedizierten Zugang oder Entwickler-Support?

Schreiben Sie uns an contact@gopaxo.com: Produktintegration, erhöhte Rate Limits, Co-Marketing oder einfaches Feedback zum MCP.

Kontaktieren Sie uns