Token导航 LogoToken导航TokenDH.com
MCP tur mock logo
AI代理stdio官方级别未说明来源级核验

MCP tur mock

MCP Server

一个模拟旅游机构如何通过MCP服务器与个人AI代理集成,提供超个性化旅行体验的概念演示。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAPI集成Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

matiasvagli

提供方

matiasvagli

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

🧳 Turismo MCP Server — Demo

Demo conceptual de cómo una agencia de viajes puede implementar un MCP Server para integrarse con agentes de IA personales y ofrecer experiencias ultra-personalizadas.

🎯 ¿Qué es esto?

Este proyecto simula el caso de uso de Model Context Protocol (MCP) aplicado a una agencia de viajes.

En lugar de que la agencia desarrolle su propio chatbot (el modelo de hoy), expone su inventario de vuelos y hoteles como un MCP Server. Así, el agente de IA personal del usuario puede consultarlo directamente, combinando los datos de la agencia con el contexto privado del usuario (calendario, preferencias, historial) para generar propuestas de viaje altamente personalizadas.


🤔 El Problema: el chatbot en la web ya no alcanza

El modelo actual funciona así:

Usuario → entra a la web de la agencia → chatbot de la agencia → resultados

El problema es que el chatbot de la agencia no te conoce. No sabe:

  • Que el próximo jueves tenés una reunión importante
  • Que preferís ventana y viajás siempre con tu familia
  • Que ya fuiste a Cancún dos veces y no querés repetir
  • Que tenés un presupuesto mensual de viajes

Cada vez que entrás, empezás de cero.


💡 La Solución: invertir el paradigma con MCP

Model Context Protocol (MCP) es un estándar abierto creado por Anthropic que permite que agentes de IA se conecten a fuentes de datos externas de forma segura y estandarizada. Funciona como una "API para IAs".

Con MCP, el flujo cambia completamente:

Usuario → habla con SU agente personal (Claude, Gemini, GPT, etc.)
                    ↓ el agente ya conoce al usuario
              consulta el calendario del usuario
              consulta las preferencias guardadas
              consulta el MCP Server de la agencia  ←── acá está la clave
                    ↓
              arma una propuesta ultra-personalizada

La agencia no necesita desarrollar IA propia. El usuario no tiene que repetir sus preferencias. El resultado es la personalización real.


🏗️ Arquitectura del Demo

┌─────────────────────────────────────────────────────────────┐
│                     AGENTE IA (Gemini)                      │
│            "Asistente Personal de Viajes"                   │
│                  POST /ai/plan-trip                         │
└──────────────────────┬──────────────────┬───────────────────┘
                       │                  │
          ┌────────────▼───┐    ┌─────────▼──────────┐
          │  DATOS USUARIO │    │   MCP SERVER       │
          │  (simulados)   │    │   (simulado)       │
          │                │    │                    │
          │ /user/prefs    │    │ /mcp/flights       │
          │ /user/calendar │    │ /mcp/hotels        │
          │ /user/history  │    │ /mcp/search        │
          │                │    │ /mcp/tools         │
          └────────────────┘    └────────────────────┘
          
          ↑ Lo que el agente     ↑ Lo que la agencia
            ya sabe del usuario    expone vía MCP
            (privado, del user)    (inventario público)

Este demo simula los tres componentes en una sola API FastAPI:

