Skip to main content
Glama

create_instrument

Destructive

Creates a new instrument (share class, option class, or other) for the company. Requires unlock_shareflo to have been called first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tax_schemeNoWhether awards of this instrument benefits from tax benefits by default (can be overridden for individual awards) - defaults to None if no parameter provided
cliff_periodNoDefault cliff period in months.
nominal_valueNoNominal value per unit. Mandatory for Shares.
exercise_priceNoDefault exercise price. Mandatory for Options.
vesting_periodNoDefault vesting period in months.
instrument_nameYesInstrument name without type suffix, e.g. "Ordinary" not "Ordinary Share".
instrument_typeYesType of instrument.
nominal_currencyNoISO 4217 currency code for nominal value. Mandatory for Shares.
exercise_currencyNoISO 4217 currency code for exercise price. Mandatory for Options.
has_voting_rightsYesWhether the instrument has voting rights.
underlying_share_classNoShare class the options purchase. Mandatory for Options. Use exact case-sensitive name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true, and the description usefully adds the unlock_shareflo gating requirement, which is real behavioral context beyond the structured fields. However, it never explains what the operation alters or why a creation is flagged destructive, nor what matters about the unlocked session, so the added value is modest.

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

Conciseness5/5

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

Two sentences, zero filler. The core purpose leads and the prerequisite follows immediately, so both facts an agent needs are front-loaded and no sentence is redundant.

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

Completeness3/5

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

For an 11-parameter mutation with no output schema, the description covers purpose and the unlock prerequisite but omits what is returned (e.g. the new instrument identifier) and any hint about the destructive flag's implication. Combined with 100% schema coverage the gaps are not fatal, but they are visible for a create operation.

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

Parameters3/5

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

Schema description coverage is 100% with 11 documented parameters, 3 enums, and conditional mandatory rules (nominal_value/currency for Shares, exercise_price/currency/underlying_share_class for Options), so the schema carries the semantics. The description contributes nothing parameter-specific beyond the subtype vocabulary, which is the correct baseline of 3.

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 ('Creates') and resource ('a new instrument') and scopes it ('for the company'), then enumerates the concrete subtypes (share class, option class, or other) that mirror the instrument_type enum. This clearly separates it from sibling creators like create_holding and create_stakeholder without naming them.

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 an explicit prerequisite: unlock_shareflo must have been called first, which directly ties it to a named sibling tool and prevents a failed invocation. It stops short of stating when NOT to use it or naming alternatives such as get_instruments for inspection, so it falls short of the full when/when-not bar.

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.