OHIP MCP Server
Un servidor MCP (Model Context Protocol) en Python que actúa como Gateway Universal para la plataforma Oracle Hospitality Interface Platform (OHIP). Permite a asistentes de IA ejecutar cualquier petición contra la API de OHIP de forma segura y autenticada.
🚀 Características
- Herramienta Universal (
call_ohip_api): Una única herramienta flexible capaz de ejecutar cualquier endpoint de OHIP (reservas, inventario, housekeeping, etc.). - Autenticación Automática: Gestión transparente de tokens OAuth 2.0 (obtención, almacenamiento en memoria y renovación automática antes de expirar).
- Seguridad: Manejo seguro de credenciales mediante variables de entorno.
- Ligero: Construido con
mcpyhttpxpara alto rendimiento asíncrono.
📋 Requisitos
- Python 3.10+
- Una cuenta de desarrollador en Oracle Hospitality (OHIP) con credenciales válidas.
- uv (Recomendado para gestión de paquetes) o
pip.
🛠️ Instalación
-
Clonar el repositorio
git clone https://github.com/tu-usuario/ohip-mcp.git cd ohip-mcp -
Configurar entorno Copia el archivo de ejemplo y configura tus credenciales:
cp .env.example .envEdita
.envcon tus datos de OHIP:OHIP_BASE_URL=https://<environment>.oraclecloud.com OHIP_CLIENT_ID=tu_client_id OHIP_CLIENT_SECRET=tu_client_secret OHIP_APP_KEY=tu_app_key -
Instalar dependencias
# Usando pip pip install -r requirements.txt # O usando uv (más rápido) uv sync
⚙️ Configuración en Clientes MCP
Claude Desktop
Edita tu configuración en %APPDATA%\Claude\claude_desktop_config.json (Windows) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ohip": {
"command": "uv",
"args": [
"run",
"--directory",
"C:/Ruta/Absoluta/A/ohip-mcp",
"python",
"-m",
"src.server"
],
"env": {
"OHIP_BASE_URL": "https://...",
"OHIP_CLIENT_ID": "...",
"OHIP_CLIENT_SECRET": "...",
"OHIP_APP_KEY": "..."
}
}
}
}
Cursor / TRAE IDE
Puedes añadir el servidor directamente en la configuración del proyecto (.cursor/mcp.json):
{
"mcpServers": {
"ohip": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "C:/Ruta/Absoluta/A/ohip-mcp",
"env": { "DOTENV_PATH": "../.env" }
}
}
}
📖 Uso
Una vez conectado, el asistente tendrá acceso a la herramienta call_ohip_api.
Ejemplo de Prompt:
"Busca las reservas del hotel con ID 'H123' para el huésped 'Smith'."
El modelo llamará internamente a:
call_ohip_api(
method="GET",
endpoint="/rsv/v1/hotels/H123/reservations",
hotel_id="H123",
query_params={"lastName": "Smith"}
)
📂 Estructura del Proyecto
ohip-mcp/
├── src/
│ ├── auth.py # Manejo de autenticación OAuth (Singleton)
│ └── server.py # Definición del servidor y herramientas MCP
├── .env.example # Plantilla de variables de entorno
├── .gitignore # Archivos ignorados por git
├── mcp.example.json # Ejemplos de configuración para IDEs
├── requirements.txt # Dependencias del proyecto
└── README.md # Documentación
🛡️ Licencia
Este proyecto está bajo la Licencia MIT.