Skip to main content
Glama
AhmedAliQadir

Duffel MCP Server

Duffel MCP Server

Un servidor Model Context Protocol que proporciona a un asistente de IA una capa de herramientas tipadas sobre la API de viajes de Duffel — vuelos, estancias y coches de alquiler, buscados contra inventario en vivo en lugar de generados a partir de la imaginación del propio modelo.

Construido en TypeScript sobre el SDK oficial de Anthropic MCP. Se ejecuta sobre stdio, por lo que se conecta directamente a Claude Desktop o a cualquier cliente compatible con MCP.

Solo búsqueda, por diseño. Este servidor no expone ninguna superficie de reserva, pago o datos personales. Lee disponibilidad y precios; no puede gastar dinero ni hacer una reserva.


Por qué existe esto

Los viajes son un buen caso de prueba para la IA agéntica: las preguntas son en lenguaje natural ("una semana en Lisboa en mayo, por menos de 800 £"), pero las respuestas deben provenir de inventario real con precios reales. Un modelo de lenguaje no puede inventar un horario de vuelos. Necesita herramientas.

Este servidor proporciona cuatro de ellas, diseñadas para que un modelo pueda encadenarlas sin adivinar.

Related MCP server: Travel Assistant MCP

Las herramientas

Tool

Qué hace

resolve_place

Resuelve un nombre de ciudad o aeropuerto a código(s) IATA y latitud/longitud. Se llama primero: los vuelos necesitan el código IATA, las estancias y los coches necesitan coordenadas.

search_flights

Busca ofertas de vuelos. Omite return_date para un solo sentido. Devuelve las ofertas más baratas con precio, aerolínea, horas de salida/llegada y número de escalas.

search_stays

Busca alojamiento alrededor de una coordenada. Devuelve las estancias más baratas con nombre, valoración y precio total para el rango de fechas.

search_cars

Busca coches de alquiler alrededor de una coordenada de recogida. Devuelve tarifas con vehículo, proveedor y precio total.

El punto de diseño es resolve_place: sin él, un modelo tiene que adivinar que Lisboa es LIS e inventar coordenadas. Con él, cada llamada posterior se basa en un identificador real.

Decisiones de diseño que vale la pena señalar

  • Protección de credenciales al inicio. Si DUFFEL_API_KEY no está definida, el proceso registra en stderr y sale con código distinto de cero, en lugar de iniciarse y fallar de forma confusa en la primera llamada a una herramienta.

  • stdout está reservado para el protocolo MCP. Todo el registro va a stderr. Escribir cualquier otra cosa en stdout corrompe el flujo JSON-RPC: un modo de fallo sutil que vale la pena diseñar explícitamente.

  • Tokens de prueba obligatorios en la prueba de humo. test/smoke.ts se niega a ejecutarse a menos que el token comience con duffel_test_, para que un token real no se use por accidente. Nunca imprime el token.

  • Sin superficie de reserva. Los endpoints de reserva y pago no se exponen deliberadamente. Un agente que use este servidor puede investigar un viaje; no puede comprometerte a uno.

Requisitos

  • Node.js 18+

  • Un token de prueba de Duffel — gratis desde app.duffel.com → Desarrolladores → Tokens de acceso

Configuración

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

Ejecución

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

Uso con Claude Desktop

Añade a tu claude_desktop_config.json:

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

Reinicia Claude Desktop y aparecen las cuatro herramientas. Prueba: "Encuéntrame vuelos de Edimburgo a Lisboa en mayo, y un lugar para quedarme cerca del centro".

Pruebas

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

Llama a resolve_place y search_flights contra la API de prueba en vivo de Duffel. Sale con código distinto de cero en caso de fallo y nunca imprime tu token.

Arquitectura

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

Las respuestas se normalizan antes de llegar al modelo: los payloads crudos de Duffel son grandes, y un agente razona mejor sobre una forma recortada y predecible que sobre una respuesta de API profundamente anidada.

Tecnología

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

Procedencia

Construido en 2026 por Ahmed Ali Qadir como la capa de herramientas para Tourista, un producto de viajes con IA de Orbixio Ltd (Reino Unido, n.º de empresa 16587877). Extraído aquí como un servidor MCP independiente y reutilizable.

No afiliado ni respaldado por Duffel o Anthropic.

Licencia

MIT — ver 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