Skip to main content
Glama

create_venture_event

Record an event on a venture deal. The deal must already have an initial_investment before any other event type can be created (initial_investment must come first). Event date cannot precede the initial_investment date.

Rules per type (the schema is flat but the service enforces these — invalid combinations return a clear ValidationError): • initial_investment: grossAmount is auto-derived from the deal's principal + entryFee — do NOT pass it. cashFlowMode must be 'linked' or 'out_of_wallet'. • capital_call, fee_payment, distribution: require grossAmount. cashFlowMode must be 'linked' or 'out_of_wallet'. • exit: requires grossAmount AND navAfter. cashFlowMode must be 'linked' or 'out_of_wallet'. • nav_update, writedown: require navAfter. cashFlowMode must be 'none'.

For cashFlowMode='linked', the sum of linked transactions' amounts must equal the event's lpNetAmount (derived from grossAmount minus auto-computed carry for distribution/exit). For cashFlowMode='out_of_wallet', no transactions are linked — the event amount is recorded but does NOT affect bank balances or cash-flow charts.

Carry on distribution/exit is auto-computed (European waterfall by default). Pass lpNetAmountOverride / gpCarryOverride to override the computed values (e.g. when matching a GP's statement).

Input Schema

NameRequiredDescriptionDefault
typeYesEvent type
notesNoFree-text notes
dealIdYesVenture deal ID (from list_venture_deals)
navAfterNoPost-event NAV (decimal string). Required for nav_update, writedown, AND exit.
eventDateYesEvent date in YYYY-MM-DD
grossAmountNoGross amount (decimal string). Required for capital_call, fee_payment, distribution, exit.
quantityPctNoOptional partial-exit quantity fraction in [0,1] (used for partial exits).
cashFlowModeYeslinked = tie to existing bank txs; out_of_wallet = record event only; none = required for nav_update / writedown
transactionIdsNoBank transaction ids to link. Required when cashFlowMode=linked; must NOT be provided otherwise.
gpCarryOverrideNoOverride the auto-computed gpCarryAmount (distribution/exit only).
lpNetAmountOverrideNoOverride the auto-computed lpNetAmount (distribution/exit only).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses auto-derived values (grossAmount from principal+entryFee, auto-computed carry), the side-effect difference between 'linked' (sum must equal lpNetAmount) and 'out_of_wallet' (no effect on bank balances or cash-flow charts), error behavior (clear ValidationError on invalid combos), and override escape hatches. This is materially beyond what the schema alone conveys.

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?

Long but well-structured: the purpose and hard prerequisites are front-loaded, then bulleted per-type rules, then the cashFlowMode and carry semantics. Every section carries non-redundant information; the density is justified by the 11-parameter, 7-type surface.

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?

Given no output schema and no annotations, the description covers prerequisites, per-type requirements, side effects, and error behavior thoroughly. The main omission is any hint of the response shape or whether the call is idempotent, but for a create tool with documented validation this is close to complete.

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 100%, so the baseline is 3, but the description adds real conditional semantics the schema cannot express: which fields are required per event type, that grossAmount must NOT be passed for initial_investment, and that transactionIds must only accompany cashFlowMode='linked'. Only minor gaps remain (e.g. quantityPct usage is only lightly touched).

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

Purpose4/5

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

States a specific verb+resource ('Record an event on a venture deal'), which cleanly separates it from create_venture_deal, create_venture_platform, and update_venture_event. It doesn't explicitly name a sibling to disambiguate against, but the resource boundary is unambiguous from the name and opening sentence.

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?

Gives concrete preconditions ('deal must already have an initial_investment before any other event type can be created') and a date-ordering constraint, plus per-type validity rules. It stops short of naming alternatives (e.g. when to prefer update_venture_event over creating a new event), so it lacks explicit exclusion guidance.

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.