belle-mcp-server
belle-mcp-server
Un servidor de referencia del Model Context Protocol (MCP) que expone datos reales de gestión de propiedades de Belle Realty (propiedades, inquilinos, contratos de arrendamiento, partes de mantenimiento, renta) como herramientas que Claude Desktop, Cursor o cualquier cliente compatible con MCP puede invocar directamente.
Seis herramientas. Cinco son estrictamente de solo lectura. Una es una propuesta de escritura controlada por HITL. Esa proporción es intencionada y es el objetivo principal de este repositorio.
Parte del AI Fluency Program — Nivel 2.
Por qué existe esto
La mayoría de las demostraciones de "IA + tus datos" otorgan al modelo acceso sin restricciones a la base de datos. Eso es un riesgo.
El Model Context Protocol está diseñado para exponer una superficie pequeña y seleccionada con autenticación por herramienta, límites de tasa y auditoría: la misma disciplina que aplicarías a una API REST pública. Este repositorio muestra cómo se ve eso para un dominio real (un centro comercial de Luisiana) con un esquema Postgres real, una semilla funcional y una única ruta de escritura controlada por HITL.
Si entiendes este repositorio, puedes crear uno para cualquier negocio que dirijas.
Related MCP server: NDI-MCP-Server
Qué incluye
Herramienta | Qué hace | ¿Escritura? |
| Filtra la cartera por tipo/ciudad. | no |
| Lista los inquilinos, opcionalmente limitados a una propiedad. | no |
| Obtiene un contrato por lease_id/suite_id/tenant_id. | no |
| Búsqueda multifiltro entre partes de mantenimiento. | no |
| Calcula una instantánea completa de la renta de una propiedad. | no |
| Guarda una respuesta propuesta al inquilino como BORRADOR (approved=false). | Escritura controlada por HITL |
Cada llamada tiene límite de tasa (60/min por defecto) y se registra en el registro de auditoría mcp_audit_log.
Inicio rápido
# 1. Clone + install
git clone https://github.com/OrangeOnyx/belle-mcp-server.git
cd belle-mcp-server
npm install
# 2. Configure
cp .env.example .env
# Paste your Supabase URL + service-role key
# 3. Set up the schema (Supabase project)
# Copy supabase/migrations/0001_init.sql into the SQL editor and run.
# 4. Seed demo data
npm run db:seed
# 5. Build + inspect
npm run build
npm run inspectEl MCP Inspector abre una interfaz donde puedes listar herramientas, invocarlas y ver las respuestas en bruto.
Conéctalo a Claude Desktop
Añade lo siguiente a ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o el equivalente en Windows/Linux:
{
"mcpServers": {
"belle-realty": {
"command": "node",
"args": ["/absolute/path/to/belle-mcp-server/dist/index.js"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}Reinicia Claude Desktop. Ahora verás un conjunto de herramientas belle-realty. Prueba con:
"¿Qué locales están ocupados actualmente en On The Boulevard y cuánto alquiler mensual generan?"
Claude llamará a get_rent_roll y responderá con los datos devueltos.
El patrón de escritura HITL
La única herramienta de escritura (draft_maintenance_response) ilustra un patrón general que deberías copiar para cualquier servicio orientado a IA:
La IA propone un cambio (aquí, una respuesta a un parte de mantenimiento de un inquilino).
El servidor lo guarda como
approved=false.Nada se entrega, envía ni aplica hasta que un humano lo aprueba fuera de banda (normalmente en la interfaz de administración del gestor de la propiedad).
La superficie MCP deliberadamente no expone una herramienta de aprobación. La aprobación es una operación exclusivamente humana.
Esto significa que un agente demasiado entusiasta o con inyección de prompts no puede enviar texto silenciosamente a un inquilino. Puede proponer, y puede proponer en voz alta. No puede enviar.
Para un tutorial más detallado, consulta docs/hitl-pattern.md.
Guía de uso personal
Eres un propietario particular con 3 casas de alquiler o un pequeño edificio comercial.
Ejecuta la migración en tu proyecto Supabase.
Siembra con tus propios datos (edita
supabase/seed.tso inserta filas manualmente).Apunta Claude Desktop al servidor.
Haz preguntas como "¿qué inquilino tiene un contrato que vence en los próximos 90 días?" o "redacta una respuesta al parte sobre el calentador de agua".
Ya has creado una capa de operaciones de inquilinos nativa de IA que habla tus datos. Te costó una tarde.
Guía de uso empresarial
Diriges Belle Realty (o una empresa de gestión equivalente). Varios empleados necesitan acceso a Claude a los datos de la cartera sin ver SQL en bruto y sin riesgo de escrituras accidentales.
Despliega este servidor como un proceso persistente (Railway, Fly o un host Docker).
Establece
MCP_TRANSPORT=httpyMCP_HTTP_TOKEN=<secreto-compartido>.Cada compañero configura Claude Desktop o Cursor con la URL y el token.
Las herramientas de solo lectura dan ventaja a todos. La única herramienta de escritura protege la relación con el inquilino.
mcp_audit_logte proporciona un registro posterior de cada acción de la IA.
Arquitectura
graph LR
A[Claude Desktop / Cursor] -->|MCP stdio or HTTP| B[belle-mcp-server]
B --> C[RateLimiter]
B --> D[Zod validation]
B --> E[Supabase Postgres]
B --> F[mcp_audit_log]
E --> G[(properties, tenants, leases, tickets)]Detalles en docs/architecture.md.
Cómo ampliarlo
Añade una nueva herramienta en 4 pasos:
Añade un esquema Zod para la entrada en
src/schemas/domain.ts(si la forma de los datos es nueva).Crea
src/tools/<nombre>.tscon un esquema deinput, un manejador y una definición JSON-Schema.Regístralo en
src/tools/index.ts.Añade pruebas en
tests/.
Toda herramienta de escritura debe seguir el patrón de propuesta de escritura en draft_maintenance_response.
Despliegue
Railway (recomendado para transporte HTTP)
railway uprailway.json compila el servidor y ejecuta node dist/index.js. Establece las variables de entorno en el panel de Railway.
Local (solo stdio)
Solo compila y apunta tu cliente MCP a dist/index.js. No se necesita alojamiento.
Desarrollo
npm run dev # tsx watch mode
npm run test # vitest
npm run build # tsc → dist/
npm run inspect # MCP Inspector UIRepositorios relacionados
lease-abstractor— extrae una abstracción estructurada de un PDF/DOCX de contratosupport-triage-agent— el mismo patrón HITL aplicado a mensajes de soportediligence-agent— diligencia basada en RAG sobre una carpeta de documentosai-fluency-program— plan de estudios principal
Licencia
MIT — consulta LICENSE.
No es asesoramiento legal, fiscal ni de gestión de propiedades. No lo utilices para decisiones críticas de cumplimiento sin un profesional autorizado.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
API-first CRM for LLMs - contacts, companies, deals and activities over a native MCP server.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server built with the mcp-framework for developing and managing custom tools. It provides a structured foundation for building and integrating modular components like data processors and API clients into Claude Desktop.12 npm-
- AlicenseAqualityDmaintenanceBuilt an MCP server that connects Claude Desktop, Cursor, or any MCP client to Northeast Deal Intel's CRE database. 8 tools: • search_deals — filter 14K+ active listings by state, type, score, cap rate • search_comps — 100K+ closed transactions for comp benchmarking • score_deal — submit any property for AI scoring against real comp data • find_1031_candidates — exchange-ready deal filter (price8MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server providing tools for DB queries, API calls, file I/O, and text transformations, enabling AI agents like Claude to perform real-world actions.10MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that wraps AppFolio's REST API so Claude can call it natively in any conversation. 38 tools covering portfolio structure, leasing, financials, maintenance, and admin.1-