Skip to main content
Glama
AhmedAliQadir

Duffel MCP Server

Duffel MCP Server

Ein Model Context Protocol-Server, der einem KI-Assistenten eine typisierte Tool-Ebene über die Duffel-Reise-API bietet — Flüge, Unterkünfte und Mietwagen, gesucht gegen Live-Bestand und nicht aus der eigenen Vorstellungskraft des Modells erzeugt.

Gebaut in TypeScript auf Basis des offiziellen Anthropic MCP SDK. Läuft über stdio und lässt sich so direkt in Claude Desktop oder einen beliebigen MCP-kompatiblen Client einbinden.

Nur Suche, bewusst so konzipiert. Dieser Server bietet keine Buchungs-, Zahlungs- oder personenbezogene Datenschnittstelle. Er liest Verfügbarkeit und Preise; er kann kein Geld ausgeben oder eine Reservierung vornehmen.


Warum es das gibt

Reisen ist ein guter Testfall für agentische KI: Die Fragen sind natürliche Sprache („eine Woche in Lissabon im Mai, unter 800 £“), aber die Antworten müssen aus echtem Bestand mit echten Preisen kommen. Ein Sprachmodell kann keinen Flugplan erfinden. Es braucht Tools.

Dieser Server stellt vier davon bereit, so gestaltet, dass ein Modell sie ohne Raten verketten kann.

Related MCP server: Travel Assistant MCP

Die Tools

Tool

Funktion

resolve_place

Löst einen Stadt- oder Flughafennamen in IATA-Code(s) und Breiten-/Längengrad auf. Wird zuerst aufgerufen — Flüge brauchen den IATA-Code, Unterkünfte und Mietwagen brauchen Koordinaten.

search_flights

Sucht Flugangebote. Für One-way return_date weglassen. Gibt die günstigsten Angebote mit Preis, Fluggesellschaft, Abflug-/Ankunftszeiten und Anzahl der Zwischenstopps zurück.

search_stays

Sucht Unterkünfte rund um eine Koordinate. Gibt die günstigsten Unterkünfte mit Name, Bewertung und Gesamtpreis für den Zeitraum zurück.

search_cars

Sucht Mietwagen rund um eine Abholkoordinate. Gibt Tarife mit Fahrzeug, Anbieter und Gesamtpreis zurück.

Der zentrale Designpunkt ist resolve_place: Ohne es muss ein Modell raten, dass Lissabon LIS ist, und Koordinaten erfinden. Mit ihm ist jeder nachgelagerte Aufruf in einer echten Kennung verankert.

Erwähnenswerte Designentscheidungen

  • Credential-Schutz beim Start. Wenn DUFFEL_API_KEY nicht gesetzt ist, protokolliert der Prozess auf stderr und beendet sich mit Exit-Code ungleich null, anstatt zu starten und beim ersten Tool-Aufruf verwirrend zu scheitern.

  • stdout ist für das MCP-Protokoll reserviert. Die gesamte Protokollierung läuft über stderr. Wenn sonst etwas auf stdout geschrieben wird, korrumpiert das den JSON-RPC-Stream — ein subtiler Fehlermodus, gegen den man explizit designen sollte.

  • Test-Token im Smoke-Test erzwungen. test/smoke.ts weigert sich zu laufen, wenn das Token nicht mit duffel_test_ beginnt, sodass nicht versehentlich ein Live-Token verwendet werden kann. Es gibt das Token nie aus.

  • Keine Buchungsschnittstelle. Buchungs- und Zahlungsendpunkte sind bewusst nicht freigegeben. Ein Agent, der diesen Server nutzt, kann eine Reise recherchieren; er kann dich nicht auf eine festlegen.

Voraussetzungen

  • Node.js 18+

  • Ein Duffel-Testtoken — kostenlos von app.duffel.com → Entwickler → Zugriffstokens

Einrichtung

npm install
cp .env.example .env   # then add your Duffel test token
npm run build

Ausführen

npm run dev     # development, via tsx
npm start       # production, from dist/

Verwendung mit Claude Desktop

Füge zu deiner claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "duffel-travel": {
      "command": "node",
      "args": ["/absolute/path/to/duffel-mcp/dist/index.js"],
      "env": { "DUFFEL_API_KEY": "duffel_test_your_token_here" }
    }
  }
}

Starte Claude Desktop neu und die vier Tools werden angezeigt. Versuche: „Finde mir Flüge von Edinburgh nach Lissabon im Mai und eine Unterkunft in der Nähe des Zentrums.“

Testen

npx tsx --env-file=.env test/smoke.ts

Ruft resolve_place und search_flights gegen die Live-Duffel-Test-API auf. Beendet sich bei Fehlern mit Exit-Code ungleich null und gibt dein Token nie aus.

Architektur

src/
├── index.ts    entry point — credential guard, stdio transport
├── server.ts   MCP server: registers the four tools with zod schemas
└── duffel.ts   Duffel API client and response normalisation

Antworten werden normalisiert, bevor sie das Modell erreichen — die rohen Duffel-Payloads sind groß, und ein Agent kommt mit einer gestrafften, vorhersehbaren Form besser zurecht als mit einer tief verschachtelten API-Antwort.

Technik

TypeScript · @modelcontextprotocol/sdk · @duffel/api · zod

Herkunft

Gebaut 2026 von Ahmed Ali Qadir als Tool-Ebene für Tourista, ein KI-Reiseprodukt von Orbixio Ltd (UK, Firmennummer 16587877). Hier extrahiert als eigenständiger, wiederverwendbarer MCP-Server.

Nicht mit Duffel oder Anthropic verbunden oder von ihnen unterstützt.

Lizenz

MIT — siehe LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI marketplace — flights, tours, activities, transport & more via MCP. No auth required.

  • Live flight prices and working booking links for AI agents and travel apps.

  • Flight search & booking for AI agents. 400+ airlines, $20-50 cheaper than OTAs.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AhmedAliQadir/duffel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server