Zovo Cap Table Calculator
Server Details
SAFE and dilution math
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools have largely distinct roles: one is a full cap table/dilution calculator and the other is a narrower SAFE ownership calculator. There is some overlap because calculate_cap_table can also answer SAFE ownership questions, but the descriptions explicitly direct users to calculate_cap_table for more complex cases.
Both tool names follow a clear and consistent calculate_<object> convention. The names are readable and predictable.
Two tools is thin for a calculator server, even a focused one. The SAFE ownership tool is useful but largely a subset of the broader cap table tool, making the surface feel borderline rather than fully well-scoped.
The main calculator covers SAFEs, convertible notes, a priced round, option pool top-up, and export outputs, which is strong coverage for the stated purpose. Some advanced cap table features such as liquidation preferences, vesting, anti-dilution, and multiple priced rounds are explicitly excluded, leaving minor but acknowledged gaps.
Available Tools
2 toolscalculate_cap_tableCalculate cap tableARead-onlyIdempotentInspect
Use this when the user wants a cap table calculator or startup dilution calculator: a pro-forma cap table before and after post-money or pre-money SAFEs, convertible notes (principal plus simple interest, cap, discount) and/or a priced round (pre-money valuation, new money, target option pool topped up in the pre-money). Returns price per share, each instrument's cap price, discount price and conversion price (the lower), shares issued, each holder's fully diluted % before and after, an Excel cap table and a PDF summary. Solves the circular pool and conversion math with fractions, then rounds to whole shares. Illustrative only; does not model liquidation preferences, vesting, anti-dilution or more than one priced round, and is not legal or tax advice.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Convertible notes, e.g. [{"principal":250000,"interest_rate":6,"issue_date":"2025-03-01","valuation_cap":6000000,"discount":20}]. | |
| round | No | The priced round. Leave out to see ownership with SAFEs converted at their caps only. | |
| safes | No | SAFEs to convert, e.g. [{"name":"Angels","amount":500000,"valuation_cap":8000000,"discount":20}] or text "$500k at $8M post cap 20% discount; $250k MFN". | |
| holders | Yes | Current holders with shares, fully diluted, including granted options and the unallocated pool. Array, e.g. [{"name":"Alice","shares":4500000},{"name":"Bob","shares":4500000},{"name":"Option pool","shares":1000000,"kind":"pool"}], or text "Alice 4.5M; Bob 4.5M; Option pool 1M". | |
| currency | No | ISO currency code for labels, default USD, e.g. EUR. | |
| new_money | No | Shortcut for round.new_money, e.g. 5000000. | |
| company_name | No | Company name for the files, e.g. "Acme Robotics". | |
| pre_money_valuation | No | Shortcut for round.pre_money_valuation, e.g. "$20M". | |
| target_pool_percent | No | Shortcut for round.target_pool_percent, e.g. 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| summary | Yes | |
| warnings | Yes | |
| downloads | Yes | |
| new_money | Yes | |
| disclaimer | Yes | |
| rows_total | Yes | |
| assumptions | Yes | |
| conversions | Yes | |
| price_per_share | Yes | |
| conversions_total | Yes | |
| fully_diluted_after | Yes | |
| pre_money_valuation | Yes | |
| fully_diluted_before | Yes | |
| option_pool_increase | Yes | |
| post_money_valuation | Yes | |
| pre_money_fully_diluted | Yes | |
| unallocated_pool_after_pct | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered; the description goes further by disclosing the computation method (circular pool and conversion math solved with fractions, then rounded to whole shares) and by stating the 'Illustrative only; not legal or tax advice' caveat. The return enumeration (price per share, cap/discount/conversion price, shares issued, fully diluted %) is useful context but is partly redundant with the output schema, keeping this just short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger condition is front-loaded and each subsequent sentence earns its place: outputs, computation approach, then limitations. It is dense and slightly long, and the detailed list of return fields duplicates the output schema, which is the main efficiency loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter modelling tool with heavy domain complexity, the description covers what triggers it, what it computes, how it handles the hard math (circular pool, fractional conversion), what it returns, and what it explicitly does not model. With an output schema present and annotations covering safety, nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains every parameter in detail, and the baseline is 3. The description adds some semantic grounding by defining what the outputs mean conceptually (cap price, discount price, conversion price being the lower) and by calling out the pre-money pool top-up, but it does not explain individual parameters such as shortcut duplicates (new_money, pre_money_valuation, target_pool_percent) beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb and resource ('cap table calculator or startup dilution calculator') and enumerates the exact scope: pro-forma cap table before/after post-money or pre-money SAFEs, convertible notes and/or a priced round. An agent can distinguish this from the sibling calculate_safe_ownership, which by name covers only SAFE ownership, without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use this when the user wants..." gives an explicit trigger condition, and the closing sentence carves out clear exclusions (no liquidation preferences, vesting, anti-dilution, or more than one priced round). It does not name or route to the sibling calculate_safe_ownership as an alternative, which is the one missing piece for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_safe_ownershipCalculate SAFE ownershipARead-onlyIdempotentInspect
Use this when the user asks a SAFE calculator question such as how much of the company a SAFE buys: ownership = investment / post-money valuation cap for a YC post-money SAFE (or the pre-money SAFE equivalent), plus combined ownership with other SAFEs, the SAFE price and share count. Ownership is as converted at the caps, before any priced round. Does not model a priced round, notes or option pool top-ups; use calculate_cap_table for those. Not legal or tax advice.
| Name | Required | Description | Default |
|---|---|---|---|
| safe_type | No | post (YC post-money SAFE, default) or pre (pre-money SAFE). | |
| investment | Yes | SAFE investment, e.g. 500000 or "$500k". | |
| other_safes | No | Other SAFEs converting alongside it, e.g. [{"amount":250000,"valuation_cap":6000000}] or "$250k at $6M cap". Combined SAFE ownership is shown. | |
| valuation_cap | Yes | Valuation cap, e.g. 10000000 or "$10M" (post-money cap unless safe_type is pre). | |
| company_shares | No | Fully diluted shares before the SAFEs convert (founders, options, pool), e.g. 10000000. Used for share counts and the SAFE price; default 10,000,000. |
Output Schema
| Name | Required | Description |
|---|---|---|
| safes | Yes | |
| shares | Yes | |
| summary | Yes | |
| disclaimer | Yes | |
| safe_price | Yes | |
| assumptions | Yes | |
| ownership_pct | Yes | |
| company_shares_after | Yes | |
| company_shares_before | Yes | |
| combined_safe_ownership_pct | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only, idempotent, non-destructive annotations, the description discloses the calculation model, conversion timing before a priced round, and key modeling exclusions. It also states that the output is not legal or tax advice, which is meaningful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the use case and formula, and every sentence carries relevant scope or limitation information. The first sentence is long and dense, but there is little wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the detailed schema, output schema, annotations, and single sibling, the description covers purpose, usage, alternatives, limitations, and model assumptions adequately. An agent has enough information to call this tool correctly and avoid calculate_cap_table when appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter documentation is already strong. The description still adds meaning by giving the core ownership formula linking investment to the valuation cap and by noting that combined SAFE ownership, SAFE price, and share count are produced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact operation and subject: calculating SAFE ownership, including the formula, combined SAFE ownership, SAFE price, and share count. It also explicitly distinguishes the tool from calculate_cap_table, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a direct when-to-use trigger: when the user asks a SAFE calculator question such as how much of the company a SAFE buys. It also names exclusions and the alternative tool for priced rounds, notes, and option pool top-ups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
calculate_cap_table - First observed
calculate_safe_ownership
Related MCP Connectors
Startup cap table: ownership, SAFEs, vesting and round modeling, plus drafts for admin approval.
Free investment and startup math, guide search and prompts: IRR, MOIC, SAFE, QSBS, burn multiple.
Buyer-side SaaS due-diligence maths: NRR, GRR, revenue concentration, zombie MRR, LTV:CAC.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables modeling of startup financings such as SAFEs, convertible notes, priced rounds, option pool top-ups, fees, and multi-step financing histories, returning pre- and post-round cap tables with per-holder dilution and fully diluted ownership as markdown plus structured JSON. All tools are read-only and deterministic, requiring no API keys or network access.61MIT
- AlicenseAqualityBmaintenanceStartup valuation calculators for AI agents: 14 MCP tools covering 80+ formulas from the Startup Valuation textbook — probability, time value, CAPM, pre-revenue methods (Scorecard, Berkus, VC Method), options, comparables, SaaS, marketplace, fintech, biotech, hardware, international, stakeholder equity, and emerging methods.1447 PyPI3MIT
- AlicenseAqualityBmaintenanceDeterministic US equity-compensation tax optimizer. Six tools cover ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU vest-and-sell, single-stock concentration, protective put / zero-cost collar pricing, and Section 1202 QSBS qualification. Federal plus 50-state plus DC tax math.8249 npm6MIT
- AlicenseNot gradedqualityDmaintenanceThe verifiable risk engine for autonomous agents: deterministic, self-verifying financial calculations that an agent can delegate and prove. It covers liquidation and funding, position sizing and risk of ruin, options Greeks and margin, LP divergence, treasury concentration and depeg, execution quality checks, plus intelligence on options, DeFi, prediction markets, and transaction safety analysis.18 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.