Software Estimation MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Software Estimation MCPEstimate a user login feature with WBS, PERT, risks, and a PDF proposal."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Software Estimation MCP
Servidor MCP en Python para convertir requerimientos de desarrollo de software en una estimación trazable, riesgos, cronograma, cotización y documentos PDF listos para revisión comercial.
Decisión de ecosistema
Python + FastMCP 4 + Pydantic + ReportLab. El dominio contiene cálculos deterministas y validaciones, y ReportLab genera PDF directamente sin necesitar Chromium, Node, fuentes descargadas o un servicio de conversión externo. El núcleo de negocio está separado de la capa MCP para que se pueda probar sin iniciar un agente.
Requiere Python 3.11 o superior. La línea fastmcp>=4,<5 corresponde a la versión estable actual de FastMCP a octubre de 2026. Para conectores de escritorio, el transporte por defecto es stdio; para despliegues en red se ofrece HTTP Streamable.
Related MCP server: Overseer MCP Server
Funcionalidades y herramientas MCP
Herramienta | Para qué sirve |
| Genera una WBS inicial para una nueva funcionalidad, bugfix, parche legado, refactor o integración. |
| Calcula tiempo esperado, desviación, varianza, nivel de riesgo e intervalos orientativos a partir de O/M/P. |
| Aplica buffers de codebase, integraciones, PM, QA y contingencia explícita. Los porcentajes se suman de forma aditiva sobre PERT, como en la especificación. |
| Calcula coste directo, overhead, precio a partir de margen sobre venta, impuesto indicado y total. |
| Estima días laborables y distribuye esfuerzo entre análisis, desarrollo, QA y despliegue, con fechas cuando se proporciona inicio. |
| Produce preguntas de descubrimiento para evitar comprometer plazo/precio con alcance ambiguo. |
| Genera un registro de riesgos típico, puntuación, nivel, mitigación y propietario sugerido. |
| Compara hasta diez escenarios de coste/precio y calendario bajo los supuestos recibidos. |
| Unifica WBS, PERT, precio, calendario, exclusiones, supuestos y riesgos en Markdown. |
| Genera una propuesta técnica/comercial en PDF. |
| Genera un plan de acción con fases, responsables, dependencias y evidencia de cierre. |
| Genera un plan de acción independiente en PDF. |
| Genera una cotización PDF independiente, con desglose financiero, supuestos y exclusiones. |
| Convierte Markdown a PDF para otros documentos. Admite títulos, listas y tablas; no descarga ni ejecuta HTML externo. |
Instalación en Windows (PowerShell)
Usa uv para un entorno reproducible a partir de uv.lock:
# Desde la carpeta del proyecto
uv sync --extra dev
# Prueba rápida del núcleo de negocio y del generador PDF
uv run pytest -q
# Iniciar el MCP en STDIO (normalmente lo inicia el cliente MCP)
uv run python -m estimation_mcp.serverInstalación directa desde GitHub
uv tool install "git+https://github.com/SantosRojas/software-estimation-mcp.git"O, en modo desarrollo con las dependencias de prueba:
uv pip install -e "git+https://github.com/SantosRojas/software-estimation-mcp.git#dev"Conectar con un cliente MCP
Hay dos plantillas en examples/; cambia las rutas por la ubicación real del proyecto:
examples/mcp-config.json— formatomcpServerspara Cursor, Claude Desktop u otro cliente compatible (Windows; la variante Linux está enexamples/mcp-config.linux.json).examples/opencode.json— formatomcp.serverspara OpenCode (Windows; Linux enexamples/opencode.linux.json). Puede usarse como configuración de proyecto en cualquier repositorio consumidor, o copiarse a~/.config/opencode/opencode.jsonpara disponer del servidor en todos los proyectos.
Formato estándar (mcpServers):
{
"mcpServers": {
"software-estimation": {
"command": "C:\\Projects\\software-estimation-mcp\\.venv\\Scripts\\python.exe",
"args": ["-m", "estimation_mcp.server"],
"env": {
"ESTIMATOR_OUTPUT_DIR": "C:\\Projects\\software-estimation-mcp\\output",
"ESTIMATOR_TRANSPORT": "stdio",
"ESTIMATOR_LOG_LEVEL": "INFO"
}
}
}
}Formato OpenCode (opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"software-estimation": {
"type": "local",
"command": [
"C:\\Projects\\software-estimation-mcp\\.venv\\Scripts\\python.exe",
"-m",
"estimation_mcp.server"
],
"environment": {
"ESTIMATOR_OUTPUT_DIR": "C:\\Projects\\software-estimation-mcp\\output",
"ESTIMATOR_TRANSPORT": "stdio",
"ESTIMATOR_LOG_LEVEL": "INFO"
}
}
}
}
}El cliente ejecuta un proceso independiente. Reinicia el cliente MCP después de modificar su configuración. No escribas mensajes de depuración en stdout de un servidor stdio; ese canal transporta el protocolo.
Transporte HTTP Streamable
Solo para despliegues en red. Primero instala el paquete en un entorno virtual del host; después configura:
$env:ESTIMATOR_TRANSPORT = "http"
$env:ESTIMATOR_HTTP_HOST = "127.0.0.1"
$env:ESTIMATOR_HTTP_PORT = "8000"
$env:ESTIMATOR_OUTPUT_DIR = "C:\\ProgramData\\SoftwareEstimationMCP\\output"
python -m estimation_mcp.serverEl endpoint queda en http://127.0.0.1:8000/mcp. El valor predeterminado es loopback intencionalmente. No lo expongas directamente a Internet: ponlo detrás de un gateway/proxy con autenticación, autorización, TLS, límites de solicitudes y registro operativo. Para una instalación remota real, habilita la autenticación de FastMCP o la del gateway y prueba los permisos del directorio de documentos antes de producción.
Configuración de archivos de salida
Los PDF se guardan en ESTIMATOR_OUTPUT_DIR; por defecto, en ./output relativo al directorio desde donde se inició el proceso. La herramienta devuelve ruta absoluta, URI local, nombre, tamaño y SHA-256. El cliente/usuario debe tener acceso a la ruta del servidor: la ruta local no se transfiere automáticamente al agente remoto.
Los nombres se convierten a slug seguro, se ignoran directorios indicados por el modelo y se usa un nombre alternativo si el archivo ya existe. No se sobrescriben documentos anteriores de forma silenciosa.
Flujo de trabajo recomendado
Ejecutar
analyze_scope_gapscon el requerimiento disponible. Resolver con el usuario las preguntas críticas; no marcar una categoría como cerrada por inferencia.Ejecutar
wbs_breakdowny ajustar las tareas al alcance confirmado. Solicitar O/M/P por tarea y ejecutarcalculate_pert.Ejecutar
apply_buffersusando el tipo de código, integraciones y QA reales. La contingencia extra debe justificarse para no duplicar reservas.Ejecutar
calculate_quotationcon tarifa de coste, overhead, margen, moneda y tasa tributaria confirmados. La tasa fiscal por defecto es 0; la herramienta no adivina el tratamiento tributario.Ejecutar
generate_roadmapcon capacidad efectiva, disponibilidad real y fecha objetivo cuando se conozca.Usar
build_risk_register; revisar probabilidad/impacto y asignar responsables reales.Generar
generate_proposal_markdowny revisar supuestos, exclusiones, alcance, impuesto, cronograma y condiciones comerciales.Generar
generate_proposal_pdfpara la propuesta completa,generate_quote_pdfpara una cotización corta ogenerate_action_plan_pdfpara el plan interno/de ejecución.Revisar el PDF final manualmente antes de enviarlo al cliente.
Metodología y límites importantes
PERT:
E = (O + 4M + P) / 6;SD = (P - O) / 6; se combina varianza asumiendo independencia.E + SDyE + 2SDson referencias aproximadas, no promesas de fecha ni intervalos calibrados para todos los proyectos.Buffers: los porcentajes se suman sobre la estimación base, de acuerdo con la especificación original; no se aplican en cascada. No dupliques una reserva ya incluida en cada tarea.
Margen: el precio antes de impuestos es
coste total / (1 - margen objetivo), es decir, margen sobre venta y no recargo sobre coste.Calendario: se estiman días laborables lunes-viernes, sin festivos, vacaciones, ruta crítica o asignaciones parciales por persona. Es una primera aproximación de capacidad.
Cotización: la moneda predeterminada es
PEN, pero la tasa tributaria predeterminada es0%y debe indicarse explícitamente. Verifica la normativa aplicable, IGV/IVA, retenciones, licencias, alcance, plazos, vigencia y condiciones de pago.La WBS, preguntas y riesgos son ayudas para el profesional; no reemplazan el juicio técnico, la validación con el cliente ni un contrato aprobado.
Observabilidad
Cada invocación de herramienta emite logs estructurados en JSON por stderr (nunca por stdout, que transporta el protocolo STDIO):
{"event": "tool_started", "tool": "calculate_pert", "correlation_id": "9676921e1f1c423b"}
{"event": "tool_completed", "tool": "calculate_pert", "correlation_id": "9676921e1f1c423b", "duration_ms": 0.18}
{"event": "tool_failed", "tool": "calculate_pert", "correlation_id": "83c9fa46b78a4895", "duration_ms": 0.07, "error_type": "ValueError", "error": "..."}correlation_idsigue una llamada de extremo a extremo en los logs del host.duration_mspermite calcular latencia; los eventostool_completed/tool_failedsirven como contadores de éxito/fallo.El nivel se controla con
ESTIMATOR_LOG_LEVEL(DEBUG,INFO—predeterminado—,WARNING,ERROR). Un nivel inválido cae aINFO.
Pruebas
uv run pytest -q
uv run ruff check src testsLas pruebas cubren fórmulas, validaciones de entradas, suma de buffers, cálculo de margen e impuesto, reparto de días de fases, preguntas de alcance, orden del registro de riesgos, comparación de escenarios, escritura de PDF y la protección contra path traversal. Los archivos examples/demo-*.pdf son ejemplos ficticios, no cotizaciones reales.
Estructura
src/estimation_mcp/
domain/estimation.py # cálculos de estimación y cronograma
domain/scope.py # preguntas de alcance y registro de riesgos
services/documents.py # Markdown y PDF
observability.py # logs estructurados por stderr
server.py # herramientas y transporte MCP
cli.py # entry point opcional
tests/ # pruebas automatizadas
.github/workflows/ci.yml # CI: ruff + pytest en 3.11 y 3.13
examples/ # configuración y PDFs ficticios
docs/ # guía y referencia de herramientasThis server cannot be deployed
Maintenance
Related MCP Connectors
Estimate software projects by independent expert judgement, with your team and an AI estimator.
Construction takeoff and estimating for AI agents. Measure a drawing PDF, export a priced estimate.
Structured visual plans and PR recaps with diagrams, prototypes, annotations, and sharing
Operating system for creative companies: clients, projects, estimates, contracts, invoices, talent
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables automated project analysis and structured development specification generation. Supports multiple export formats and integrates with AI models for comprehensive project documentation and validation.-
- FlicenseAqualityNot gradedmaintenanceProvides structured project management through phase-based workflows, enabling planning, execution tracking, compliance checking, and automated documentation for software development projects.12-
- FlicenseNot gradedqualityCmaintenanceProvides structured task planning and tracking capabilities with 40 tools for managing requirements, solutions, architectural decisions, and hierarchical implementation phases with progress tracking.-
- AlicenseNot gradedqualityDmaintenanceEnables intelligent task management, multi-agent workflows, and cross-IDE project management through the BMAD methodology, with features like time tracking, quality gates, and project templates.94 npmMIT