- Language
- Python
- Last commit
- 2h ago
- Forks
- 3
- Open issues
- 0
- Registry update
- Oct 14, 2026
Connect
remote + pypi$claude mcp add --transport http startup-valuation https://startup-valuation.ascent-partners.com/apiHeaders
Nothing to configure — it works as is.
Security review
Review passedReviewed 58m ago.
- tools
- 14 tools scanned
- metadata
- scanned
- packages
- 1 checked
No findings.
Tools
14valuation_probability
Compute expected value and probability-weighted outcomes for startup scenarios: discrete E[X], joint probability of sequential events, probability-weighted value, VC portfolio expected return, Poisson event probability, and continuous E[X] over a range. Method selects the formula. Use for probability-weighted central estimates; for named bull/base/bear tables or option pricing use valuation_advanced, and to discount cash flows use valuation_time_value. Parameters apply per method: expected_value_discrete and probability_weighted need outcomes + probabilities; portfolio_return needs weights + returns; poisson needs mean_events + k; expected_value_continuous needs lower + upper. outcomes and probabilities must be equal length, and the probabilities should sum to 1. Routing: use valuation_advanced method 'scenario_analysis' for named bull/base/bear scenario tables, and its black_scholes/binomial methods for option pricing; use this tool for arbitrary outcome lists and probability-weighted
valuation_time_value
Discount, compound, and forecast value over time: single future value PV, net present value of a cash-flow stream, annuity present value, discounted cash flow with a Gordon terminal value, constant-rate compound growth of revenue or cash flow, and the implied compound annual growth rate (CAGR). Method selects the formula. Use to convert future cash to today's value, to value a full forecast with a terminal value (dcf), to project a revenue or cash-flow series forward, or to derive the growth rate implied by two values; get the discount rate from valuation_capm or valuation_international. Parameters apply per method: present_value needs future_value + rate + periods; npv needs cash_flows + rate; annuity needs payment + rate + periods; dcf needs cash_flows + rate (optional: terminal_growth); compound_growth needs starting_value + growth_rate + periods; cagr needs starting_value + ending_value + periods. growth_rate must be greater than -1, cagr requires starting_value > 0 and periods > 0
valuation_capm
Estimate the cost of capital: standard CAPM, startup-adjusted CAPM with size and illiquidity premiums, portfolio beta from weighted asset betas, and WACC blending after-tax cost of equity and debt. Method selects the formula. Use to derive the discount rate that feeds valuation_time_value and DCF models; for cross-border rates add valuation_international. Parameters apply per method: capm needs risk_free_rate + beta + market_return; startup_capm adds size_premium and liquidity_premium; portfolio_beta needs weights + betas, which must be equal length; wacc needs equity_value + debt_value + cost_of_equity + cost_of_debt + tax_rate. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pur
valuation_core
The textbook's pre-revenue methods: Scorecard, Berkus, Risk-Factor Summation, VC Method (post- and pre-money), and exit terminal value. Use these first for early-stage startups. Method selects the formula, and each method names its own parameters: scorecard needs average_valuation + weights + scores; berkus takes five factor awards; risk_factor needs base_valuation + risk_ratings; vc_post_money needs terminal_value + target_return; vc_pre_money needs post_money + investment; terminal_value needs projected_revenue + multiple; triangulated needs the scorecard inputs plus terminal_value/target_return/investment. Routing: for SAFEs, tokens, ESG, network effects, or data-moat methods use valuation_emerging; for options or bull/base/bear scenario tables use valuation_advanced; for public-comparable multiples use valuation_comparables. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined).
valuation_advanced
Advanced techniques: Black-Scholes call value, binomial-tree option value, and scenario analysis. Method selects the technique. For a quick expected value over arbitrary outcome lists, prefer valuation_probability with method 'probability_weighted'; scenario_analysis here is for explicit named bull/base/bear scenario tables. Parameters apply per method: black_scholes and binomial need underlying + strike + risk_free_rate + volatility + time_to_maturity (binomial adds steps); scenario_analysis needs scenarios. Not for plain discounted cash flow — for that use valuation_time_value. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — round
valuation_comparables
Market multiples from comparables: P/E, P/S, EV/EBITDA, EV/Revenue, and a regression-adjusted multiple. Method selects the ratio. Use when public comparables exist; for pre-revenue or private startups use valuation_core. Parameters apply per method: pe_ratio needs market_cap + net_income; ps_ratio needs market_cap + revenue; ev_ebitda needs enterprise_value + ebitda; ev_revenue needs enterprise_value + revenue; regression_multiple needs intercept + growth_rate + growth_coefficient (plus optional maturity/stage/geography terms). Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unk
valuation_saas
SaaS unit economics and valuation: LTV, CAC, MRR, ARR, net revenue retention, magic number, Rule of 40, CAC payback, and ARR revenue-multiple valuation. Method selects the metric. Use for subscription software; for marketplace GMV metrics use valuation_marketplace and for payments/lending use valuation_fintech. Parameters apply per method: ltv needs arpu + gross_margin + churn_rate; cac needs sales_marketing_expense + new_customers; arr needs subscription_values; nrr needs starting_revenue + ending_revenue; revenue_multiple needs arr + revenue_multiple. Not for company-level pre-revenue value — for that use valuation_core. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arith
valuation_marketplace
Marketplace health and valuation: take rate, GMV revenue-multiple valuation, buyer retention, and network density. Method selects the metric. Use for two-sided transaction marketplaces; for subscription software use valuation_saas. Parameters apply per method: take_rate needs revenue + gmv; gmv_multiple needs gmv + multiple; buyer_retention needs buyers_period_1 + buyers_repeat; network_density needs active_buyers + active_sellers + total_users. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unknown method, or a missing method-required parameter, returns an error instead of a v
valuation_fintech
Value and size fintech business models: payment revenue, lending valuation, payment-processor DCF, and neobank customer-based valuation. Method selects the model. Use for payments, lending, and neobanks; for SaaS-style unit economics use valuation_saas. Parameters apply per method: payment_revenue needs transaction_volume + take_rate; lending needs loan_book + roe + pe_multiple; payment_processor adds growth_rate + discount_rate + terminal_multiple; neobank needs customers + arpu + gross_margin + churn_rate + pe_multiple. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unknown m
valuation_biotech
Risk-adjusted biotech valuation: peak sales, decision-tree expected value, and full pipeline rNPV across drugs. Method selects the model. Use for pharma/drug pipelines; for hardware or deep tech use valuation_hardware. Parameters apply per method: peak_sales needs patient_population + penetration + price; decision_tree needs probabilities + terminal_value; pipeline needs drugs + discount_rate. Not for hardware or deep tech — for that use valuation_hardware. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unknown method, or a missing method-required parameter, returns an error in
valuation_hardware
Hardware and deep-tech valuation: TRL-risk-adjusted valuation, gross margin, and break-even volume. Method selects the metric. Use for hardware and deep tech with technology-readiness risk; for drug pipelines use valuation_biotech. Parameters apply per method: trl needs market_size + market_share + margin + multiple + trl_discount; gross_margin needs asp + variable_cost; break_even_volume needs fixed_costs + asp + variable_cost. Not for drug pipelines — for those use valuation_biotech. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unknown method, or a missing method-required p
valuation_international
Cross-border adjustments: purchasing-power parity, country risk premium, and international CAPM. Method selects the adjustment. Use for cross-border cash flows and country risk; pair with valuation_capm and valuation_time_value. Parameters apply per method: ppp needs spot_rate + inflation_foreign + inflation_domestic; country_risk_premium needs sovereign_yield + us_treasury_yield; intl_capm needs risk_free_rate + beta + mrp + crp. Not for the domestic cost of equity — for that use valuation_capm. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the rest (defaults apply where defined). Rate and decimal inputs are fractions (0.10 = 10%); probability and weight lists are in [0,1] and sum to 1. Returns value, method, inputs, assumptions, chapter, formula_number and calculation steps; pure arithmetic — no I/O and no external calls — rounded to 2 decimals, with no auth or rate limits. An unknown method, or a missing method
valuation_stakeholder
Allocate value across stakeholders and equity classes: single-round dilution, OPM common stock, PWERM, liquidation value, M&A synergy, employee-option values, vesting adjustment, cash-vs-equity break-even, and asset-based loan capacity. Method selects the model. Use only after the company-level value is known (from valuation_core, valuation_saas, or valuation_comparables) to split that value across the cap table; for the company value itself do not use this tool. Parameters apply per method: dilution needs ownership_before + investment + post_money; opm needs enterprise_value + liquidation_pref + time_to_exit + volatility; pwerm and employee_option need scenarios; liquidation needs assets + recovery_rates; risk_adjusted_synergy needs revenue_synergies + cost_synergies; vesting_adjusted needs total_value + vested_fraction; max_asset_loan takes collateral values. Only method is required; all other parameters are method-dependent, so supply those the selected method names and omit the res
valuation_emerging
Modern and alternative valuation: SAFE conversion (discount, cap, expected value), token valuation (equation of exchange, NVT), ESG adjustments (rate, premium, discount), Metcalfe network value, data-moat value, and remote-first premium/NPV. Method selects the model. Use for SAFEs, tokens, ESG, network effects, data moats, and remote-first adjustments; for classic pre-revenue methods use valuation_core. Parameters apply per method: safe_discount needs series_a_price + discount; safe_cap needs cap + series_a_price; safe_expected needs investment + cap + discount + series_a_valuation + series_a_price; token_value needs transaction_volume + price_per_tx + velocity + supply; metcalfe needs n; esg_* need base_valuation + a score; data_moat needs data_volume + data_uniqueness + monetization_rate + competitive_advantage_years. Routing: for classic pre-revenue methods (Scorecard, Berkus, Risk-Factor Summation, VC Method) use valuation_core; for options or scenario tables use valuation_advanced
Startup Valuation Engine
A comprehensive startup valuation library implementing 80+ formulas from the Startup Valuation textbook — Python library, MCP server, and AI-agent skills.
Overview
A production-grade Python library for startup valuation, implementing every formula from the Startup Valuation textbook by Simon Mak (Valuation in Practice Series, Ascent Partners). Designed for developers, financial analysts, and AI agents who need auditable, structured valuation computations.
Three-layer architecture:
graph TB
subgraph Library["Python Library"]
MOD["14 Modules<br/>80+ Functions"] --> VR["ValuationResult"]
end
subgraph MCP["MCP Server"]
VR --> SVR["FastMCP Server<br/>14 Tools"]
end
subgraph Skills["AI-agent skills"]
SVR --> CORE["Core"]
SVR --> ADV["Advanced"]
SVR --> IND["Industry"]
SVR --> STAKE["Stakeholder"]
SVR --> EMER["Emerging"]
end
style Library fill:#0083AB,color:#fff
style MCP fill:#4CAF50,color:#fff
style Skills fill:#9C27B0,color:#fff
- Python Library — 14 modules, 80+ typed functions, all returning
ValuationResult(value + assumptions + sensitivity) - MCP Server — 14 folded tools (80+ formulas) for AI agents via stdio and hosted Streamable HTTP
- AI-agent skills — 6 skill definitions with workflow guidance for valuation domains
Installation
pip install startup-valuation # library only
pip install startup-valuation[mcp] # + MCP server
pip install startup-valuation[dev] # + pytest, ruff, mypy
Quick Start (≤ 5 minutes)
Fastest path: one line — pip install "startup-valuation[mcp]" — then call any *_valuation
tool (Scorecard, VC method, Black-Scholes, scenario analysis).
Python Library
from startup_valuation.core import scorecard_valuation, vc_method_post_money
from startup_valuation.advanced import black_scholes, scenario_analysis
from startup_valuation.types import Scenario
# Scorecard Method (pre-revenue startups)
result = scorecard_valuation(
average_valuation=1_500_000,
weights=[0.30, 0.25, 0.15, 0.10, 0.10, 0.05, 0.05],
scores=[1.25, 1.50, 1.20, 0.75, 1.00, 0.90, 1.00],
)
print(f"Scorecard: ${result.value:,.0f}") # $1,800,000
# Black-Scholes for real options (startup equity)
result = black_scholes(
underlying=20_000_000, strike=5_000_000,
risk_free_rate=0.05, volatility=0.40, time_to_maturity=1.0,
)
print(f"Option value: ${result.value:,.0f}") # $15,240,000
# Scenario Analysis
scenarios = [
Scenario("bull", 0.20, 10_000_000),
Scenario("base", 0.60, 5_000_000),
Scenario("bear", 0.20, 1_000_000),
]
result = scenario_analysis(scenarios)
print(f"Expected value: ${result.value:,.0f}") # $5,200,000
MCP Server (for AI Agents)
The server exposes 14 tools, each folding a family of formulas behind a method
argument — probability, time value, CAPM, core pre-revenue methods, options,
comparables, SaaS, marketplaces, fintech, biotech, hardware, international,
stakeholder equity, emerging methods, and a triangulated full analysis.
Local (stdio):
pip install "startup-valuation[mcp]"
startup-valuation-mcp # console script installed with the [mcp] extra
**Prompts and resources.** Besides the 14 tools, the server offers three guided
prompts (`value_pre_revenue_startup`, `value_saas_startup`, `model_funding_round`)
and a machine-readable method catalog at `startup-valuation://methods`, so agents
can see every method's required parameters before calling a tool.
# or: python -m startup_valuation.mcp
# or ephemeral, no clone: uvx --from startup-valuation startup-valuation-mcp
Hosted (Streamable HTTP) — no install, no API key:
https://startup-valuation.ascent-partners.com/api
OpenCode — add to opencode.json:
"startup-valuation": {
"type": "remote",
"url": "https://startup-valuation.ascent-partners.com/api",
"timeout": 60000
}
Claude Desktop / Cursor — add the HTTP URL https://startup-valuation.ascent-partners.com/api
as an MCP server, or run the stdio entrypoint above.
MCP Registry — published as com.ascent-partners/startup-valuation
(manifest: server.json) and listed on
Glama and the
Official MCP Registry. The
glama.json file holds the Glama maintainer entry.
AI-agent skills
Copy the skills/ directory to your agent's skills folder:
valuation-core— Scorecard, Berkus, VC Method, Risk Factor Summationvaluation-foundations— Probability, time value, CAPM, comparablesvaluation-advanced— Black-Scholes, Binomial, Monte Carlo, Scenario Analysisvaluation-industry— SaaS, Biotech, Fintech, Marketplace, Hardwarevaluation-stakeholder— Dilution, OPM, PWERM, Liquidation Preferencevaluation-emerging— SAFE, Crypto (MV=PQ), ESG, Metcalfe's Law
Valuation Methods by Category
| Category | Methods | Chapter |
|---|---|---|
| Probability | Expected value, joint probability, Poisson | 2 |
| Time Value | PV, NPV, annuity | 2 |
| CAPM | CAPM, portfolio beta, startup-adjusted | 2 |
| Core | Scorecard, Berkus, Risk Factor, VC Method | 3 |
| Advanced | Black-Scholes, Binomial, Monte Carlo, Scenario | 4 |
| Comparables | P/E, P/S, EV/EBITDA, regression-adjusted | 5 |
| SaaS | LTV, CAC, NRR, Magic Number, Rule of 40 | 11 |
| Biotech | rNPV, decision tree, peak sales, pipeline | 11 |
| Fintech | Payment revenue, lending, neobank, network effects | 11 |
| Marketplace | GMV, take rate, liquidity, network density | 11 |
| Hardware | TRL-adjusted, break-even, P-weighted DCF | 11 |
| International | PPP, CRP, currency-adjusted DCF, Damodaran | 12 |
| Stakeholders | Dilution, OPM, PWERM, liquidation, synergies | 13 |
| Emerging | SAFE, MV=PQ, ESG, Metcalfe's, data moat | 14 |
The valuation ladder
flowchart LR
IDEA["Idea / pre-revenue"] --> SC["Scorecard · Berkus · Risk Factor"]
SC --> VC["VC Method · OPM · PWERM"]
VC --> ADV["Black-Scholes · Binomial · Monte Carlo · Scenario"]
ADV --> COMP["Comparables: P/E · P/S · EV/EBITDA"]
COMP --> IND["Industry: SaaS · Biotech · Fintech · Marketplace · Hardware"]
IND --> R["ValuationResult (value · assumptions · sensitivity)"]
Distribution
flowchart LR
PKG["startup-valuation<br/>14 modules · 80+ functions"] --> L["pip install startup-valuation"]
PKG --> MP["pip install startup-valuation[mcp]<br/>→ 14-tool MCP server"]
MP --> T1["stdio (local)"]
MP --> T2["hosted Streamable HTTP"]
Why This Library?
- Auditable — Every function returns
ValuationResultwith value, method, inputs, assumptions, and sensitivity analysis - Textbook-accurate — All formulas verified against book example values with unit tests
- AI-ready — MCP server and Skills for seamless AI agent integration
- Industry-specific — Dedicated modules for SaaS, biotech, fintech, marketplace, and hardware startups
- Open source — MIT license, extensible, well-documented
Development
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with coverage
pytest --cov=startup_valuation --cov-report=term-missing
# Lint
ruff check .
# Type check
mypy src/startup_valuation --ignore-missing-imports
Documentation
- API Reference: GitHub Pages
- Wiki (Theory & Derivations): GitHub Wiki
- PyPI: pypi.org/project/startup-valuation
- Chapter Index: Maps every function to its textbook chapter
- Examples: Interactive code snippets for each valuation category
Companion Textbook
Startup Valuation: A Comprehensive Guide to Valuing Fast-Growing Pre-Revenue Companies
Theory, Methods, Regulation, and Practice — Valuation in Practice Series by Ascent Partners
By Simon Mak · 338 pages · 15 chapters · 300+ exercises · 20+ real-world cases
Citing This Project
@software{startup_valuation_engine,
author = {Mak, Simon},
title = {Startup Valuation Engine},
year = {2026},
url = {https://github.com/simonmak-ascent/startup-valuation},
license = {MIT},
}
Based on formulas from the Startup Valuation textbook.
Use with Context7
Up-to-date Startup Valuation Engine documentation is indexed on Context7, so coding agents can pull it into context on demand. With the Context7 MCP server or ctx7 CLI installed, name the library in your prompt:
use library /simonmak-ascent/startup-valuation for API and docs
License
MIT — see LICENSE.
By Ascent Partners — part of the Valuation in Practice Series.
If this saves you time, a ⭐ on GitHub helps others find it.
From the server's repository — third-party content, read it before running anything it suggests.
More in Finance
Priors
io.github.priors-agents
Pay x402 APIs in USDG on Robinhood Chain, borrow and repay a Priors credit line, check records.
RailFi Payout Plans
xyz.railfi
Free, non-custodial tools to validate bounded USDC/USDT payout plans and reconcile payouts.
Dirtsmith outside-tools rate sheet
dev.workers.bfurrow26.dirtsmith-go
Read-only rate sheet of outside builders' agent-callable tools and published prices. No payments.
Financial Modeling Prep MCP Server
io.github.imbenrabi
MCP server for Financial Modeling Prep API with 250+ financial data tools
BrokerFlat Forex Cashback
com.brokerflat
Compare 11 forex brokers, calculate cashback per lot and get sign-up steps. Read-only, no login.
katalis
com.meetkatalis
UK public-record company intelligence: Companies House, payments, contracts, registers, watch lists
Listing from the official MCP Registry · repository facts from GitHub, 1h ago.