jjesusaf

Proflores MCP Server

Community jjesusaf
Updated

Proflores MCP Server

Servidor MCP (Model Context Protocol) para el sistema de presupuestos de Proflores.

Stack

  • Python 3.12
  • MCP SDK (mcp[cli]>=1.26.0) con transporte Streamable HTTP
  • Supabase como base de datos
  • Deploy en Render (Docker)

Estructura

mcp-server/
├── src/
│   ├── server.py                # Entry point
│   ├── tools/
│   │   ├── catalogs.py          # 8 tools de lectura de catálogos
│   │   ├── budget.py            # 6 tools de presupuestos
│   │   └── catalog_write.py     # 6 tools de escritura de catálogos
│   ├── resources/
│   │   └── schema.py            # 2 resources (schema del sistema)
│   ├── prompts/
│   │   └── budget.py            # 2 prompts para flujos guiados
│   └── services/
│       ├── supabase_client.py   # Singleton del cliente Supabase
│       └── helpers.py           # to_json, resolve_uuid
├── requirements.txt
├── Dockerfile
├── render.yaml
├── .env.example
└── .gitignore

Setup local

cp .env.example .env
# Editar .env con tus credenciales de Supabase

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

python src/server.py

El servidor estará disponible en http://localhost:8000/mcp/.

Tools disponibles (20)

Lectura de catálogos (8)

Tool Descripción
list_companies Lista empresas registradas
list_clients Lista o busca clientes
list_projects Lista proyectos con filtros
list_concepts Lista conceptos (partidas de obra)
list_resources Lista recursos (materiales, mano de obra, equipo)
list_units_of_measure Lista unidades de medida
list_price_lists Lista listas de precios
list_suppliers Lista proveedores

Presupuestos (6)

Tool Descripción
list_budgets Lista presupuestos existentes
get_budget_detail Detalle completo de un presupuesto
create_budget Crea un presupuesto vacío (DRAFT)
add_budget_item Agrega una partida a un presupuesto
update_budget Actualiza campos de un presupuesto
update_budget_item Actualiza una partida

Escritura de catálogos (6)

Tool Descripción
create_client Crea un nuevo cliente
create_concept Crea un concepto (partida de obra)
create_apu Crea un APU (Análisis de Precio Unitario)
add_apu_item Agrega un recurso a un APU
create_resource Crea un recurso (material, mano de obra, equipo)
set_resource_price Asigna precio a un recurso en una lista de precios

Resources

  • schema://system-overview — Visión general del sistema
  • schema://budget-structure — Estructura de tablas de presupuestos

Prompts

  • budget_creation_assistant — Guía paso a paso para crear presupuestos
  • budget_review — Guía para revisar un presupuesto existente

Variables de entorno

Variable Descripción
SUPABASE_URL URL del proyecto Supabase
SUPABASE_SERVICE_ROLE_KEY Service role key de Supabase
MCP_HOST Host del servidor (default 0.0.0.0)
MCP_PORT Puerto del servidor (default 8000)

Deploy

El proyecto está configurado para deploy en Render con Docker. Ver render.yaml.

MCP Server · Populars

MCP Server · New