Skip to main content

MCP server para Presto (RIB) — automatizacion COM local (Presto.App.25) + BC3 (FIEBDC-3). NeoNexAI.

Project description

presto-mcp-server

MCP server que conecta Claude con Presto (software de presupuestos y mediciones de RIB Software) — versión 2025.

Por NeoNexAI Agency (para Cota Zero y clientes de consultoría IA).

Dos vías complementarias:

  • COM en vivo (Presto.App.25) — controla la obra abierta en Presto: leer/escribir conceptos, precios y cualquier campo, e invocar opciones internas del programa. Requiere Presto instalado y ejecutándose en el mismo equipo.
  • BC3 (FIEBDC-3) — lee y analiza ficheros de presupuesto sin abrir Presto (multiplataforma; ideal para auditoría rápida).

Presto de escritorio no tiene API REST (eso es solo Presto ServerCloud). La integración local correcta es COM, que la documentación oficial de RIB soporta para VBScript, VB.NET y Python (win32com) — que es lo que usa este server.


Requisitos

  • Windows (la vía COM es Windows-only).
  • Presto 2025 instalado en el equipo (para la vía COM). Si tu versión no es la 25, fija el ProgID con la variable PRESTO_PROGID (p. ej. Presto.App.26).
  • Python ≥ 3.10.
  • La vía BC3 funciona sin Presto (solo necesita los ficheros .bc3).

Instalación en el PC del cliente (Claude Code)

Requiere tener Python y, recomendado, uv (pip install uv). Luego, en una terminal:

claude mcp add presto -s user -- uvx --from git+https://github.com/NeoNexAI/presto-mcp-server presto-mcp
  • -s user → disponible en todos los proyectos de ese PC.
  • uvx instala y ejecuta sin dejar nada que mantener; al actualizar el repo, vuelve a tomar la última versión.

Alternativa con pip (si no quieres uv):

pip install git+https://github.com/NeoNexAI/presto-mcp-server
claude mcp add presto -s user -- python -m presto_mcp

Claude Desktop — bloque equivalente en su mcp.json:

{
  "mcpServers": {
    "presto": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/NeoNexAI/presto-mcp-server", "presto-mcp"],
      "env": { "PRESTO_PROGID": "Presto.App.25" }
    }
  }
}

Para la vía COM: abre Presto (y la obra, si la operación la necesita) antes de usar las herramientas. Comprueba la conexión con presto_status.


Herramientas

Conexión y obra

Tool Qué hace
presto_status Comprueba la conexión COM y devuelve el ProgID activo
presto_open_obra Abre una obra .Presto en la instancia en ejecución
presto_close_obra Cierra la obra abierta

Genéricas — cobertura del 100% del modelo de datos

Tool Qué hace
presto_read_records Lee cualquier tabla/campos filtrando por máscara
presto_get_field Lee un campo de un registro por su código
presto_set_field Escribe un campo (transaccional, deshacible)
presto_execute_option Ejecuta cualquier opción interna de Presto (DLG_*) con JSON

Curadas — conceptos y precios

Tool Qué hace
presto_get_concepto Código, unidad, resumen y precios de un concepto
presto_search_conceptos Busca conceptos por resumen o código
presto_get_precios Precios en todos los esquemas (presupuesto, certificación, real, objetivo, planificado)
presto_set_precio Fija el precio de un concepto en un esquema

BC3 (FIEBDC-3) — sin Presto

Tool Qué hace
presto_bc3_resumen Resumen de un fichero BC3 (conceptos, capítulos, emisor)
presto_bc3_buscar Busca conceptos por texto en un BC3
presto_bc3_concepto Concepto del BC3 con texto y descomposición
presto_bc3_anomalias Precios a 0/ausentes, sin resumen, partidas sin descomposición

Modelo de datos de Presto (referencia rápida)

La automatización trabaja sobre tablas.campo. Los nombres exactos se ven en Presto con Ver: Lista de campos. Los más usados:

  • Tabla Conceptos: Conceptos.Código (clave única), Conceptos.Resumen, Conceptos.Ud, y precios Conceptos.PrPres (presupuesto), PrCert (certificación), PrReal, PrObj (objetivo), PrPlan (planificado).
  • Filtrado por máscara con comodines de Presto: "E04*", "*hormigón*", "*".

Operaciones masivas (multiplicar precios, reducir niveles, generar objetivo, exportar/importar formatos…) → presto_execute_option con el código del diálogo.


Desarrollo

python -m py_compile src/presto_mcp/*.py     # comprobar sintaxis
python tests/test_bc3.py                      # tests del parser BC3 (sin Presto)

Estado de validación: el parser BC3 está verificado (6/6 tests) y el servidor MCP carga y registra las 15 tools. La vía COM solo puede probarse e2e en un equipo con Presto 2025 abierto → se valida en sesión presencial con el cliente. Si algún nombre de campo difiere en una instalación concreta, se ajusta con Ver: Lista de campos (las tools genéricas aceptan cualquier tabla.campo).


Licencia

MIT · NeoNexAI Agency

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

presto_mcp_server-2.0.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

presto_mcp_server-2.0.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file presto_mcp_server-2.0.0.tar.gz.

File metadata

  • Download URL: presto_mcp_server-2.0.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for presto_mcp_server-2.0.0.tar.gz
Algorithm Hash digest
SHA256 dbcc934383b67be018cdf50074775087346e623d8d137bc7f0c1b977b7323976
MD5 b9e02144e182c83af73e450f914d205c
BLAKE2b-256 e384a496406b0abafe5337b2dca2528ab524a1c263ef09c896791d16cc5c1d18

See more details on using hashes here.

File details

Details for the file presto_mcp_server-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for presto_mcp_server-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97dc22824c04a9e6dc211ad0ddc955663201f94a42fd81041c6f50c38138ef78
MD5 c8186c3237a44ca43c20bc3992e76f72
BLAKE2b-256 9b319013fc2d8945ef1494e8918c51e4c986ecb7b9955936552bfa2538ea0260

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page