Constructora Colombia MCP Server
Provides intelligent construction quotation and cost lookup for Colombia, enabling natural language queries for activities, categories, and detailed pricing from an Excel database.
README
Constructora Colombia — MCP Server para OpenClaw
Sistema de cotizaciones inteligente para construcción colombiana.
OpenClaw es el cerebro (recibe mensajes por Telegram, razona, decide).
Python MCP Server es la herramienta (busca en Excel, calcula, extrae datos).
Arquitectura
Usuario → Telegram
↓
OpenClaw Gateway ← canal Telegram nativo
↓ (razona, elige herramienta)
MCP Server (Python)
↓ (datos crudos)
OpenClaw analiza y responde
↓
Usuario ← Telegram
- OpenClaw: IA que conversa con el usuario, decide qué tool usar e interpreta resultados
- MCP Server: 5 herramientas Python que consultan el Excel de construcción
- Excel: Fuente única de precios (1165 actividades, 21 recursos salariales, 18 capítulos)
Herramientas MCP
| Herramienta | Qué hace |
|---|---|
buscar_actividades |
Búsqueda inteligente por similitud (rapidfuzz) |
cotizar |
Calcula cotización completa con detección de dimensiones |
interpretar |
Extrae intención, actividad y dimensiones del texto |
listar_categorias |
Lista los 18 capítulos de construcción disponibles |
obtener_detalle_actividad |
Desglose completo de recursos y precios unitarios |
Uso con OpenCode (CLI)
cd /opt/constructora
opencode
OpenCode leerá AGENTS.md automáticamente y cargará las 5 herramientas MCP desde opencode.json. Puedes empezar a preguntar en lenguaje natural.
Uso con OpenClaw Gateway (Telegram)
# 1. Configurar y ejecutar setup
TELEGRAM_BOT_TOKEN="123:abc" TELEGRAM_USER_ID="123456" bash deploy/setup.sh
# 2. Iniciar Gateway
openclaw gateway
Instalación en Ubuntu
# 1. Clonar el repositorio
git clone <tu-repo> /opt/constructora
cd /opt/constructora
# 2. Ejecutar setup
TELEGRAM_BOT_TOKEN="123:abc" TELEGRAM_USER_ID="123456" bash deploy/setup.sh
El setup.sh:
- Instala dependencias Python
- Configura
openclaw.jsoncon tu token de Telegram - Crea servicio systemd opcional para el MCP Server
- Verifica que el MCP Server funciona
Configuración manual de OpenClaw
Después de ejecutar setup.sh, tu openclaw.json se ve así:
{
"mcpServers": {
"constructora-colombia": {
"command": "python3",
"args": ["-m", "app.mcp_server"],
"env": { "PYTHONPATH": "/opt/constructora" }
}
},
"channels": {
"telegram": {
"enabled": true,
"botToken": "TU_TOKEN",
"dmPolicy": "allowlist",
"allowFrom": ["TU_USER_ID"]
}
}
}
Uso en Telegram
Ejemplos de mensajes que entiende el sistema:
| Mensaje | Comportamiento |
|---|---|
| "Necesito cotización para poner cerámica en una habitación de 6x8" | Cotiza 48m2 de enchape |
| "Ponme baldosa barata" | Busca opciones de baldosa económica |
| "Cuanto vale pintar una pared de 10m2" | Cotiza pintura vinílica |
| "Panyete para 30m2" | Cotiza revoques |
| "Qué categorías hay?" | Lista capítulos disponibles |
| "Muéstrame actividades de PISOS" | Lista actividades de pisos |
| "Dame detalle de Enchape en cerámica" | Muestra APU completo |
Desarrollo local (FastAPI)
Opcionalmente puedes correr la API HTTP para debug:
pip install -r requirements.txt
python -m app.main
# → http://localhost:8000/docs
Estructura del proyecto
constructora/
├── app/
│ ├── main.py FastAPI (debug) + entry point MCP
│ ├── mcp_server.py MCP Server con 5 herramientas
│ ├── config.py Configuración
│ ├── database/
│ │ ├── excel_reader.py Lector de Excel (pandas + openpyxl)
│ │ └── models.py Modelos de datos
│ ├── tools/
│ │ ├── search.py Búsqueda fuzzy (rapidfuzz)
│ │ └── calculator.py Cálculo de cantidades
│ ├── api/
│ │ ├── routes.py Endpoints REST
│ │ └── schemas.py Pydantic schemas
│ └── utils/
│ └── text_parser.py NLP: intención + dimensiones
├── data/
│ └── dataconstru.xlsx Base de datos de construcción
├── deploy/
│ └── setup.sh Script de instalación para Ubuntu
├── openclaw.json Configuración para OpenClaw
├── requirements.txt
└── README.md
Próximas etapas
- [ ] Embeddings semánticos (sentence-transformers + ChromaDB)
- [ ] Búsqueda híbrida (fuzzy + vectorial)
- [ ] RAG con precios web Colombia
- [ ] PDFs profesionales (reportlab)
- [ ] APU detallados con desglose de materiales
- [ ] Historial de clientes y memoria conversacional
Licencia
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.