Skip to main content
Glama

Lovie Company Formation

Import Cap Table

cap_table_import_cap_table

ImportCapTable writes a whole cap table in one call and one transaction: every row lands or none does, a row naming an existing holder is added to them (and reported as reused), a round the file names is recorded as closed history, and the result is refused if it would break the cap table's rules or does not match the totals the founder confirmed. Use this for any import of more than one holding instead of a sequence of single writes.

Input Schema

NameRequiredDescriptionDefault
rowsNo
replaceNo
companyIdYesUUID value wrapper.
roundTermsNo
expectedTotalSharesNo
expectedTotalCapitalNo

Output Schema

NameRequiredDescriptionDefault
rowsNo
removedNo
recordedRoundsNo
unpricedRoundsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / roundTerms
      Added value: +{
      +  "items": {
      +    "properties": {
      +      "postMoneyValuation": {
      +        "maxLength": 50,
      +        "pattern": "^([0-9]+(\\.[0-9]{1,6})?)?$",
      +        "type": "string"
      +      },
      +      "preMoneyValuation": {
      +        "maxLength": 50,
      +        "pattern": "^([0-9]+(\\.[0-9]{1,6})?)?$",
      +        "type": "string"
      +      },
      +      "pricePerShare": {
      +        "maxLength": 50,
      +        "pattern": "^([0-9]+(\\.[0-9]{1,6})?)?$",
      +        "type": "string"
      +      },
      +      "roundName": {
      +        "maxLength": 255,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "maxItems": 100,
      +  "type": "array"
      +}
    • addedOutput schema / properties / unpricedRounds
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Added

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past the annotations: discloses atomicity ('every row lands or none does'), reuse/matching of existing holders, that rounds are recorded as closed history, and server-side rule and total-mismatch refusal. The one gap is `replace`, which can overwrite existing cap table data and is never mentioned, which is notable given destructiveHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb and the all-or-nothing guarantee, and every clause (atomicity, reuse, round history, validation refusal) carries distinct information. The lead sentence is long and clause-dense, but for a call with nested 40-field rows it is not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is correctly omitted, and the description covers the failure modes an agent most needs to know (rule violations, total mismatch, partial-write risk). Missing is the overwrite semantics of `replace` and any note on size limits or required permissions, which matter for a whole-cap-table write.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 17%, but the description compensates for most of it: rows are described as holdings whose named existing holders get matched and reused, round names are tied to closed-round history, and 'the totals the founder confirmed' explains expectedTotalShares/expectedTotalCapital. `replace` and roundTerms pricing fields remain unexplained, leaving a genuine hole in a 6-param schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (writes a whole cap table in one call/transaction) and immediately distinguishes itself from the sibling create_cap_table_stakeholder pattern by naming 'a sequence of single writes' as the thing it replaces. An agent can tell it is a bulk-write tool 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.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit selection rule: 'Use this for any import of more than one holding instead of a sequence of single writes' — a clear threshold plus the alternative class. It does not address adjacent one-off import tools (cap_table_import_safe, cap_table_import_rsa) or when preview/validation-only flows should be preferred, so it stops just short of full routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.