OwnerRez MCP Server
Servidor MCP de OwnerRez
Un servidor de Protocolo de Contexto de Modelo que conecta OwnerRez con Claude (Cowork / Claude Desktop) y cualquier otro cliente MCP. Pregunta sobre reservas, mira quién está registrado, envía mensajes a los huéspedes, registra gastos y gestiona webhooks — en lenguaje natural. Construido con Python + FastMCP.
⚠️ Proyecto comunitario, no afiliado a OwnerRez.
Inicio rápido
¿Nuevo aquí? QUICKSTART.md te lleva a una conexión funcional en dos comandos.
La ruta más rápida — sin clonar, sin venv — usando uv:
Este mismo servidor funciona en cualquier cliente MCP — Claude, Cursor, Windsurf, VS Code, Cline, Zed y más. Añade el bloque estándar de abajo a la configuración MCP de tu cliente (QUICKSTART.md lista la ubicación del archivo de configuración de cada cliente y los pocos que usan una clave diferente):
{
"mcpServers": {
"ownerrez": {
"command": "uvx",
// Before a PyPI release, run straight from GitHub:
"args": ["--from", "git+https://github.com/buildwithmanag/ownerrez-mcp", "ownerrez-mcp"],
// After `pip`/PyPI publish this becomes simply: "args": ["ownerrez-mcp"],
"env": {
"OWNERREZ_USERNAME": "you@example.com",
"OWNERREZ_TOKEN": "your_personal_access_token"
}
}
}
}Reinicia tu cliente y las herramientas de OwnerRez aparecen. Eso es todo.
¿Prefieres ejecutar desde el código fuente? Consulta Instalar desde el código fuente.
Qué puede hacer
Herramientas
Herramienta | Propósito | Endpoint |
| Reservas cambiadas desde un momento; filtrar por estado / propiedad / ventana de llegada |
|
| Detalle completo de una reserva |
|
| Quién está registrado ahora mismo, por propiedad | derivado ✅ |
| Consultas de referencia |
|
| Lecturas financieras |
|
| Mensajes en un hilo (por |
|
| Responder a un huésped (escritura) |
|
| Listar webhooks |
|
| Gestionar webhooks (escritura) |
|
| Bandeja de entrada de mensajes entrantes, alimentada por el receptor de webhooks | almacén local ✅ |
Recursos: ownerrez://properties, ownerrez://owners
Prompts: draft_checkin_message, draft_guest_reply
Verificado contra la API en vivo — dos limitaciones de OwnerRez a tener en cuenta: no hay un endpoint público para crear gastos, y no hay un endpoint que liste hilos de mensajes. Los mensajes entrantes de huéspedes llegan a través de webhooks — suscríbete a la categoría
messageconcreate_webhook_subscription, luego usa elthreadIddel evento conlist_messages/send_message. Las reservas y los huéspedes están limitados por un tiempo "desde", no por fechas de estancia.
Ejemplos de prompts
"¿Quién se registra este fin de semana?"
"¿Quién se está quedando actualmente en la Casa de la Playa?"
"Redacta un mensaje de check-in para el huésped que llega mañana a la Cabaña 3."
"Muéstrame todos los pagos de la reserva 84213."
"Lista los mensajes del hilo 55123 y redacta una respuesta."
Autenticación
Elige la que mejor se adapte — el servidor prefiere OAuth si ambos están configurados.
Token de Acceso Personal (lo más simple para una cuenta). OwnerRez → Configuración → API
→ Tokens de Acceso Personal. Establece OWNERREZ_USERNAME + OWNERREZ_TOKEN.
OAuth (para múltiples cuentas / distribución). Crea una aplicación OAuth en OwnerRez,
establece OWNERREZ_CLIENT_ID + OWNERREZ_CLIENT_SECRET, luego ejecuta el asistente integrado:
ownerrez-mcp authAbre la página de autorización, captura el redirect localmente e imprime el
OWNERREZ_ACCESS_TOKEN para guardarlo.
Mensajes entrantes reales (receptor de webhooks)
OwnerRez no tiene un endpoint para consultar conversaciones abiertas — los mensajes entrantes de huéspedes
se entregan a través de webhooks. Este paquete incluye un pequeño receptor que los
captura en un almacén local para que list_open_messages se convierta en una bandeja de entrada real.
# 1. Install the optional extra and run the receiver
pip install "ownerrez-mcp[webhook]"
ownerrez-mcp webhook # listens on 0.0.0.0:8000
# 2. Expose it on a public HTTPS URL (any tunnel works), e.g.
# ngrok http 8000 -> https://<something>.ngrok.appLuego registra esa URL (a través de la herramienta MCP o cualquier cliente):
create_webhook_subscription(url="https://<something>.ngrok.app/", category="message")Ahora los mensajes entrantes de huéspedes llegan al almacén, y en tu agente puedes preguntar
"muéstrame mis mensajes abiertos" (list_open_messages), responder con send_message usando
el thread_id del mensaje, y mark_message_handled para limpiarlo.
Configuración: OWNERREZ_STORE (ruta de la base de datos, por defecto ~/.ownerrez-mcp/messages.db),
OWNERREZ_WEBHOOK_HOST / OWNERREZ_WEBHOOK_PORT, y un opcional
OWNERREZ_WEBHOOK_SECRET (enviado como X-Webhook-Secret o ?secret=) para rechazar
publicaciones no autenticadas. Ejecuta siempre detrás de HTTPS.
Seguridad: modo de solo lectura
Establece OWNERREZ_READ_ONLY=1 para bloquear firmemente cada herramienta de escritura (mensajería, gastos,
cambios de webhook). Ideal para permitir que un asistente explore tus datos sin ningún
riesgo de que envíe mensajes a un huésped o modifique registros.
Verificar contra la API en vivo
ownerrez-mcp probe # read-only checks (safe)
ownerrez-mcp probe --probe-writes # also tests the expense POST endpoint with
# an invalid body (creates nothing)La salida te dice exactamente qué endpoints puede alcanzar tu token y si
la creación de gastos es WRITABLE o NOT SUPPORTED.
Instalar desde el código fuente
git clone https://github.com/buildwithmanag/ownerrez-mcp
cd ownerrez-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # fill in your credentials
ownerrez-mcp probe # sanity-check connectivityApunta tu cliente MCP al ejecutable del venv:
{
"mcpServers": {
"ownerrez": {
"command": "/path/to/ownerrez-mcp/.venv/bin/ownerrez-mcp",
"env": { "OWNERREZ_ACCESS_TOKEN": "..." }
}
}
}Referencia de configuración
Variable | Por defecto | Propósito |
| — | Token de acceso OAuth (preferido) |
| — | Token de Acceso Personal (auth básica) |
|
| Bloquear todas las herramientas de escritura cuando sea verdadero |
|
| Reintentos en 429/5xx |
|
| Tiempo de espera de la solicitud (segundos) |
|
| URL base de la API |
| — | Credenciales de la app OAuth (para |
Desarrollo
ruff check . # lint
pytest # testsConsulta CONTRIBUTING.md. Cada herramienta devuelve un sobre estructurado
{"ok": ...}, sigue la paginación v2 de OwnerRez, redacta secretos de
errores y reintenta fallos transitorios.
Licencia
MIT — consulta LICENSE. Referencia de la API: https://api.ownerrez.com/help/v2
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Vacation rental discovery, direct booking, and property protection for AI agents.
Connect e-commerce and marketing data to AI assistants via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jgonzalez007/OwnerRez-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server