Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Integrates Presto construction budgeting software with Claude Code, enabling analysis, audit, and search of BC3 budget files locally or via WebAPI.

README.md

presto-mcp-server

![CI](https://github.com/NeoNexAI/presto-mcp-server/actions/workflows/ci.yml) ![PyPI](https://pypi.org/project/presto-mcp-server/) ![Python](https://pypi.org/project/presto-mcp-server/) ![License: MIT](LICENSE)

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

Por NeoNexAI Agency, para clientes de consultoría IA que usan Presto.

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 en el PC

  • Windows (la vía COM es Windows-only).
  • Python ≥ 3.10 + uv (pip install uv).
  • Presto 2025 instalado Y ABIERTO para la vía COM (control de la obra en vivo).

El MCP se conecta a la instancia de Presto en ejecución; para operar sobre una obra concreta, ábrela en Presto antes. Si tu versión no es la 25, fija el ProgID con PRESTO_PROGID (p. ej. Presto.App.26).

  • La vía BC3 NO necesita Presto (ni instalado ni abierto): solo lee/analiza

ficheros .bc3.

  • Comprueba la conexión en cualquier momento con la tool presto_status.

Resumen rápido: tools presto_bc3_* → funcionan siempre (solo ficheros). El resto (COM) → requieren Presto 2025 abierto en este mismo equipo.

---

Instalación

Publicado en PyPI como presto-mcp-server. uvx lo instala y ejecuta sin dejar nada que mantener; @latest trae siempre la última versión.

Opción 1 — con el comando de Claude Code (si tienes el CLI claude)

claude mcp add presto -s user -- uvx presto-mcp-server@latest

-s user lo deja disponible en todos los proyectos de ese PC. Para una versión de Presto distinta de la 2025: --env PRESTO_PROGID=Presto.App.26.

Opción 2 — sin CLI, editando la configuración a mano

Útil con Claude Desktop o si el comando claude no existe en el equipo. Añade el bloque "presto" dentro de mcpServers y reinicia la app:

  • Claude DesktopC:\Users\<usuario>\AppData\Roaming\Claude\claude_desktop_config.json

(en la app: Settings → Developer → Edit Config).

  • Claude Code (config global de usuario)C:\Users\<usuario>\.claude.json,

bajo la clave raíz mcpServers.

{
  "mcpServers": {
    "presto": {
      "command": "uvx",
      "args": ["presto-mcp-server@latest"],
      "env": { "PRESTO_PROGID": "Presto.App.25" }
    }
  }
}

Reinicia la app del todo (en Claude Desktop, ciérrala también desde el icono de la bandeja del sistema → Quit).

Si la app no encuentra uvx (PATH), pon la ruta absoluta como command (en PowerShell: where.exe uvx), con barras dobles \\ en el JSON.

Alternativas:

# con pip en vez de uv
pip install presto-mcp-server         # luego command="python", args=["-m","presto_mcp"]

# sin PyPI, directo de GitHub (no autoactualiza salvo --refresh)
uvx --from git+https://github.com/NeoNexAI/presto-mcp-server presto-mcp

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 | | presto_expresion | Calcula una expresión del motor de Presto (EvalStr/EvalNum) | | presto_tablas | Lista las tablas que el servidor conoce por su nombre canónico | | presto_selftest | Autodiagnóstico de solo lectura: un informe único OK/FALLO por paso |

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.

---

¿Y Presto ServerCloud (WebAPI REST)?

Presto de escritorio no expone API REST. La WebAPI (REST sobre HTTP) solo existe con la licencia Presto ServerCloud (suscripción aparte + IIS). Por eso este MCP usa COM local (la vía correcta para escritorio + dongle/pincho).

Si algún día se contrata ServerCloud, no hace falta un MCP aparte: se añade a este mismo paquete una capa presto_webapi_* que se activa por variables de entorno (PRESTO_WEBAPI_URL / PRESTO_WEBAPI_USER / PRESTO_WEBAPI_PASS). Mientras no estén configuradas, el MCP funciona con COM + BC3 como siempre. → Un solo MCP, tres backends: COM (obra en vivo) · BC3 (ficheros) · WebAPI (solo si hay ServerCloud).

Desarrollo y tests

El reto de este MCP: la vía COM solo se puede probar de verdad con Presto abierto en Windows — y Presto no corre en CI ni en el equipo donde se desarrolla. Por eso hay dos niveles de test, cada uno cubre lo que el otro no puede:

pip install pytest
python -m pytest tests/ -v
  • tests/fake_presto_app.py — un objeto COM simulado (FakePrestoApp) que

reproduce los modos de fallo REALES de la API de Presto: máscara sin comillas → "Sintaxis incorrecta en expresión", campo no-clave como clave → "Clave incorrecta", tabla en minúscula → "Archivo incorrecto". Con él, tests/test_presto_com_mock.py ejercita el flujo completo (selectiterateget_field, read_records en sus dos vías, set_field/Rename) sin necesitar Presto instalado. Cualquier regresión en presto_com.py se ve aquí en segundos, antes de publicar.

  • presto_selftest (tool MCP) — para el otro lado del problema: verificar

que una instalación de Presto REAL responde bien. Un solo mensaje del cliente ("ejecuta presto_selftest y pégame el resultado") sustituye a varias idas y vueltas probando tools sueltas. tests/test_selftest.py prueba su lógica (_run_selftest) contra el mock.

python -m py_compile src/presto_mcp/*.py     # comprobar sintaxis

Estado de validación: parser BC3 (6/6), helpers COM (8/8), flujo COM completo contra el mock (8/8), autodiagnóstico (4/4) — 26/26 tests, todos sin Presto instalado. El servidor MCP carga y registra 18 tools. La conexión COM contra un Presto real solo puede validarse en un equipo con Presto 2025 abierto: para eso está presto_selftest, pensado para que esa última validación sea un solo mensaje, no una sesión de pruebas.

---

Licencia

MIT · NeoNexAI Agency

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.