Skip to main content

Intangible Asset Valuation Engine

Complete intangible asset valuation library implementing 124+ functions from the Intangible Asset Valuation textbook. Python library + MCP server + AI-Agent Skills.

PyPI CI License: MIT Python 3.11+ Docs Coverage OpenSSF Scorecard Glama MCP MCP tools

Overview

A production-grade Python library for intangible asset valuation, implementing every formula from the Intangible Asset Valuation textbook by Simon Mak, William Yuen, Paul Wu, and Wayne Hu (Valuation in Practice Series, Ascent Partners). Designed for developers, financial analysts, accountants, and AI agents who need auditable, structured valuation computations for ASC 805 / IFRS 3 compliant workflows.

Three-layer architecture:

graph TB
    subgraph Library["Python Library"]
        MOD["22 Modules<br/>124+ Functions"] --> VR["ValuationResult"]
    end
    subgraph MCP["MCP Server"]
        VR --> SVR["FastMCP Server<br/>14 folded tools"]
    end
    subgraph Skills["AI-Agent Skills"]
        SVR --> AV["Asset Valuation"]
        SVR --> DR["Discount Rates"]
        SVR --> PPA["Purchase Price Allocation"]
        SVR --> IMP["Impairment Testing"]
    end
    style Library fill:#0083AB,color:#fff
    style MCP fill:#4CAF50,color:#fff
    style Skills fill:#9C27B0,color:#fff
  1. Python Library — 22 modules, 124+ typed functions, all returning ValuationResult (value + assumptions + steps + formula reference)
  2. MCP Server — 14 folded tools (124+ formulas) for AI agents via stdio and hosted Streamable HTTP
  3. AI-Agent Skills — 4 skill definitions with workflow guidance for valuation domains

Installation

pip install intangible-valuation          # library only
pip install intangible-valuation[mcp]     # + MCP server
pip install intangible-valuation[dev]     # + pytest, ruff, mypy

Quick Start

Python Library

from intangible_valuation.core.time_value import present_value
from intangible_valuation.core.discount_rates import build_up_discount_rate
from intangible_valuation.income_methods.relief_from_royalty import relief_from_royalty

# Present Value
result = present_value(future_value=500_000, discount_rate=0.10, periods=8)
print(f"PV: ${result.value:,.2f}")  # $233,253.69

# Build-Up Discount Rate
rate = build_up_discount_rate(
    risk_free_rate=0.04, equity_risk_premium=0.06,
    size_premium=0.02, industry_risk_premium=0.01, specific_risk_premium=0.03,
)
print(f"Discount rate: {rate.value:.2%}")  # 16.00%

# Relief from Royalty — Patent Valuation
value = relief_from_royalty(
    revenue_projections=[1_000_000, 1_100_000, 1_200_000, 1_300_000, 1_400_000],
    royalty_rate=0.05, discount_rate=0.12, tax_rate=0.25, useful_life=5,
)
print(f"Patent value: ${value.value:,.2f}")

MCP Server (for AI Agents)

The server exposes 14 tools, each folding a family of formulas behind a method argument — time value, discount rates, cost/market/income approaches, IP, technology, customer and human-capital assets, goodwill and purchase price allocation, impairment, royalty analysis, uncertainty (Monte Carlo / decision trees), and transfer-pricing / litigation.

Local (stdio):

pip install "intangible-valuation[mcp]"
python mcp_server/server.py

Hosted (Streamable HTTP) — no install, no API key:

https://intangible-valuation.simonmak.com/api/mcp

OpenCode — add to opencode.json:

"intangible-valuation": {
  "type": "remote",
  "url": "https://intangible-valuation.simonmak.com/api/mcp",
  "timeout": 60000
}

Claude Desktop / Cursor — add the HTTP URL https://intangible-valuation.simonmak.com/api/mcp as an MCP server, or run the stdio entrypoint above.

MCP Registry & Glama — published as io.github.simonplmak-cloud/intangible-valuation. The server.json manifest declares both the hosted streamable-http remote and a PyPI stdio package, and glama.json carries the Glama listing. Install and run the stdio server from either registry:

pip install "intangible-valuation[mcp]" && intangible-valuation-mcp   # pip
uvx --from intangible-valuation intangible-valuation-mcp              # uvx (no install)

Listed on Glama and the Official MCP Registry.