ComponenteEndpointsQué simula
Datos del Usuario/user/*Lo que el agente personal del usuario ya conoce (preferencias, calendario, historial)
MCP Server de la Agencia/mcp/*El inventario de vuelos y hoteles expuesto por la agencia via MCP
Agente IA/ai/*Gemini 2.0 Flash orquestando todo con function calling

🚀 Quick Start

1. Clonar e instalar

git clone 
cd turismo-mcp-demo

# Crear entorno virtual
python -m venv .venv
source .venv/bin/activate   # Linux/macOS
# .venv\Scripts\activate    # Windows

# Instalar dependencias
pip install -r requirements.txt

2. Configurar la API Key de Gemini

# Copiá el archivo de ejemplo
cp .env.example .env

# Editá .env y pegá tu clave
# Obtené la clave gratis en: https://aistudio.google.com/app/apikey
GEMINI_API_KEY=tu-clave-aqui
# O exportala directamente:
export GEMINI_API_KEY="tu-clave-aqui"

3. Levantar el servidor

uvicorn main:app --reload --port 8001

Abrí el Swagger interactivo: http://localhost:8001/docs 🎉


� CLI — Interfaz de Terminal

El proyecto incluye un CLI interactivo (cli.py) que muestra las respuestas del agente formateadas con colores y paneles en la terminal. Ideal para demos en vivo.

Modo chat interactivo (recomendado para la demo 🎯)

python3 cli.py

Chat multi-turno: escribís como con un amigo, el agente responde y podés ir refinando la propuesta.

🧳 Asistente Personal de Viajes
   Powered by Google Gemini · Turismo MCP Demo

Vos: che fijate si tengo libre este finde y armame algo para desconectar

[agente consulta calendario, preferencias, hoteles...]

📍 Colonia del Sacramento, Uruguay
🏨 Hotel Boutique Vista Río ⭐⭐⭐⭐
🚗 Auto · 180km · USD 310 estimado

Consulta directa (un solo comando)

python3 cli.py plan "escapada este finde con mi mujer, si hay mas de 400km busca vuelo"

Ver estado del servidor

python3 cli.py status

Apuntar a otro servidor

python3 cli.py --url http://otro-servidor:8001

Comandos disponibles dentro del chat

ComandoAcción
resetEmpezar una conversación nueva
salir / chauCerrar el CLI

�📡 Endpoints

🧑 Datos del Usuario

Simulan lo que el agente personal del usuario ya conoce. En producción, estos datos vendrían del perfil del usuario en su agente (Google, Apple, Anthropic, etc.)
MétodoEndpointDescripción
GET/user/preferencesPreferencias de viaje del usuario
GET/user/calendar?month=YYYY-MMEventos del mes y fechas libres
GET/user/travel-historyHistorial de viajes con ratings

✈️🏨 MCP Server — Inventario de la Agencia

Simulan lo que la agencia expone a través del protocolo MCP. En producción, estos endpoints serían el MCP Server oficial de la agencia conectado a su base de datos real.
MétodoEndpointDescripción
GET/mcp/flightsBuscar vuelos disponibles
GET/mcp/hotelsBuscar hoteles disponibles
POST/mcp/searchBúsqueda inteligente por preferencias
GET/mcp/toolsListado de tools disponibles (formato MCP)

🤖 Agente IA (Gemini)

El agente que une todo: interpreta lenguaje natural, consulta los datos del usuario y el MCP Server, y arma la propuesta final.
MétodoEndpointDescripción
POST/ai/plan-tripPlanificador de viajes con lenguaje natural
POST/ai/chatChat multi-turno con contexto de conversación
GET/ai/statusEstado del agente y sesiones activas

🎭 Casos de Uso — Ejemplos Reales

Ejemplo 1: Escapada de Fin de Semana

*"che fijate si tengo libre este finde y armame algo para desconectar, presupuesto bajo"*

Con el CLI:

python3 cli.py plan "che fijate si tengo libre este finde y armame algo para desconectar, presupuesto bajo"

Con curl:

curl -X POST http://localhost:8001/ai/plan-trip \
  -H "Content-Type: application/json" \
  -d '{"query": "che fijate si tengo libre este finde y armame algo para desconectar, presupuesto bajo"}'

El agente va a:

  1. Revisar el calendario de marzo para ver si el sábado/domingo está libre
  2. Consultar las preferencias del usuario (tipo de viaje, estilo)
  3. Calcular que un finde = destino cercano → auto
  4. Buscar hoteles en Colonia del Sacramento / Rosario / Mar del Plata
  5. Retornar una propuesta con hotel + distancia en auto + alternativas

Ejemplo 2: Viaje en Familia a la Playa

*"quiero ir a la playa en junio con mi familia, que sea tranquilo y con pileta para los chicos"*
curl -X POST http://localhost:8001/ai/plan-trip \
  -H "Content-Type: application/json" \
  -d '{"query": "quiero ir a la playa en junio con mi familia, que sea tranquilo y con pileta para los chicos"}'

El agente va a:

  1. Detectar "junio" y revisar disponibilidad en el calendario de junio
  2. Identificar "familia + playa + pileta" → buscar hoteles kid-friendly con piscina
  3. Consultar historial para no repetir destinos visitados
  4. Evaluar distancia → ¿Cancún, Punta Cana o Mar del Plata?
  5. Retornar paquetes ordenados por score de compatibilidad

Ejemplo 3: Aniversario Romántico

*"mi aniversario es en 2 meses, buscame algo romántico, presupuesto no importa"*

Con el CLI:

python3 cli.py plan "mi aniversario es en 2 meses, buscame algo romántico, presupuesto no importa"

Con curl:

curl -X POST http://localhost:8001/ai/plan-trip \
  -H "Content-Type: application/json" \
  -d '{"query": "mi aniversario es en 2 meses, buscame algo romántico, presupuesto no importa"}'

Ejemplo 4: Escapada con Condición de Transporte

*"este viernes no tengo nada, buscame una escapada con mi mujer, si hay que hacer más de 400km busca avión"*

Con el CLI:

python3 cli.py plan "este viernes no tengo nada, escapada con mi mujer, mas de 400km busca avion"

Con curl:

curl -X POST http://localhost:8001/ai/plan-trip \
  -H "Content-Type: application/json" \
  -d '{"query": "este viernes no tengo nada, buscame una escapada con mi mujer, si hay que hacer mas de 400km busca avion sino voy en auto"}'

Ejemplo 5: Chat Multi-turno con el CLI

Esta es la forma más natural de interactuar con el agente:

python3 cli.py   # abrís el chat interactivo
Vos: buscame escapada este finde
[Agente propone Colonia del Sacramento]

Vos: y si voy el sábado mejor?
[Agente ajusta las fechas]

Vos: dale, pero hotel más barato
[Agente busca alternativas más económicas]

Vos: salir

También con curl (turno a turno):

# Turno 1: solicitud inicial
curl -X POST http://localhost:8001/ai/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "buscame escapada este finde"}'

# → Respuesta incluye: "conversation_id": "a3f8c1b2"

# Turno 2: refinar la propuesta (misma conversación)
curl -X POST http://localhost:8001/ai/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "y si voy el sábado mejor?", "conversation_id": "a3f8c1b2"}'

# Turno 3: ajustar presupuesto
curl -X POST http://localhost:8001/ai/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "dale, pero buscame opciones de hotel más económicas", "conversation_id": "a3f8c1b2"}'

Respuesta Ejemplo de /ai/plan-trip

{
  "query": "che fijate si tengo libre este finde y armame algo para desconectar",
  "analysis": {
    "calendar_check": "El sábado 7 y domingo 8 de marzo están libres, sin compromisos",
    "travel_style": "escapada tranquila, perfil aventura/pareja",
    "transport_decision": "Destinos  💡 **TL;DR:** Este demo muestra que el futuro no es "la agencia tiene IA". Es "el usuario tiene IA, y la agencia le da acceso a su inventario vía MCP para que esa IA trabaje para el usuario". La agencia de turismo se vuelve compatible con todos los agentes del mundo sin desarrollar ninguno.

---

## 🚧 ¿A dónde va esto?

Este proyecto es un mock conceptual, pero está diseñado para escalar a un **MCP Server completo y production-ready**.

El siguiente paso es convertir los datos random y el protocolo simplificado en un sistema real con base de datos, ciclo de vida de bookings (hold → pago → confirmación → cancelación), stock management y protocolo MCP oficial.

👉 **[Ver Roadmap completo →](README_ROADMAP.md)**

目录标签

目录标签

PythonClaudeAPI集成旅游服务本地部署AI集成个性化推荐MCP协议

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP