pmo.run MCP server — classic PMO decision tools (PERT, Monte Carlo, TCO, EVM) over the Model Context Protocol.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"pmorun-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# pmo.run MCP Server An MCP server that exposes the pmo.run **decision-logic** modules — PERT, Monte Carlo, TCO and EVM — as tools an LLM can call. It is one half of the composition pattern that makes pmo.run useful: a data-source MCP (Airtable, GitHub) feeds records in; this server runs the maths; Claude orchestrates and narrates the result. > **What this is.** Four classic PMO tools, stdio transport, structured errors, > plus an **opt-in calibration memory** (a local SQLite estimation log — see > [Calibration memory](#calibration-memory-opt-in)), which takes the surface from > four tools to eight when you set `PMORUN_DB`. Published to PyPI as > [`pmorun-mcp`](https://pypi.org/project/pmorun-mcp/) — install it or run it > from a source checkout (see [Install](#install)). Version history: > [CHANGELOG](https://github.com/lemur47/logic/blob/main/CHANGELOG.md). The hosted > lane (Streamable HTTP + auth) is a **separate product**, not a later version of > this package — see [Out of scope](#out-of-scope-for-this-package). ## What's in the box Each tool is a thin adapter over the corresponding `app.{module}.core` function, with inputs and outputs validated by the **same Pydantic models as the FastAPI surface** — one source of truth, no duplication. | Tool | Decision question | Wraps | |---|---|---| | `estimate_task_duration` | "How long will this single task take, given a three-point estimate and known frictions?" | `app.pert.core.calculate_task` | | `identify_schedule_risk` | "Across this task network, how long are we likely to take and which tasks drive the risk?" | `app.montecarlo.core.simulate_schedule` | | `compare_investment_options` | "Of these vendor / platform / tool options, which is cheapest on real lifetime cost?" | `app.tco.core.compare_options` | | `evaluate_project_health` | "Given PV / EV / AC / BAC, are we on track, at risk, or off track?" | `app.evm.core.evm_metrics` + `health_signal` | Tools are named verb-noun (`estimate_*`, `identify_*`, `comp…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.