AI-Agent Skills

Copy the skills/ directory to your agent's skills folder:

  • asset-valuation — Patents, trademarks, technology, customer relationships, human capital
  • discount-rate-construction — Build-up, CAPM, WACC, risk premiums, adjustments
  • purchase-price-allocation — ASC 805 / IFRS 3 PPA workflow, goodwill calculation
  • impairment-testing — ASC 350, IAS 36 goodwill and intangible impairment

Valuation Methods by Category

Category Methods Chapter
Time Value PV, FV, annuity, perpetuity, growing annuity, terminal value 2
Discount Rates Build-up, CAPM, WACC, TAB, control premium, DLOM, currency adjustment 2
Statistics Monte Carlo, decision trees, regression 2
Cost Approach Reproduction cost, replacement cost 3
Market Approach Comparable transactions, royalty capitalization 3
Income Methods Relief from Royalty, MPEEM, incremental cash flow 4
Intellectual Property Patent, trademark, copyright, trade secret 5
Royalty Analysis Benchmarking, 25% rule, adjustment 6
Technology Developed technology, software, data assets, platforms 7
Customer-Related Customer relationships, distribution network, non-compete 8
Human Capital Assembled workforce, key person 9
Goodwill & PPA Goodwill calculation, PPA waterfall 10
Impairment Goodwill & intangible impairment (ASC 350 / IAS 36) 11
Monte Carlo Simulation, sensitivity analysis 15
Decision Trees Backward induction 16
Litigation Lost profits, pre-judgment interest 17
Transfer Pricing CUP method, OECD guidelines 18

Why This Library?

  • Auditable — Every function returns ValuationResult with value, method, formula reference, assumptions, and step-by-step calculation breakdown
  • Textbook-accurate — All 124+ formulas verified against book example values with 1056 unit tests
  • AI-ready — MCP server (14 folded tools) and Skills for seamless AI agent integration
  • Complete coverage — All three valuation approaches (cost, market, income) across 19 chapters
  • Open source — MIT license, extensible, well-documented

Development

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run with coverage
pytest --cov=src --cov-report=term-missing

# Lint
ruff check .

# Type check
mypy src/

# Regenerate the MCP stdio server from the canonical surface
python scripts/generate_mcp.py

Documentation

Companion Textbook

Intangible Asset Valuation: A Comprehensive Guide to Valuing Brands, IP, Technology, and Human Capital
Theory, Methods, Regulation, and Practice — Valuation in Practice Series by Ascent Partners
By Simon Mak, William Yuen, Paul Wu, Wayne Hu · 176 pages · 19 chapters · 3 appendices

Citing This Project

@software{intangible_valuation_engine,
  author = {Mak, Simon and Yuen, William and Wu, Paul and Hu, Wayne},
  title = {Intangible Asset Valuation Engine},
  year = {2026},
  url = {https://github.com/simonplmak-cloud/intangible-valuation},
  license = {MIT},
}

Based on formulas from the Intangible Asset Valuation textbook.

License

MIT — see LICENSE for details.

Metadata

Release files for intangible-valuation 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intangible-valuation 2.0.0
File Size Uploaded
intangible_valuation-2.0.0.tar.gz 112.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intangible-valuation 2.0.0
File Interpreter ABI Platform
intangible_valuation-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 239.8 kB

Release files / intangible_valuation-2.0.0.tar.gz

Download URL intangible_valuation-2.0.0.tar.gz
Size 112.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a6ea3243e4dd8f0c9d6aaa9bf61d48fa5a8140b5c4a3c54ae31ff1ab2ff2730a
BLAKE2b-256 checksum
How to use checksums
0e8b1e5d2ef5dedbae762702422d97c3133dec8e65f7b489cea0806b4ec2ed82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release files / intangible_valuation-2.0.0-py3-none-any.whl

Download URL intangible_valuation-2.0.0-py3-none-any.whl
Size 127.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
195bed1b779a7d5b7b6e1bf6ab785a71dd2945e2c497cf903ec5719a4c8654bb
BLAKE2b-256 checksum
How to use checksums
971883ef460ab24ef90c43607d52a73effe006b2f72678b751a69d6a678fe83e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.4

2 release files

2.1.3

2 release files

2.1.2

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.1

2 release files

This release

2.0.0 This release

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page