stellarpilot
Provides tools for managing Stellar blockchain operations, including account management, payments, smart contract deployment and invocation, network configuration, and more via natural language to CLI translation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stellarpilotGenerate a new account called alice"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Stellar Pilot ā MCP Server for Stellar
Stellar Pilot bridges natural language and the Stellar blockchain. It's an MCP server that translates what you want to do into the exact CLI commands needed to do it.
Stop fighting with Stellar CLI syntax. The Stellar CLI has:
10+ main commands (
contract,keys,tx,network...)70+ subcommands with unique syntax
Hundreds of flags and parameters to remember
Stellar Pilot lets you skip all that. Just say what you need:
"create a new account" instead of
stellar keys generate --network testnet --fund"deploy my contract" instead of
stellar contract deploy --wasm path --source account --network..."send 100 XLM to Bob" instead of
stellar tx new payment --destination G... --amount...
It translates natural language to proper CLI commands through MCP (Model Context Protocol), working seamlessly in AI assistants and IDEs.
š Features
73+ CLI Tools: Complete integration with the official Stellar CLI
Smart Contract Operations: Deploy, invoke, build, and optimize Soroban contracts
Transaction Management: Send payments, create accounts, manage trustlines, DEX trading
Identity & Key Management: Generate keys, manage accounts, fund testnet accounts
Network Configuration: Switch between testnet, mainnet, futurenet, and local networks
Type-Safe Interface: Full TypeScript support with schema validation
Related MCP server: adila-mcp
š Prerequisites
Node.js 18+ - Check with
node --versionStellar CLI - Check with
stellar --versionIf not installed, see: https://github.com/stellar/stellar-cli
š¦ Installation
npm install -g stellarpilotāļø Configuration
Add to your MCP settings:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"stellarpilot": {
"command": "stellar-pilot"
}
}
}Successful Configuration: Once properly configured, you'll see StellarPilot with 73 tools enabled in your MCP Tools panel:

šÆ Basic Usage Examples
Once configured, you can use natural language to interact with Stellar:
Account Management
"Generate a new account called alice"
"Fund alice's account on testnet"
"Show me alice's public key"
"Switch to using alice as default"Example: Creating a New Account

StellarPilot automatically:
Generates a new keypair with secure seed phrase
Funds the account on testnet
Stores credentials securely in local configuration
Lists all your accounts with their details
Payments
"Send 100 XLM from alice to GDEXAMPLE..."
"Create a trustline for USDC:GCKFBEIYTKP..."
"Send 50 USDC from alice to bob"Smart Contracts
"Deploy my contract from ./contract.wasm"
"Call the hello function on contract C123..."
"Build the contract in ./my-project"Network Operations
"Switch to testnet"
"Check network health"
"Add a custom network called mynet"š ļø Available Tools
StellarPilot provides 73+ tools organized into these categories:
Contract Operations (15 tools): Deploy, invoke, build, optimize contracts
Transaction Management (16 tools): Payments, trustlines, DEX operations
Key Management (8 tools): Generate, add, fund, manage identities
Network Configuration (7 tools): Add networks, check health, switch networks
Ledger Operations (2 tools): Get ledger info, fetch latest ledger
Events (1 tool): Watch contract events
XDR Operations (7 tools): Encode, decode, sign, verify XDR
Cache Management (4 tools): Clean, list, manage transaction cache
Development Tools (13+ tools): Doctor, completion, version, plugins, etc.
š§ Development
Project Structure
stellarpilot/
āāā src/
ā āāā index.ts # Main MCP server
ā āāā modules/
ā ā āāā cli/ # Stellar CLI integration
ā ā āāā tools/ # Tool definitions
ā ā āāā handlers/ # Command handlers
ā ā āāā types/ # TypeScript types
ā āāā types/ # Shared types
āāā build/ # Compiled output
āāā package.json
āāā tsconfig.jsonBuilding from Source
# Install dependencies
npm install
# Development mode (watch for changes)
npm run dev
# Production build
npm run build
# Start the server
npm startšØ Troubleshooting
Common Issues
"stellar command not found"
Install Stellar CLI: https://developers.stellar.org/docs/tools/developer-tools
Verify with
stellar --version
"stellar-pilot command not found"
For global install:
npm install -g stellarpilotFor local build: Use absolute path in MCP config
"Permission denied"
Check file permissions:
chmod +x build/index.jsFor global install: May need
sudo npm install -g stellarpilot
"Tools not loading in Claude"
Restart your IDE or IDE plugin after config changes
Be sure you are using the correct config syntax
Verify file paths are absolute
š Roadmap
Phase 1: CLI Integration (Complete)
Phase 2: Enhanced Error Handling & Validation
Phase 3: Horizon API Integration
Phase 4: Direct SDK Integration
Phase 5: Documentation RAG System
Available Tools
73 toolsstellar_cache_actionlog_listC
List cached actions like transactions and simulations (experimental feature)
| Name | Required | Description | Default |
|---|---|---|---|
| long | No | Show detailed information about cached actions | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. Calling the feature experimental is the only behavioral disclosure; there is no information about permissions, whether listing has side effects, or whether the cache must be populated first, which is a notable gap for a tool adjacent to a destructive sibling like stellar_cache_clean.
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?
A single short sentence that is front-loaded with the verb and resource. It is not padded, though the parenthetical experimental label is slightly buried at the end.
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 two-parameter, no-annotation, no-output-schema tool, the description covers what the tool does but omits usage context and any behavioral constraints. It is minimally viable but leaves the agent to discover how listing relates to reading.
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 both the long and configDir parameters are already documented in the schema. The description adds no parameter-level meaning, making the baseline of 3 appropriate.
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?
States a specific verb (list) and resource (cached actions like transactions and simulations), which is concrete. It does not differentiate from its closest sibling stellar_cache_actionlog_read, leaving the agent to infer the boundary between listing and reading.
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?
The description labels the feature as experimental but provides no when-to-use guidance. It does not mention when to prefer this over stellar_cache_actionlog_read, and no conditions or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_cache_actionlog_readC
Read cached action details by ID (experimental feature)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the cache entry to read |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It flags the feature as experimental, which is useful, but says nothing about permissions, what happens if the ID is missing, caching semantics, or return shape. For a read tool with zero annotation coverage this is thin.
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?
One short sentence with the core action front-loaded and a parenthetical caveat. Nothing is wasted, though the sentence is minimal enough that it could have carried one more useful clause.
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?
With no output schema, no annotations, and no explanation of what 'action details' are returned or where the ID comes from, the description leaves notable gaps for a tool whose output is entirely undescribed.
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% and there is a single required 'id' parameter already documented as 'ID of the cache entry to read'. The description adds no format or sourcing detail beyond the schema, so the baseline 3 applies.
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?
States a specific verb and resource ('Read cached action details'), and the 'by ID' phrasing distinguishes it from the sibling stellar_cache_actionlog_list. It does not explicitly name the list alternative, but an agent can infer the read-one-vs-list distinction from the resource wording.
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?
No when-to-use guidance is given. The description never says when to call this versus stellar_cache_actionlog_list, nor what preconditions (e.g., a prior actionlog list call) exist. Usage is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_cache_cleanB
Delete the cache, removing all cached data including transaction history and contract specs
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the destruction scope (transaction history and contract specs), which is the single most important trait for a destructive tool. However, it says nothing about irreversibility, whether the cache is repopulated automatically, required permissions, or confirmation requirements.
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?
One sentence, front-loaded with the action and immediately qualified by the exact data affected. No filler or redundancy.
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 destructive, zero-parameter tool with no annotations and no output schema, the description covers what is lost but omits reversibility, whether data can be regenerated, and any confirmation behavior. It is minimally sufficient but leaves real gaps around the risk profile.
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?
The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies.
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?
States a specific verb (delete) and resource (cache) and goes further by naming exactly what is removed: transaction history and contract specs. This distinguishes it from cache-read siblings like stellar_cache_actionlog_list and stellar_cache_path, though there is no other destructive cache sibling to contrast with explicitly.
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?
No guidance on when to run this versus other cache or config tools, and no warning about prerequisites or when it should be avoided. The agent is left to infer that this is a cleanup/reset operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_cache_pathA
Show the location of the cache directory
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, but 'Show' reasonably conveys a read-only, non-destructive lookup. It does not say whether the directory must already exist, whether the path is created, or what the returned value looks like, though for a trivial zero-param getter these gaps are minor.
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?
A single front-loaded sentence with no filler, perfectly sized for a trivial informational tool. Every word earns its place.
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?
With no output schema, the description does state the essential return value (the cache directory location), and there are no parameters or annotations requiring disclosure. It is nearly complete for a tool this simple, with only the ambiguity around directory existence/creation left open.
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?
The tool takes zero parameters, so there is nothing to document and the baseline of 4 applies. The description correctly introduces no parameter concepts that would need further explanation.
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?
States a specific verb (Show) and resource (the cache directory's location), so an agent can tell what it does without opening the schema. It doesn't explicitly distinguish itself from the parallel sibling stellar_config_dir, but the resource name is distinct enough to differentiate in practice.
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?
Usage is implied rather than stated: a zero-parameter informational getter is self-evidently used to retrieve the cache path. There is no explicit when/when-not guidance and no mention of the nearby alternatives (stellar_config_dir, stellar_cache_clean, stellar_cache_actionlog_list).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_completionC
Print shell completion code for the specified shell
| Name | Required | Description | Default |
|---|---|---|---|
| shell | Yes | The shell type for which to generate completion code |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Print' implies a non-mutating, side-effect-free read, but the description never states that it writes to stdout only, that output must be sourced/eval'd, or whether it has any filesystem or config side effects.
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?
One short, front-loaded sentence with no wasted words. It is appropriately sized for a trivial one-parameter command, though it could have used a second clause to hint at output usage.
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?
The tool is simple (one enum param, no output schema, no annotations), so a terse description is nearly sufficient. Still, it omits what 'completion code' is and how the caller is expected to consume it, which is the one non-obvious aspect of this command.
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% and the single parameter is an enum with five allowed values, so the schema fully documents the input. The description adds nothing beyond 'the specified shell', which is the baseline for a fully covered single-param tool.
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?
States a specific verb ('Print') and resource ('shell completion code') plus the scope ('for the specified shell'). It is clearly distinguished from the many sibling tools, none of which generate completion scripts, though it does not explicitly call that difference out.
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?
No guidance on when to use this versus alternatives, and no mention of typical workflow (e.g. redirecting or eval'ing the output into the current shell). The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_config_dirB
Show the global configuration directory location and contents
| Name | Required | Description | Default |
|---|---|---|---|
| configDir | No | Location of config directory. By default, it uses $XDG_CONFIG_HOME/stellar if set, falling back to ~/.config/stellar otherwise |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Show' implies a read-only operation and it states that both location and contents are displayed, but it omits any mention of permissions, side effects, or whether the directory is created if absent. It adds modest behavioral context beyond the schema.
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?
One sentence, front-loaded with the action and object, with no wasted words. Appropriate for a simple read tool.
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?
The tool is simple and the single parameter is fully documented in the schema. The description covers the primary output (location and contents) and no output schema exists, so it is largely sufficient, though it could note read-only safety.
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% and the single optional configDir parameter is fully documented there, including the XDG default. The description adds no extra syntax or meaning beyond the schema, so baseline 3 applies.
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?
States a specific verb ('Show') and resource ('global configuration directory location and contents'). It is clear what the tool does, but it does not explicitly differentiate itself from sibling config tools like stellar_config_migrate.
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?
No when-to-use or when-not-to-use guidance is provided, and no alternatives such as stellar_config_migrate are mentioned. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_config_migrateC
Migrate the local configuration to the global directory
| Name | Required | Description | Default |
|---|---|---|---|
| configDir | No | Location of config directory. By default, it uses $XDG_CONFIG_HOME/stellar if set, falling back to ~/.config/stellar otherwise |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It doesn't say whether migration is destructive, what happens if the global directory already has a config, what gets copied vs moved, whether permissions are required, or whether the operation is reversible. For a mutation tool this is a serious gap.
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?
Single concise sentence, front-loaded with the verb. No waste, though it is minimal to the point of under-specification rather than ideal conciseness.
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 filesystem mutation tool with no annotations and no output schema, the description omits consequences (overwrite behavior, reversibility, failure modes). It is not adequate to invoke safely without additional assumptions.
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% ā the configDir parameter has a full description of default resolution. The tool description adds no parameter detail beyond the schema. Baseline 3 applies when schema fully documents the parameter.
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?
States verb 'Migrate' and resource 'local configuration', and identifies source/destination ('local' to 'global directory'). However, it doesn't distinguish from sibling stellar_config_dir, which presumably shows the config location, nor do the terms 'local' and 'global' get defined. Purpose is graspable but sibling differentiation is absent.
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?
No when-to-use guidance, no prerequisites (e.g., whether an existing global config is overwritten), no warnings about irreversible migration. An agent cannot infer when this tool is appropriate vs stellar_config_dir.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_container_logsB
Get logs from a running network container
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Container to get logs from (default: local) | |
| dockerHost | No | Override the default docker host path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It says 'running' container, implying a precondition, but doesn't disclose whether logs are streamed, tailed, or a one-shot snapshot, whether output is paginated, or what happens on a stopped/absent container.
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?
A single, front-loaded sentence with no filler. Every word earns its place and the resource/verb lead the phrase.
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?
There is no output schema and no annotations, so the description should carry more weight. For a log tool, the agent would benefit from knowing the return shape (e.g., log lines, streaming vs snapshot) and error behavior, none of which is provided.
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 both parameters (name with a local default, dockerHost override) are fully documented in the schema. The description adds no meaning beyond that, so the baseline 3 applies.
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 states a specific verb (get) and resource (logs from a network container), making the operation immediately clear. It implicitly differentiates from the container lifecycle siblings (stellar_container_start/stop) by scoping to log retrieval, though it doesn't name those siblings explicitly.
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?
Usage is only implied ā an agent would use it to inspect a container's logs ā and the qualifier 'running' hints at a precondition (container must be up). There is no explicit when-to-use guidance, no mention of alternatives, and no statement about what to do if no container is running.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_container_startB
Start a container running a Stellar node, RPC, API, and friendbot (faucet)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional argument to specify the container name | |
| limits | No | Specify the limits for the local network only | |
| network | No | Network to start (default: local) | |
| dockerHost | No | Override the default docker host path | |
| portsMapping | No | Specify HOST_PORT:CONTAINER_PORT mapping (default: 8000:8000) | |
| protocolVersion | No | Specify the protocol version for the local network only | |
| imageTagOverride | No | Override the default docker image tag for the given network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses which components are launched (node, RPC, API, faucet), which is genuine context, but says nothing about it being a long-running process, required Docker availability, port binding conflicts, resource limits, or whether the call blocks ā all material for a container-start operation.
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?
A single front-loaded sentence with zero filler; the action and the components affected come first. Nothing to trim.
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?
With no annotations and no output schema, the description should cover more of the lifecycle, e.g. that a stopped container is cleaned up via stellar_container_stop or that logs come from stellar_container_logs. The core purpose is covered and defaults live in the schema, but the post-start workflow is left implicit.
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 every one of the 7 parameters is already documented in the schema (including the network enum default of local). The description adds no format or constraint detail beyond what the schema supplies, so the baseline 3 applies.
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?
Specific verb (start) plus resource (container running a Stellar node, RPC, API, friendbot), which immediately distinguishes it from the sibling stellar_container_stop. It doesn't explicitly name the stop tool as its counterpart, but the action direction is unambiguous.
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?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as stellar_network_use or stellar_network_add for non-container workflows. The agent must infer that this spins up a dockerized local/dev network rather than joining an existing one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_container_stopB
Stop a network container started with stellar container start
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Container to stop (default: local) | |
| dockerHost | No | Override the default docker host path |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It does not state whether stopping is reversible, what happens to container state or data, whether the operation is idempotent, or what permissions are required. The only behavioral context added is that the container should have been started via the corresponding start tool.
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 a single front-loaded sentence with zero filler. It states the action and lifecycle relationship immediately.
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 simple two-parameter stop tool with a fully described schema and no output schema, the description is minimally adequate. However, with no annotations and no output schema, it omits operational details such as idempotency and side effects, leaving a clear gap in behavioral completeness.
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%, and both optional parameters are already documented in the schema, including the 'name' default of 'local' and the 'dockerHost' override. The description adds no parameter-specific semantics beyond what the schema provides, so the baseline of 3 is appropriate.
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 provides a specific verb and resource ('Stop a network container') and explicitly ties it to the lifecycle counterpart ('started with stellar container start'). This clearly distinguishes it from sibling tools such as stellar_container_start and stellar_container_logs.
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?
The description implies a prerequisite container must have been started, but it gives no explicit when-to-use guidance, no when-not-to-use guidance, and no alternatives for inspecting or restarting containers. The agent is left to infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_aliasC
Manage contract aliases for easier reference
| Name | Required | Description | Default |
|---|---|---|---|
| alias | No | Alias name (required for add, remove, show) | |
| action | Yes | Alias action to perform | |
| network | No | Network for the alias | |
| overwrite | No | Overwrite existing alias if it exists | |
| contract_id | No | Contract ID to associate with alias (required for add) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state that this is a stateful mutation operation (for add/remove), nor does it explain the implications of the overwrite parameter, potential side effects, or return format. The description is silent on all behavioral aspects.
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 single-sentence description is concise and front-loaded, with no wasted words. However, its brevity comes at the cost of omitting essential details, so it is not maximally effective.
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 tool with five parameters, no annotations, and no output schema, the description is incomplete. It does not name the supported actions, explain the action-driven behavior, clarify required parameters, or describe how aliases persist or interact with networks, leaving significant gaps for correct invocation.
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 all five parameters are fully documented in the schema itself. The description adds no parameter-level meaning beyond what the schema provides, which meets the baseline expectation for high coverage.
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 states a clear verb and resource ('Manage contract aliases') and specifies the benefit ('for easier reference'), which is more specific than the name alone. However, it fails to differentiate this tool from its many siblings in the Stellar family and does not reveal that the tool is actually a multi-action dispatcher supporting add, remove, show, and list.
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?
No guidance is provided on when to use this tool versus alternatives. It is unclear when an agent should create an alias, and no prerequisites (such as a contract being deployed) or relationships to sibling tools like stellar_contract_deploy are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_asset_deployB
Deploy a Stellar Asset Contract for wrapping classic assets
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| alias | No | Alias to save for the asset contract | |
| asset | Yes | Asset to wrap (e.g., "USDC:GABC...XYZ") | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| source_account | Yes | Account that will deploy the asset contract |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says 'Deploy' (a mutation) but gives no details about submission, fee requirements, account prerequisites, irreversibility, or the effect of the build_only parameter. This is a significant gap for a write operation.
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 a single front-loaded sentence with no wasted words. It is efficient, though its brevity leaves behavioral gaps that a longer description could address.
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 complexity of deploying a Stellar Asset Contract, the absence of annotations and an output schema, the description is incomplete. It does not explain key behavioral aspects such as transaction submission, required account state, or return valuesācontext an agent would need to invoke the tool correctly.
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 all six parameters are documented in the schema. The description adds no parameter-level information, making the baseline of 3 appropriate.
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 states a specific verb (Deploy) and a specific resource (Stellar Asset Contract for wrapping classic assets). This distinguishes it from the generic sibling stellar_contract_deploy, which deploys contracts without the asset-wrapping focus.
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?
The phrase 'for wrapping classic assets' implies the use caseāwhen you need to wrap a classic asset into a contract. However, it gives no explicit when/when-not guidance or alternatives, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_bindingsC
Generate client bindings for a contract in various languages
| Name | Required | Description | Default |
|---|---|---|---|
| wasm | No | Path to WASM file | |
| network | No | Network for fetching contract | |
| language | Yes | Target language for bindings | |
| overwrite | No | Overwrite existing output directory | |
| wasm_hash | No | Hash of WASM on network | |
| output_dir | No | Directory to output generated bindings | |
| contract_id | No | Contract ID on network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does not say that this writes files to disk, what happens when output_dir already exists (the overwrite param hints at it but the risk is undisclosed), or whether it hits the network. For a filesystem-writing generation tool this is a notable gap.
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?
A single tight sentence with the verb and resource front-loaded and no wasted words. It is not padded, though it is arguably too short given the tool's 7 parameters.
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?
With 7 parameters, no output schema, and no annotations, the description should clarify the wasm-vs-(contract_id+network) input paths, the required language, and the output destination behavior. As written it leaves the agent to reconstruct the invocation from the schema alone.
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 every parameter is already documented in the schema; the description adds no syntax, format, or usage guidance beyond 'various languages'. Baseline 3 applies when the schema does the heavy lifting.
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?
States a specific verb and resource ('Generate client bindings') plus scope ('for a contract in various languages'), which is enough to distinguish it from siblings like stellar_contract_build or stellar_contract_deploy. It does not, however, name or contrast any sibling explicitly.
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?
No when-to-use, prerequisites, or alternatives are given. An agent must infer that this is a post-build step and that the contract source comes from either a WASM file or a contract_id on a network.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_buildC
Build a Soroban contract from Rust source code
| Name | Required | Description | Default |
|---|---|---|---|
| meta | No | Key-value pairs to add to contract metadata | |
| out_dir | No | Directory to copy built WASM files to | |
| package | No | Specific package to build in workspace | |
| profile | No | Build profile (default: release) | |
| features | No | Features to activate during build | |
| all_features | No | Build with all features activated | |
| manifest_path | No | Path to Cargo.toml file | |
| no_default_features | No | Build without default features | |
| print_commands_only | No | Only print build commands without executing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about the fact that this invokes cargo, writes WASM artifacts to disk, copies files to out_dir, can be long-running, or that print_commands_only makes it a dry run. The only behavioral hint is 'from Rust source code'.
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?
A single front-loaded sentence with zero filler and no redundancy. It is efficient, though the extreme brevity leaves it under-specified rather than optimally structured for a 9-parameter tool.
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 mutating build tool with 9 parameters, a nested meta object, no annotations, and no output schema, the description omits output/artifact behavior, dry-run semantics, and toolchain requirements. An agent cannot tell what it gets back or what side effects occur.
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% across all 9 parameters, so the schema already explains package, profile, features, manifest_path, out_dir, etc. The description adds no extra meaning (e.g. that meta keys are injected as env vars or that the WASM build target is wasm32-unknown-unknown), so the baseline 3 applies.
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?
States a specific verb+resource ('Build a Soroban contract') plus the input modality ('from Rust source code'), so the agent knows exactly what it produces. It does not differentiate from nearby siblings such as stellar_contract_optimize or stellar_contract_deploy, which also act on built contracts.
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?
No when-to-use guidance, no prerequisites (e.g. 'run after stellar_contract_init, before stellar_contract_deploy/optimize'), and no mention of alternatives. The agent must infer ordering from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_deployC
Deploy a Soroban smart contract to Stellar network
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops (default: 100) | |
| salt | No | Custom 32-byte salt for contract ID generation | |
| alias | No | Alias to save for the deployed contract ID | |
| network | Yes | Stellar network to deploy to | |
| wasm_hash | No | Hash of already installed WASM file | |
| wasm_path | No | Path to WASM file to deploy | |
| build_only | No | Only build transaction, do not submit | |
| ignore_checks | No | Ignore safety checks when deploying | |
| source_account | Yes | Account that will deploy the contract (can be identity, public key, or secret key) | |
| constructor_args | No | Arguments to pass to contract constructor |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it says almost nothing: it doesn't disclose that this submits a real transaction, spends fees, is irreversible on mainnet, or that ignore_checks bypasses safety validation. Marking a tool that can touch mainnet with public funds this tersely is a significant gap.
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?
A single front-loaded sentence with zero filler. It is efficient, though arguably under-specified rather than optimally sized for a 10-parameter mutation tool.
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?
With 10 parameters, no annotations, and no output schema, the description should carry real weight, but it supplies none of the missing context about cost, irreversibility, prerequisites, or the wasm_path/wasm_hash relationship. Adequate only as a label, not as invocation guidance.
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 every one of the 10 parameters is already documented in the schema and the baseline is 3. The description adds no format, default, or constraint detail beyond what the schema provides.
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?
States a specific verb (deploy) and resource (Soroban smart contract) plus the target network, which separates it from siblings like stellar_contract_build, stellar_contract_upload, and stellar_contract_asset_deploy (the latter deploys an asset, not a Soroban contract). It never explicitly names those siblings as alternatives, so the differentiation is implicit rather than stated.
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?
There is no guidance on when to deploy versus build, upload, or optimize first, nor any mention of the wasm_path vs wasm_hash choice or the build_only workflow. The agent is left to infer the entire deployment pipeline ordering from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_extendC
Extend the time-to-live of contract data entries
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| key | No | Storage key to extend (symbols only) | |
| key_xdr | No | Storage key as base64-encoded XDR | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| durability | No | Storage durability type | |
| contract_id | No | Contract ID owning the data entries | |
| source_account | Yes | Account that will pay for the extension | |
| ttl_ledger_only | No | Only print the new TTL ledger, do not submit | |
| ledgers_to_extend | Yes | Number of ledgers to extend TTL by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a mutation ('Extend') but fails to mention that this typically submits a transaction, requires a source account, incurs fees, or can be used with build_only/ttl_ledger_only flags visible in the schema.
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 a single, front-loaded sentence with no wasted words. It is appropriately sized for a concise statement of purpose, though its brevity contributes to gaps in other dimensions.
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 tool with 10 parameters, no annotations, no output schema, and many sibling tools, the description is far too sparse. It omits when to use the tool, how it interacts with required parameters like network and source_account, and what behavioral differences exist between normal submission and build_only/ttl_ledger_only modes.
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 every parameter already has documentation within the input schema. The description adds no additional parameter semantics, making the baseline of 3 appropriate.
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 states a specific verb ('Extend') and resource ('time-to-live of contract data entries'), so the tool's purpose is clear. However, it does not differentiate itself from related sibling tools such as stellar_contract_restore or stellar_contract_read, which might also manipulate contract data state.
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?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, network context, or transaction-submission implications. It simply states the action, leaving the agent to infer usage from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_fetchC
Fetch a contract's WASM binary from the network
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Stellar network | |
| out_file | No | Path to save the fetched WASM file | |
| contract_id | Yes | Contract ID to fetch WASM for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden. 'Fetch' implies a read, but it says nothing about what happens when out_file is omitted (returned inline vs. only written to disk), error behavior for unknown contracts, or network/config requirements ā significant gaps for a tool with zero annotation coverage.
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?
A single tight sentence, front-loaded with verb and resource, with no redundant restatement of the name or title. It is efficient, though terse enough to leave real questions unanswered.
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?
There is no output schema, so the description should clarify return behavior ā particularly whether the WASM is returned as data or only written when out_file is supplied. For a simple read tool with fully-covered parameters, it is adequate but leaves that one meaningful ambiguity unresolved.
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 all three parameters are already documented in the schema (contract_id, network enum, out_file path). The description adds no format or syntactic detail beyond that, which is the expected baseline when the schema does the heavy lifting.
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?
States a specific verb (fetch) and resource (contract WASM binary) with its source (network), which cleanly separates it from siblings like stellar_contract_upload, stellar_contract_read, and stellar_contract_info. It does not, however, explicitly name those siblings or contrast itself with them.
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?
No guidance on when to use this versus alternatives such as stellar_contract_read or stellar_contract_info, and no prerequisites (e.g. network config, contract must exist). The agent must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_idC
Generate contract IDs for assets or WASM contracts
| Name | Required | Description | Default |
|---|---|---|---|
| salt | No | Salt for WASM contract (required if id_type is wasm) | |
| asset | No | Asset for asset contract (required if id_type is asset) | |
| id_type | Yes | Type of contract ID to generate | |
| network | Yes | Stellar network | |
| source_account | No | Source account for WASM contract (required if id_type is wasm) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says 'generate' but never discloses whether this is deterministic, purely offline, whether it touches the network, or what permissions/network access it requires ā meaningful gaps for an agent deciding whether to call it.
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?
A single tight sentence, front-loaded with the verb and resource. No waste, though it is arguably under-specified rather than truly concise.
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?
With five parameters, conditional requirements (salt and source_account required for wasm), no output schema, and no annotations, the description is too thin. It does not explain the conditional parameter interactions or what the generated ID looks like.
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 documents id_type, network, salt, asset, and source_account. The description only restates the asset/WASM split already encoded in the id_type enum, adding no format or dependency detail beyond the schema.
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?
Specific verb 'Generate' plus resource 'contract IDs' with the two variant families (assets vs WASM) named. It clearly differs from deployment siblings like stellar_contract_deploy or stellar_contract_asset_deploy, though it never explicitly contrasts itself with them.
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?
The description states what it produces but gives no guidance on when an agent should compute a contract ID rather than deploy, alias, or read a contract. No prerequisites or workflow context are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_infoC
Get information about a contract (interface, metadata, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| wasm | No | Path to local WASM file | |
| output | No | Output format | |
| network | No | Network for fetching contract | |
| info_type | Yes | Type of information to retrieve | |
| wasm_hash | No | Hash of WASM on network | |
| contract_id | No | Contract ID on network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does not disclose whether this is a read-only operation, what permissions or network context is required, whether it has side effects, or what the response contains beyond generic 'information'.
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 a single efficient sentence with no filler. It is front-loaded with the main action and resource, though the trailing 'etc.' is vague and adds little.
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 six-parameter tool with no annotations and no output schema, the description is too thin. It does not explain return values, output formats, or how to interpret the different info_type values, leaving the agent without enough context to use it confidently among many sibling contract tools.
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 input schema already documents all six parameters, their enums, and descriptions. The description adds only the examples 'interface' and 'metadata', which partially map to the info_type enum but do not significantly extend schema semantics.
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?
States a clear verb (Get) and resource (contract) with example information types (interface, metadata), so an agent can understand the basic purpose. However, it does not distinguish this tool from siblings like stellar_contract_read, stellar_contract_fetch, stellar_contract_id, or stellar_contract_bindings, and the 'etc.' makes the scope somewhat vague.
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?
The description provides no when-to-use guidance, prerequisites, or alternatives. It does not explain when an agent should choose this tool over closely related contract tools such as read, fetch, bindings, or id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_initC
Initialize a new Soroban contract project
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the contract (default: hello-world) | |
| overwrite | No | Overwrite existing files if they exist | |
| project_path | Yes | Path where the project will be created |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It doesn't disclose that this is a file-creating mutation, what files/directories get scaffolded, whether it fails on an existing directory, or whether permissions/network setup are needed. The 'overwrite' param hints at destructive overwrite behavior, but the description itself says nothing.
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?
A single front-loaded sentence with no filler, which is good. However, it is under-specified rather than genuinely concise ā it has been trimmed past the point of usefulness for a scaffolding mutation.
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 file-creating tool with no annotations and no output schema, the description is too thin: it omits what the scaffold produces, directory side effects, and success/failure conditions. Parameter coverage is complete, but the behavioral picture an agent needs before running a write operation is not.
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 all three parameters (name, overwrite, project_path) are already documented in the schema. The description adds no format, default, or constraint detail beyond that, so the baseline 3 applies.
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?
States a specific verb ('Initialize') and resource ('Soroban contract project'), so the agent knows this scaffolds a new project. It does not differentiate from siblings such as stellar_contract_build or stellar_contract_deploy, which also operate on contract projects.
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?
No indication of when to use this versus alternatives, no prerequisites (e.g., whether a network must be configured first), and no note that it should only run for new projects. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_invokeB
Invoke a function on a deployed Soroban contract
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| send | No | Transaction sending behavior: default (auto), no (simulate only), yes (always send) | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| contract_id | Yes | Contract ID or alias to invoke | |
| function_args | No | Arguments to pass to the function as key-value pairs | |
| function_name | Yes | Name of the contract function to invoke | |
| source_account | Yes | Account that will invoke the contract |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the action without disclosing critical behavioral traits: whether this requires signing, what happens on failure, whether it sends a transaction by default, or the implications of parameters like 'send' or 'build_only'. This is a significant gap for a mutation tool.
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 a single, clear sentence that is front-loaded with the core action and resource. It is appropriately sized and contains no wasted words.
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 tool's complexity (8 parameters, mutation operation, no annotations, no output schema), the description is inadequate. It should explain return values, side effects, and key behavioral aspects like transaction sending and simulation options to be complete.
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 fully documents all parameters, including enums and nested objects. The description adds no parameter information beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.
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 states a specific verb ('Invoke') and resource ('a function on a deployed Soroban contract'), which clearly conveys the tool's purpose. It distinguishes itself from siblings like stellar_contract_deploy and stellar_contract_read by focusing on function invocation, though it doesn't explicitly name alternatives.
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?
The description provides a basic indication of when to use this tool (invoking a function on a deployed contract), but it does not specify when to use it versus alternatives such as stellar_tx_simulate or stellar_contract_read, nor does it mention prerequisites like contract deployment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_optimizeC
Optimize WASM files for deployment
| Name | Required | Description | Default |
|---|---|---|---|
| wasm_out | No | Output path for optimized WASM (defaults to .optimized.wasm suffix) | |
| wasm_paths | Yes | Paths to WASM files to optimize |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Optimize' implies a transformation that likely writes an output file, but the description does not state whether files are modified in place, what defaults apply, whether the operation is reversible, or what permissions or prerequisites are needed.
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 a single, front-loaded sentence with no filler. It is appropriately concise for its length, though it could be considered under-specified rather than optimally sized for a mutating file operation.
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 that this appears to be a transformation tool with no annotations, no output schema, and only two parameters, the description is too thin. It omits critical behavioral context such as what optimization entails, whether it modifies originals, how output paths are handled, and when in a contract workflow it should be invoked.
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%, and the input schema already documents both parameters, including the default output suffix for wasm_out. The description adds no additional parameter meaning, so baseline 3 is appropriate.
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?
States a specific verb ('Optimize') and resource ('WASM files'), and adds the deployment context. However, it does not explicitly differentiate this tool from siblings like stellar_contract_build or stellar_contract_deploy, which an agent might reasonably confuse it with.
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?
The description gives no guidance on when to use this tool versus alternatives, nor does it state prerequisites or exclusions. The phrase 'for deployment' implies a workflow context but does not specify when optimization is required or how it relates to build/deploy steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_readD
Read contract data entries
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Storage key to read | |
| output | No | Output format | |
| key_xdr | No | Storage key as base64-encoded XDR | |
| network | Yes | Stellar network | |
| durability | No | Storage durability type | |
| contract_id | No | Contract ID to read from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It says nothing about read-only safety, whether it performs network calls, error behavior, or what a successful read returns. The single sentence adds no 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 a single short sentence with no wasted words, but it is under-specified rather than concise. It is front-loaded but lacks any structure beyond the bare purpose.
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 tool with six parameters and no output schema or annotations, the description is inadequate. It does not explain return format, how to choose between key and key_xdr, or what happens on failure. An agent would need to infer behavior entirely from the schema.
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 all six parameters (key, key_xdr, network, durability, output, contract_id) are already documented in the schema. The description adds no additional parameter meaning, which is acceptable given the high schema coverage.
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 'Read contract data entries' restates the tool name with a generic verb+resource. It does not distinguish this tool from siblings like stellar_contract_fetch, stellar_contract_info, or stellar_contract_extend, which all relate to contract data.
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?
There is no guidance on when to use this tool versus alternatives such as stellar_contract_fetch or stellar_contract_info. No exclusions, prerequisites, or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_restoreC
Restore evicted contract data entries
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| key | No | Storage key to restore | |
| key_xdr | No | Storage key as base64-encoded XDR | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| durability | No | Storage durability type | |
| contract_id | No | Contract ID to restore | |
| source_account | Yes | Account that will pay for restoration | |
| ttl_ledger_only | No | Only print the new TTL ledger | |
| ledgers_to_extend | No | Number of ledgers to extend after restoration |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a write/mutation operation but does not disclose permissions needed, whether the restoration is immediate or requires submission, or what happens to ledger TTLs without additional options.
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?
A single, front-loaded sentence with no wasted words. It is efficient, though its brevity borders on under-specification for a 10-parameter tool.
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?
The tool has 10 parameters, no annotations, and no output schema, so the description should explain more about behavior, side effects, and required context. A single sentence is not complete enough for a complex contract data restoration operation.
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 every parameter is already documented in the input schema. The description adds no additional meaning beyond the schema, making the baseline score of 3 appropriate.
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?
States a specific verb (restore) and resource (evicted contract data entries). This distinguishes it from read/fetch/upload siblings, but it does not explicitly differentiate from stellar_contract_extend, which also deals with contract data persistence.
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?
No guidance on when to use this tool versus alternatives such as stellar_contract_extend or stellar_contract_fetch. The description does not state prerequisites (e.g., evicted entries must exist) or when restoration is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_contract_uploadB
Upload a WASM file to the ledger without creating a contract instance
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| wasm | Yes | Path to WASM file to upload | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| ignore_checks | No | Ignore safety checks | |
| source_account | Yes | Account that will upload the WASM |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about permissions/authorization, whether the upload is idempotent or returns a WASM hash, or that 'build_only' turns this into a dry run and 'ignore_checks' bypasses safety checks. For a ledger-mutating tool with no annotation coverage this is a significant gap.
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?
A single front-loaded sentence with zero waste. The scope distinction is placed immediately after the action.
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 six-parameter mutation tool with no annotations and no output schema, the description omits the behavioral impact of build_only and ignore_checks and says nothing about the result of a successful upload. It is under-specified relative to the tool's complexity.
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 documents all six parameters, including build_only, ignore_checks, fee, and network enum. The description adds no parameter meaning beyond what the schema provides, making the baseline 3 correct.
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?
States a specific verb (upload) and resource (WASM file) with an explicit scope qualifier ('without creating a contract instance') that cleanly separates it from stellar_contract_deploy. An agent can distinguish it from the deploy sibling 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?
The phrase 'without creating a contract instance' implies the deploy alternative but never names it or states when each is preferred. Usage is inferable rather than explicit, which is minimum viable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_doctorC
Diagnose and troubleshoot CLI and network issues, checking for common problems
| Name | Required | Description | Default |
|---|---|---|---|
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It does not state whether the tool is read-only or safe, whether it mutates config, what specific checks it performs, or what the output looks like ā a significant gap for a diagnostic command.
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?
A single compact sentence with the action front-loaded. No filler, though it is arguably too terse given the missing behavioral context.
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?
With no annotations and no output schema, the description is the only source of behavioral information, and it is thin. It is minimally adequate for a zero-required-parameter diagnostic tool but leaves unclear what problems it detects or what it reports back.
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?
The single optional parameter (configDir) is fully documented in the schema at 100% coverage, so the baseline is 3. The description adds no meaning beyond the schema, but none is needed here.
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?
States a specific verb and scope ('diagnose and troubleshoot CLI and network issues') with a qualifier about what it looks for ('common problems'). The purpose is clear, but it does not differentiate itself from neighboring diagnostic tools like stellar_network_health or stellar_network_info.
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?
No guidance on when to reach for this tool versus the many network/config siblings. 'Troubleshoot' implies a context, but there are no explicit triggers, prerequisites, or alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_envB
Print environment variables in .env format or get specific variable value
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Env variable name to get the value of (e.g., STELLAR_ACCOUNT, STELLAR_NETWORK) | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies read-only printing but does not state the source of the variables (.env file on disk vs process environment), whether secrets such as account keys can be exposed, or how configDir affects the output. That is a meaningful gap for a tool that may surface sensitive values.
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?
A single efficient sentence, front-loaded with the primary action and the secondary mode. Nothing is wasted, though the dual-purpose phrasing is slightly compressed relative to what it needs to convey.
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 simple two-optional-parameter, no-output-schema tool, the description is close to adequate. However, it leaves open whether printed variables can include secrets and where they are read from, which matters for correct and safe invocation.
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 both parameters are already documented, and the description adds no syntax, format, or defaulting detail beyond what the schema provides. Baseline 3 applies when the schema does the heavy lifting.
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?
States specific verbs (print/get) and resource (environment variables) and distinguishes the two modes (bulk dump vs single value). It does not differentiate itself from any sibling, though none of the listed siblings are env-var tools, so the risk of confusion is low.
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?
The two modes are implied by the description ('or get specific variable value'), letting an agent infer that omitting 'name' dumps everything and supplying it fetches one value. There is no explicit when-to-use guidance, no mention of where the variables are sourced from, and no alternatives named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_events_watchC
Watch the network for contract events
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | The maximum number of events to display (default: 10) | |
| cursor | No | The cursor corresponding to the start of the event range | |
| output | No | Output formatting options for event stream | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| configDir | No | Location of config directory | |
| eventType | No | Specifies which type of contract events to display | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| contractIds | No | A set of (up to 5) contract IDs to filter events on | |
| startLedger | No | The first ledger sequence number in the range to pull events | |
| topicFilters | No | A set of (up to 4) topic filters to filter event topics on | |
| networkPassphrase | No | Network passphrase to sign the transaction sent to the rpc server |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'watch', which implies monitoring, but does not explain whether the tool streams continuously, polls, blocks, paginates, or terminates after a default count of events. Given 12 optional parameters including count and cursor, the ambiguity is significant.
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 a single front-loaded clause with no filler or redundancy. It is appropriately concise for the surface-level purpose statement, though other dimensions suffer from the brevity.
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?
This is a complex 12-parameter tool with no annotations and no output schema. The description does not explain return format, pagination or streaming behavior, default output, or required network/config context, leaving substantial gaps for an agent to infer.
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 input schema already documents all 12 parameters in detail. The description adds no additional meaning beyond what the schema provides, which is the baseline expectation when schema coverage is high.
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?
States a specific verb (watch) and resource (contract events). It is clear enough to identify the tool's main function, but it does not distinguish this tool from adjacent siblings such as ledger_fetch or contract_read, nor does it describe the scope of the watch (e.g., live stream vs. paginated event query).
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?
No explicit guidance on when to use this tool versus alternatives, nor any when-not conditions. The only implied usage is watching contract events, with no mention of prerequisites, network context, or how to choose among event-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_fee_statsB
Fetch network fee statistics for transaction planning and cost estimation
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. "Fetch" implies a read, but nothing is said about rate limits, caching, freshness, required network configuration, or whether fee data is network-wide vs. per-operation ā all material for a planning tool.
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?
A single front-loaded sentence with no filler; the purpose clause is stated before elaboration. Efficient, though extremely brief for the scope of the tool.
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?
With no output schema and no annotations, the description should clarify what 'fee statistics' contains (base fee, priority fee, surge pricing) and that network/endpoint are selectable. It gives just enough to call the tool but leaves return-shape expectations unset.
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% across all 5 parameters, so the schema already documents output format, rpcUrl, network, rpcHeaders, and networkPassphrase. The description adds no parameter-level meaning beyond that, which is the baseline-3 case.
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?
States a specific verb (Fetch) and resource (network fee statistics), and frames the intent (transaction planning and cost estimation). No sibling tool covers fees, so differentiation is implicit rather than stated, keeping it short of a 5.
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?
"For transaction planning and cost estimation" gives a plausible use context, but there is no explicit when-to-use/when-not guidance and no named alternative for related queries such as network health or ledger data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_addC
Add a new identity (keypair, ledger, OS specific secure store)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of identity | |
| configDir | No | Location of config directory | |
| publicKey | No | Add a public key, ed25519, or muxed account, e.g. G1.., M2.. | |
| secretKey | No | Enter secret (S) key when prompted | |
| seedPhrase | No | Enter key using 12-24 word seed phrase | |
| secureStore | No | Save the new key in your OS's credential secure store |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It is a mutation tool (creates/stores a keypair) yet says nothing about permissions, whether it overwrites an existing identity, or that it triggers interactive prompts for secretKey/seedPhrase. The interactive nature is only implied by the schema, not the description.
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?
A single short phrase, front-loaded with the verb and resource. The parenthetical is terse to the point of being cryptic about the ledger/secure-store options but costs little.
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?
A six-parameter creation tool with no annotations and no output schema needs the description to explain side effects, prompting, and storage behavior. The description supplies none of this, leaving significant gaps for safe invocation.
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 each of the six parameters is already documented in the schema. The description adds no extra meaning (e.g. how publicKey vs secretKey vs seedPhrase interact, or what configDir accepts), so baseline 3 applies.
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?
States a specific verb (add) and resource (identity/keypair), with a parenthetical hinting at the storage backends. However it does not differentiate itself from close siblings like stellar_keys_generate or stellar_keys_use, leaving the agent to infer the distinction.
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?
No indication of when to use this versus stellar_keys_generate, stellar_keys_use, or stellar_keys_secret. No prerequisites, no note about whether an identity must already exist or whether this overwrites one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_fundB
Fund an identity on a test network
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of identity to lookup, default test identity used if not provided | |
| hdPath | No | If identity is a seed phrase use this hd path, default is 0 | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| configDir | No | Location of config directory | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the test-network restriction, which is a meaningful behavioral constraint, but says nothing about the funding mechanism (e.g., friendbot), idempotency, rate limits, or what changes on the network as a result.
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?
A single short sentence with zero waste and the key constraint front-loaded. It is arguably too terse rather than padded, but it is structurally clean.
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 mutation-style tool with 7 parameters, a nested object, no annotations, and no output schema, the description omits critical context: where funds come from, whether the call can fail on live networks, and what the caller should expect. It is incomplete for the tool's complexity.
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% with 7 documented parameters, so the schema already explains each field. The description adds no parameter-level meaning beyond that baseline.
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?
States a specific verb ('Fund') and resource ('identity') and scopes it to a test network, which is more specific than the bare name. It does not differentiate itself from sibling key tools like stellar_keys_generate or stellar_keys_add, but the purpose is unambiguous.
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?
The phrase 'on a test network' implies this only applies to test networks, giving an implicit usage condition. However, it names no alternatives (e.g., what to do on mainnet), no prerequisites, and no when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_generateC
Generate a new identity using a 24-word seed phrase
| Name | Required | Description | Default |
|---|---|---|---|
| fund | No | Fund generated key pair | |
| name | Yes | Name of identity | |
| seed | No | Optional seed to use when generating seed phrase. Random otherwise | |
| hdPath | No | When generating a secret key, which hd_path should be used from the original seed_phrase | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| asSecret | No | Output the generated identity as a secret key | |
| configDir | No | Location of config directory | |
| overwrite | No | Overwrite existing identity if it already exists | |
| secureStore | No | Save the new key in your OS's credential secure store | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing. It does not explain that an identity is created/persisted, whether an existing identity is overwritten by default, that funding may hit a network, or what happens if a name already exists. For an 11-parameter mutation tool with no annotations, this is a severe gap.
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?
A single efficient sentence that front-loads the action and the key default (24-word seed phrase). It is concise but under-specified rather than overly trimmed for such a complex tool.
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 11-parameter, mutation-oriented tool with no annotations and no output schema, the description is far too thin. It omits prerequisites, persistence/overwrite behavior, funding side effects, and return information, leaving major gaps an agent needs to call it safely.
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 each of the 11 parameters is documented in the schema and the baseline is 3. The description adds the 24-word seed phrase detail but does not explain interactions between parameters (e.g., seed vs. hdPath, network vs. rpcUrl, overwrite implications).
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 states a specific verb (Generate) and resource (new identity) with a concrete detail (24-word seed phrase), so purpose is clear. However, it does not differentiate itself from siblings like stellar_keys_add, stellar_keys_use, or stellar_keys_secret, which all touch the same identity/keys domain and could be confused with generation.
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?
There is no guidance on when to use this tool versus alternatives such as stellar_keys_add (adding an existing key) or stellar_keys_use (switching active identity). The agent must infer the correct context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_listC
List identities
| Name | Required | Description | Default |
|---|---|---|---|
| long | No | Show detailed information | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses nothing about behavior. It does not confirm this is a read-only operation, nor does it describe output format, ordering, or whether secrets are ever exposed.
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?
At two words it is maximally front-loaded and wastes nothing, but the brevity reflects under-specification rather than disciplined editing.
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 tool with no annotations and no output schema, the description should convey what is returned and the read-only nature of the operation. Neither is present, leaving meaningful gaps for the agent.
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%, with 'long' and 'configDir' both documented in the schema, so the baseline is 3. The description adds no meaning beyond the schema.
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?
States a specific verb ('List') and resource ('identities'), so the agent knows it enumerates stored keys. However, it offers no differentiation from siblings like stellar_keys_public_key or stellar_keys_secret, which an agent may confuse with it.
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?
There is no statement of when to use this tool versus alternatives such as stellar_keys_public_key or stellar_keys_secret. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_public_keyC
Given an identity return its address (public key)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of identity to lookup, default test identity used if not provided | |
| hdPath | No | If identity is a seed phrase use this hd path, default is 0 | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. Beyond being a lookup, it says nothing about what happens if the named identity doesn't exist, whether it requires an unlocked/configured wallet, or what form the returned key takes.
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?
A single compact sentence with no waste, but it is arguably under-specified rather than optimally concise given the missing usage and behavior context.
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 zero-required-parameter read tool this is close to adequate, but with no annotations and no output schema the description should at least say the return is a public key string and what happens on lookup failure.
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 documents name, hdPath, and configDir and their defaults. The description adds nothing beyond the schema, so the baseline 3 applies.
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?
States a specific verb and resource: given an identity, returns its public key address. This distinguishes it from siblings like stellar_keys_secret (which returns a secret key), though it never names that sibling explicitly.
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?
No guidance on when to use this versus stellar_keys_list, stellar_keys_secret, or stellar_keys_use. The agent gets no context about prerequisites (e.g. whether the identity must already be configured).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_removeC
Remove an identity
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Identity to remove | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It says 'Remove' but doesn't disclose whether deletion is permanent, whether the key can be recovered, or what happens to config state. A destructive operation of this kind needs that 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?
Three words, perfectly front-loaded and waste-free. Brevity here edges toward under-specification rather than padding, but structure is clean.
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?
Two-param mutation tool with no annotations, no output schema, and a description far too thin to explain consequences. An agent knows it removes an identity but not what that entails.
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 documents both 'name' and 'configDir' adequately. Baseline 3 applies; description adds nothing beyond the resource name.
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?
States a specific verb (Remove) and resource (identity), which is clear enough. But it's minimal and doesn't distinguish from sibling stellar_keys_secret or stellar_keys_use, nor mention it removes keys from stored config.
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?
No when-to-use guidance, no prerequisites, no warning about irreversibility, and no routing to sibling tools like stellar_keys_list to find names. Siblings stellar_keys_add/generate exist, implying this is the inverse, but that's inferred not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_secretC
Output an identity's secret key
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of identity to lookup, default is test identity | |
| hdPath | No | If identity is a seed phrase use this hd path, default is 0 | |
| phrase | No | Output seed phrase instead of private key | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not mention that this exposes sensitive secret material, any security implications, required permissions, or side effects. This is a significant gap for a tool that outputs secret keys.
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 a single, front-loaded sentence with no wasted words. It is appropriately sized for the tool's complexity.
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 tool outputs secret keys and has no annotations or output schema, the description is insufficient. It lacks crucial context about the sensitive nature of the output, security considerations, and how the parameters affect the output (e.g., phrase vs. private key).
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 documents all parameters with descriptions. The description adds no extra meaning beyond what the schema provides. Baseline 3 applies.
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 states a specific verb and resource: it outputs an identity's secret key. This distinguishes it from siblings like stellar_keys_public_key, though it doesn't explicitly name that sibling for differentiation. The purpose is clear and specific.
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?
No guidance is provided on when to use this tool versus alternatives such as stellar_keys_public_key. The agent is left to infer usage context from the description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_keys_useC
Set the default identity for all commands
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Set the default network name | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. 'For all commands' hints at a persisted global scope, but the description never says the change is written to config, whether the named key must already exist, whether it is reversible, or what happens on an invalid name.
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?
A single, front-loaded sentence with no filler. It is efficient, though its brevity is part of why the behavioral gaps exist.
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 simple two-parameter config setter with no annotations and no output schema, the description is minimally adequate but omits persistence semantics and the identity-vs-network ambiguity that an agent needs resolved before invoking it.
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 the baseline is 3. The description's 'identity' framing conflicts with the schema text for 'name', which reads 'Set the default network name', so it adds context but does not resolve which value the parameter actually expects.
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 states a specific verb+resource combination (set the default identity), which is clearer than a bare title. It does not, however, distinguish this tool from the sibling stellar_network_use, which performs the structurally identical 'set default network' operation, leaving ambiguity about which 'default' is being changed.
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?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as stellar_keys_add, stellar_keys_list, or stellar_network_use. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_ledger_fetchB
Fetch specific ledger information by sequence number
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of ledgers to fetch (default: 1) | |
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| sequence | Yes | Ledger sequence to start fetch (inclusive) | |
| xdrFormat | No | Format of the XDR in the output | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It states a fetch operation, which implies read-only access, but does not explicitly disclose side-effect profile, required permissions, rate limits, or how network/rpcUrl configuration affects the call.
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?
A single, front-loaded sentence with no redundant or filler text. Every word contributes to the core purpose.
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?
The schema is rich enough to document parameters, but there is no output schema and no annotations. The description does not explain what ledger information is returned or how network/rpcUrl selections affect behavior, leaving gaps for an agent invoking a multi-parameter fetch tool.
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 documents all eight parameters, including sequence, limit, output, and network. The description adds no syntax or format details beyond the schema, so the baseline of 3 applies.
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?
Names a specific verb (fetch) and resource (ledger information) and states the lookup key (sequence number). It distinguishes itself implicitly from stellar_ledger_latest by requiring a sequence, but does not explicitly name the sibling alternative.
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?
The phrase 'by sequence number' implies the tool is for known ledger numbers, but there is no explicit guidance on when to use it versus stellar_ledger_latest or other fetch tools. No when-not-to-use or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_ledger_latestC
Get the latest ledger sequence and information from the network
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full behavioral burden. It never states whether this is a read-only operation, whether it hits the network, what happens if no network is configured, or what the return shape looks like. 'Information' is left undefined.
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?
A single efficient sentence with the resource front-loaded. No waste, no ambiguity in structure.
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 network query tool with no annotations, no output schema, and five parameters, the description is too thin. It doesn't disclose read-only nature, network prerequisites, or what 'information' is returned, leaving critical gaps for an agent.
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 all five parameters including network selection, rpcUrl, and output format are already documented. The description adds nothing beyond the schema, making baseline 3 correct.
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?
States a clear verb+resource: 'Get the latest ledger sequence and information.' It distinguishes itself implicitly from stellar_ledger_fetch by emphasizing 'latest,' though it never names that sibling or clarifies the distinction.
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?
No when-to-use guidance and no mention of alternatives. The only sibling-differentiating cue is the word 'latest,' which the agent must infer against stellar_ledger_fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_addC
Add a new network configuration
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of network | |
| rpcUrl | Yes | RPC server endpoint | |
| configDir | No | Location of config directory | |
| rpcHeaders | No | Optional headers (e.g. API Key) to include in requests to the RPC | |
| networkPassphrase | Yes | Network passphrase to sign transactions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden for a mutating tool, yet it discloses nothing: whether the config is persisted to disk, what happens on a duplicate name, whether credentials in rpcHeaders are stored, or what the result looks like. "Add" alone implies a write but gives no safety or side-effect 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?
It is a single front-loaded sentence with zero padding, which is structurally clean. However, for a 5-parameter mutating tool, this brevity reads as under-specification rather than deliberate conciseness.
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?
The tool has 5 parameters, a required triple, a nested object, no annotations, and no output schema, so the description is the only place to convey side effects and success/failure behavior. One bare sentence leaves the agent without enough to invoke it confidently beyond the schema.
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 every parameter including the nested rpcHeaders object is documented in the schema itself. The description adds no extra semantics (format hints, defaults for configDir, header examples), so the baseline 3 applies.
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 has a clear verb ("Add") and resource ("network configuration"), which is enough to separate it from stellar_network_remove, stellar_network_list, and stellar_network_use. It stops short of explicitly naming or contrasting those siblings, so it is clear but not fully differentiated.
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?
There is no guidance on when to use this versus stellar_network_use or stellar_network_settings, no statement of prerequisites (e.g., that name/rpcUrl/networkPassphrase are mandatory), and no note on whether the new network becomes the active one. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_healthC
Check the health of the configured RPC
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| configDir | No | Location of config directory | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does not say whether the call mutates anything, what constitutes 'healthy', what happens on failure/timeout, or whether auth is required. 'Check' implies a read, but nothing confirms it.
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?
A single front-loaded sentence with no padding. It is efficient, though its brevity comes at the cost of the missing detail noted elsewhere.
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 tool with six optional parameters, nested header objects, no annotations, and no output schema, the description is far too thin. It explains neither what the health check evaluates nor what its result conveys.
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 every parameter is already documented in the schema. The description adds no parameter meaning, which makes baseline 3 appropriate, though it could have clarified how rpcUrl/network/configDir interact with the 'configured RPC'.
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?
States a specific verb and resource ('check ... health of the RPC'), which is enough to identify the operation. However, it says 'the configured RPC' while the schema exposes rpcUrl/network/configDir overrides, so it is ambiguous which endpoint is actually checked, and it does not distinguish itself from siblings like stellar_doctor or stellar_network_info.
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?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as stellar_doctor or stellar_network_info. The agent is left to infer the context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_infoC
Get detailed information about the network
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| configDir | No | Location of config directory | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. 'Get' weakly implies a read operation, but the description says nothing about what information is returned, authentication needs, rate limits, or side effects.
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 a single front-loaded sentence with no wasted words. It is structurally efficient, though the sentence is so thin that its brevity partly reflects under-specification rather than ideal concision.
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?
The tool has six optional parameters, a nested object, no annotations, and no output schema, so the description should explain more about what network information is returned and when to use this tool. As written, it is materially incomplete for the agent's decision-making.
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 all six parameters are already documented in the input schema. The description adds no additional parameter meaning, making the baseline score of 3 appropriate.
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 states a verb and resource ('Get detailed information about the network'), so the basic purpose is clear. However, 'detailed information' is vague and the description does not differentiate this tool from siblings such as stellar_network_health, stellar_network_settings, or stellar_network_list.
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?
There is no guidance on when to use this tool, what alternatives exist, or what prerequisites or configuration choices (network, rpcUrl) matter. The agent receives no routing context despite many sibling network tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_listC
List configured networks
| Name | Required | Description | Default |
|---|---|---|---|
| long | No | Get more info about the networks | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. It doesn't state that this is a read-only, non-mutating operation, doesn't describe what the output looks like (name list vs. table), and doesn't explain the effect of the `long` flag ā all behavioral facts an agent would need.
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?
A single front-loaded sentence with zero filler ā appropriately sized for a simple list tool. It is arguably too sparse rather than verbose, but there is no wasted prose to penalize.
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 zero-required-parameter list tool with full schema coverage and no output schema, the minimum needed to invoke it is present. However, with no annotations, no output description, and a `long` flag whose effect is unexplained, the definition is only barely complete.
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 both `long` and `configDir` are already documented in the schema and the baseline of 3 applies. The description adds no format, default, or interaction details beyond the schema text.
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?
"List configured networks" states a specific verb (List) and resource (networks) with the scoping qualifier "configured." It is clear on its own but does nothing to separate it from close siblings like stellar_network_info, stellar_network_settings, or stellar_network_health, which an agent could easily confuse it with.
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?
The description gives no guidance on when to reach for this tool versus stellar_network_info/health/settings, nor does it state prerequisites (e.g. a config directory existing). With five network-related siblings, the absence of routing cues is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_removeC
Remove a network configuration
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Network to remove | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden yet only says 'Remove.' It does not disclose whether the removal is reversible, whether it affects the currently active network, required permissions, or side effects. This is a significant gap for a destructive operation.
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?
A single, efficient sentence with no wasted words. It is front-loaded but arguably too terse to convey necessary context.
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 destructive operation with no annotations and no output schema, the description is insufficient. It omits critical information about side effects, reversibility, and interaction with the active network, leaving the agent under-informed.
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 documents both parameters thoroughly. The description adds no syntax, format, or behavioral detail beyond what the schema provides, making the baseline 3 appropriate.
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?
States a specific verb (Remove) and resource (network configuration), which clearly distinguishes it from siblings like stellar_network_add, stellar_network_list, and stellar_network_use. It is clear but does not explicitly reference an alternative.
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?
No guidance on when or why to use this tool versus alternatives such as stellar_network_use or stellar_network_settings. The agent must infer usage from the name and the sibling list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_settingsC
Fetch the network's config settings
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Format of the output | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| internal | No | Include internal config settings that are not upgradeable | |
| configDir | No | Location of config directory | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read ('Fetch') but says nothing about whether it reads local config versus an RPC endpoint, what permissions are needed, or how the 'internal' non-upgradeable settings differ ā the one behaviorally interesting hint (internal config) is left entirely to the parameter name.
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?
A single short sentence with zero padding that is front-loaded and to the point. It is efficient, though its brevity borders on under-specification rather than tight conciseness.
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?
With seven optional parameters, a nested object, no output schema, and no annotations, the description should do meaningful work. It does not explain what 'config settings' are returned, whether the result is local or remote, or how the output format selection affects the response, leaving significant gaps for an agent to call it correctly.
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 all seven parameters are already documented in the schema, establishing a baseline of 3. The description adds no parameter meaning beyond what the schema provides ā no clarification of network vs rpcUrl precedence or the internal flag's implications.
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 a specific verb ('Fetch') and resource ('the network's config settings'), so the purpose is immediately clear. However, it does not distinguish this tool from nearby siblings such as stellar_network_info, stellar_network_list, or stellar_config_dir, leaving ambiguity about which config source it targets.
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?
There is no when-to-use guidance, no conditions, and no named alternative. With siblings like stellar_network_info and stellar_config_dir present, the agent is left to guess which one returns config settings versus network metadata or the config directory path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_network_useB
Set the default network for all commands
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Set the default network name | |
| configDir | No | Location of config directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Set' implies a write operation and 'for all commands' indicates scope, but the description does not explain persistence, required network validity, or side effects on existing configuration.
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 a single, front-loaded sentence with no wasted words. It is appropriately sized for a simple configuration-setting tool.
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 low complexity and full schema coverage, the core purpose is communicated. However, because annotations are absent and this is a mutating operation, the description should do more to explain behavioral context such as config persistence or error conditions.
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 both parameters are already documented in the input schema. The description adds no additional meaning beyond the schema, making the baseline score of 3 appropriate.
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 states a specific verb ('Set'), resource ('default network'), and scope ('for all commands'), making the tool's core action clear. However, it does not explicitly differentiate itself from sibling tools like stellar_network_add or stellar_network_settings, leaving the agent to infer the distinction.
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?
The description offers no when-to-use guidance, no prerequisites, and no alternatives. An agent must infer that this tool is for changing the active network configuration rather than adding or listing networks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_plugin_listB
List installed plugins
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about output format, whether plugins are user- or system-level, auth requirements, or side effects. 'List' implies read-only but that is not asserted.
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?
A single three-word sentence. Front-loaded verb+resource with zero waste. Appropriately sized for a no-arg command.
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 trivial no-param list command with no output schema, the description is minimally adequate. It would be stronger if it stated that output is a list of installed plugin names or distinguished from plugin_search.
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?
Zero parameters, so the baseline is 4. The description adds no parameter info because none exists, which is appropriate.
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?
States a specific verb (List) and resource (installed plugins). Clear enough to distinguish from sibling stellar_plugin_search (which presumably searches a registry), though the description doesn't explicitly name that sibling.
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?
No when-to-use or when-not-to-use guidance. It does not mention stellar_plugin_search as the alternative for discovering uninstalled plugins. An agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_plugin_searchB
Search for CLI plugins using GitHub
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It hints that results are sourced from GitHub but says nothing about authentication, rate limits, whether anything is installed or modified, or the result format ā all material for a tool an agent may invoke blindly.
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?
A single short sentence with no filler and the key concept (plugin search) front-loaded. It is under-specified rather than verbose, but as written every word earns its place.
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?
The tool takes no inputs and has no output schema, so the description only needs to convey what invocation does. It covers that minimally, but leaves the agent unsure about network requirements, whether the search is remote, and what kind of results come back.
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?
The input schema defines zero parameters, so there is no parameter semantics to document and no gap for the description to compensate for. Baseline 4 applies for a parameterless tool.
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?
States a specific verb (Search) and resource (CLI plugins), and distinguishes itself from the sibling stellar_plugin_list by adding where results come from (GitHub). It is clear, but the mechanism ('using GitHub') is loose and could mean the API, raw repos, or a curated index.
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?
No when-to-use guidance, no mention of when to prefer this over stellar_plugin_list or other plugin tools, and no prerequisites (network access, GitHub token). The only implicit signal is that it is a search rather than a listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_snapshot_createC
Create a ledger snapshot using a history archive
| Name | Required | Description | Default |
|---|---|---|---|
| out | No | Out path that the snapshot is written to (default: snapshot.json) | |
| ledger | No | The ledger sequence number to snapshot. Defaults to latest history archived ledger | |
| output | Yes | Format of the output file | |
| rpcUrl | No | RPC server endpoint | |
| network | No | Name of network to use from config | |
| addresses | No | Account or contract addresses/aliases to include in the snapshot | |
| configDir | No | Location of config directory | |
| archiveUrl | No | Archive URL | |
| rpcHeaders | No | RPC Header(s) to include in requests to the RPC provider | |
| wasmHashes | No | WASM hashes to include in the snapshot | |
| networkPassphrase | No | Network passphrase |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, and it does little beyond stating the operation. It doesn't say whether it writes/overwrites a local file, whether it requires a reachable history archive or network config, what permissions are needed, or what side effects occur ā all critical for a tool that creates an output artifact.
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?
A single front-loaded sentence with no filler, which is efficient. It is arguably under-specified rather than padded, so it earns good marks for structure while leaving the completeness gap to other dimensions.
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 mutation tool with 11 parameters, a nested object, one required field, no annotations, and no output schema, a single sentence is inadequate. The description omits default behavior, where the snapshot is written, and how network/archive selection interacts with the other parameters.
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 all 11 parameters including ledger, archiveUrl, out, and the required output enum are already documented in the schema. The description's mention of 'history archive' loosely maps to archiveUrl but adds no syntax, format, or default details beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb (Create), resource (ledger snapshot), and method (using a history archive), so an agent immediately knows what the tool produces and where it sources data. It does not name or differentiate against any alternative, but no sibling snapshot tool exists in the list, so differentiation is largely moot.
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?
The description gives no guidance on when to use this versus other ledger/snapshot-related operations, no prerequisites, and no conditions. An agent must infer everything about fit from the one-line purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_account_mergeC
Merge account balance into another account and remove source
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| source_account | Yes | Account to be merged and removed | |
| account_destination | Yes | Account that will receive the balance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states that the source account is removed, which is a critical destructive behavior, but it omits irreversible consequences, required signatures, fee implications, and whether the operation can be undone. With no annotations, this is insufficient transparency.
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 a single, front-loaded sentence that conveys the core action without any filler. Every word earns its place.
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?
With no annotations and no output schema, the description should compensate by explaining destructive irreversibility, auth requirements, and submission behavior. It fails to do so, leaving significant gaps for a high-risk account merge operation.
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 documents all parameters clearly. The description adds no parameter-level meaning beyond what is in the schema, which is acceptable at baseline. It does not explain build_only behavior or fee units.
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 states a specific verb and resource: merge an account balance into another and remove the source. It distinguishes the operation from generic payment or send tools. However, it does not explicitly name sibling alternatives or clarify scope beyond the basic action.
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?
No guidance is provided on when to use this tool versus alternatives like stellar_tx_send or stellar_tx_payment. There is no mention of prerequisites such as account existence, sequence number handling, or network selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_change_trustC
Create, update, or delete a trustline for an asset
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| line | Yes | Asset to trust (CODE:ISSUER format) | |
| limit | No | Trust limit (0 to remove trustline, omit for maximum) | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| source_account | Yes | Account that will change the trustline |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals only that this is a mutation of trustline state; it does not say whether the transaction is signed and submitted by default, what permissions/signing keys are needed, or that limit=0 destroys the trustline. Those behaviors are only hinted at in schema parameter text, not the description.
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?
A single front-loaded sentence with no wasted words. It is efficient, though its brevity comes at the cost of substance rather than being a model of compact completeness.
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?
This is a state-mutating transaction tool with no annotations and no output schema, and the description omits the critical operational context an agent needs: that it submits to a network by default, signing requirements, and fee defaults. For a 6-parameter mutation tool, the definition is under-specified.
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 all six parameters (including limit semantics and build_only) are already documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, which is the baseline 3.
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?
States a specific verb set (create, update, delete) and a specific resource (trustline for an asset), which clearly separates it from siblings like stellar_tx_payment or stellar_tx_manage_data. It does not explicitly name or contrast with an alternative tool, so it stops short of a 5.
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?
The description gives no when-to-use context, no prerequisites (e.g. that the source account must exist and be funded), and no mention of alternatives or when-not to use this versus stellar_tx_set_options. Usage is only weakly implied by the verb list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_create_accountC
Create and fund a new Stellar account
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| network | Yes | Stellar network | |
| build_only | No | Only build transaction, do not submit | |
| destination | Yes | Public key of the new account to create | |
| source_account | Yes | Account that will fund the new account | |
| starting_balance | Yes | Initial XLM balance for the new account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it only implies mutation. It does not state that this submits an irreversible on-chain transaction, that it spends real XLM on mainnet, or that build_only suppresses submission. These are significant omissions for a write tool with zero annotation coverage.
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?
A single front-loaded sentence with no filler, so nothing is wasted. It is arguably too terse, but the brevity itself is efficient rather than padded.
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 6-parameter mutating transaction tool with no annotations and no output schema, the description omits the essential context: submission behavior, funding requirements, network/irreversibility implications, and what the caller gets back. It is not complete enough for safe invocation.
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 documents all six parameters including network enum and build_only semantics. The description adds no parameter-level meaning beyond what the schema provides, which is the expected baseline when the schema does the heavy lifting.
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?
States a specific compound verb ('create and fund') plus the resource ('new Stellar account'), so an agent can tell it apart from stellar_tx_payment or stellar_keys_fund at a glance. It does not, however, explicitly name any sibling or contrast its scope with them.
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?
There is no when-to-use guidance, no prerequisites (e.g. the source account must already exist and hold sufficient XLM), and no routing to alternatives such as stellar_keys_fund for funding an existing account. The agent must infer the context entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_decodeB
Decode transaction XDR to human-readable JSON
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Transaction XDR to decode (base64) | |
| output_format | No | Output format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only transformation ('decode to JSON') but says nothing about error behavior on invalid XDR, input encoding assumptions, or whether the operation is side-effect free. For a decode tool with zero annotation coverage this is a meaningful gap.
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?
A single front-loaded sentence with no filler. The verb and resource lead the statement, and every word earns its place.
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?
No output schema exists, and for a decode tool the resulting JSON structure is nontrivial yet unexplained. Combined with the lack of sibling differentiation against stellar_xdr_decode, the description is only minimally adequate for correct invocation.
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 both parameters are already documented in the schema (tx_xdr as base64, output_format enum). The description's 'human-readable JSON' only loosely gestures at the output_format enum and adds no syntax or format detail beyond the schema baseline.
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?
States a specific verb (Decode), resource (transaction XDR), and output type (human-readable JSON), which is clear. However, it does not differentiate from the closely related sibling stellar_xdr_decode, leaving the agent to guess whether this is the transaction-specific variant or redundant.
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?
No when-to-use context, no prerequisites (e.g., requiring valid base64 XDR), and no mention of alternatives such as stellar_xdr_decode or stellar_xdr_guess. The agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_fetchB
Fetch a transaction from the network by hash
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Stellar network | |
| tx_hash | Yes | Transaction hash to fetch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. 'Fetch' implies a read-only network retrieval, which is useful, but the description stops short of permissions, error behavior, rate limits, or return characteristics.
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?
A single sentence with no wasted words, and the key action and resource are front-loaded. It is appropriately sized for a simple lookup tool.
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 simple two-parameter read tool with full schema coverage, the definition is minimally complete. It omits output shape and usage context, which is a gap because no output schema exists to explain return values.
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 both parameters are already documented. The description only echoes 'by hash' for tx_hash and does not add meaning for the network parameter, making the baseline 3 appropriate.
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?
States a specific verb ('Fetch'), resource ('transaction'), and lookup key ('by hash'). It distinguishes network retrieval from local siblings like stellar_tx_decode or stellar_tx_hash, though it does not name them explicitly.
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?
No when-to-use guidance, no alternatives, and no exclusions are provided. The phrase 'by hash' implies the required input but not the context for choosing this tool over sibling transaction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_hashC
Calculate the hash of a transaction envelope
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Transaction XDR to hash (base64) | |
| network | No | Stellar network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, yet it discloses nothing beyond the basic action. It omits the critical behavioral fact that the resulting hash depends on the network passphrase, and says nothing about determinism, error behavior, or whether signed/unsigned envelopes are accepted.
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?
A single front-loaded sentence with no filler, which is appropriately sized for the stated action. It is efficient, though the brevity borders on under-specification for a cryptographic operation.
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 tool with no annotations and no output schema, the description is too thin: it never explains that network selection affects the hash, nor what the returned hash represents. The agent lacks enough context to call this correctly in a non-mainnet scenario.
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 both tx_xdr (base64) and the network enum are fully documented in the schema, establishing the baseline of 3. The description adds no meaning beyond the schema, notably silent on the fact that the optional network parameter changes the hash output.
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?
States a specific verb (calculate) and resource (hash of a transaction envelope), so the agent knows this is a hashing operation rather than the sibling decode/encode/simulate tools. It does not explicitly contrast itself with stellar_tx_decode or stellar_xdr_encode, so sibling differentiation is only implied by the verb.
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?
There is no guidance on when to use this tool versus alternatives like stellar_tx_decode or stellar_tx_simulate, and no note on prerequisites such as whether the envelope must be signed or fully assembled. The agent must infer the usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_manage_buy_offerC
Create, update, or delete a buy offer on the DEX
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| price | Yes | Price per unit (buying/selling) | |
| buying | Yes | Asset to buy (native or CODE:ISSUER) | |
| network | Yes | Stellar network | |
| selling | Yes | Asset to sell (native or CODE:ISSUER) | |
| offer_id | No | Offer ID to update/delete (0 for new offer) | |
| build_only | No | Only build transaction, do not submit | |
| buy_amount | Yes | Amount to buy | |
| source_account | Yes | Account that will create/manage the offer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it under-delivers. It does not disclose that this mutates on-chain state (delete is destructive/irreversible), that it signs and submits a transaction unless build_only is set, or what permissions/funds are required.
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?
A single front-loaded sentence with no filler and no repetition. It is efficient, though it is arguably too thin for a 9-parameter mutation tool, which keeps it just short of the top score.
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 6-required-parameter state-mutating tool with no annotations and no output schema, the description is inadequate. It omits the build-only vs. submit flow, network selection implications, signing requirements, and the destructive nature of the delete mode.
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% across all 9 parameters, so the schema already explains selling/buying/price/amount/network/offer_id/build_only. The description adds only the create/update/delete framing, which loosely maps to offer_id semantics but adds nothing beyond the schema. Baseline 3 applies.
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?
States specific verbs (create, update, delete) plus a concrete resource (buy offer on the DEX). The 'buy' qualifier implicitly separates it from the sibling stellar_tx_manage_sell_offer, but the description never names that alternative explicitly, so differentiation relies on the reader noticing the name.
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?
The three operations are named, but there is no guidance on when to use this vs. stellar_tx_manage_sell_offer or stellar_tx_path_payment, and no prerequisites (signing, sequence, fee) are mentioned. The only usage hint, that offer_id=0 means a new offer, lives in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_manage_dataC
Set, modify, or delete account data entries
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| network | Yes | Stellar network | |
| data_name | Yes | Name/key of the data entry | |
| build_only | No | Only build transaction, do not submit | |
| data_value | No | Value to set (omit to delete the entry) | |
| source_account | Yes | Account that owns the data entry |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies mutation but says nothing about submitting a signed transaction to a live network, fee consumption, signature requirements, entry size limits, or the fact that pre-existing entries are overwritten. For a destructive network-mutating tool this is a substantial gap.
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?
A single front-loaded sentence with zero padding, and the three supported operations lead the sentence. It is very short but does not omit anything that would be expected at this size beyond what is already covered elsewhere.
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 six-parameter, network-mutating transaction tool with no annotations and no output schema, the description is thin: it omits the build-vs-submit distinction, signing/fee implications, and the semantics of deleting via an omitted value. An agent is left to reconstruct operation behavior from the schema alone.
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 every parameter is already documented in the schema. The description adds no parameter-level detail (it never mentions data_name, data_value, network, or build_only), so the baseline of 3 applies.
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 a specific verb set (set, modify, delete) and a specific resource (account data entries), which is enough to distinguish it from most siblings such as stellar_tx_payment or stellar_tx_change_trust. It does not, however, explicitly differentiate itself from adjacent transaction-operation tools like stellar_tx_set_options, so it falls short of a 5.
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?
There is no when-to-use guidance, no mention of prerequisites (e.g., source_account must exist and be funded), and no reference to alternatives or to the build_only flow. The agent gets a purpose statement but must infer the triggering conditions entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_manage_sell_offerC
Create, update, or delete a sell offer on the DEX
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| price | Yes | Price per unit (buying/selling) | |
| amount | Yes | Amount to sell | |
| buying | Yes | Asset to buy (native or CODE:ISSUER) | |
| network | Yes | Stellar network | |
| selling | Yes | Asset to sell (native or CODE:ISSUER) | |
| offer_id | No | Offer ID to update/delete (0 for new offer) | |
| build_only | No | Only build transaction, do not submit | |
| source_account | Yes | Account that will create/manage the offer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose that this submits a transaction on-chain (mutation), whether build_only means signing is skipped, what permissions/sequence requirements exist, or any rate limits. 'Manage' implies mutation but nothing specifies irreversibility, fees, or submission behavior.
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?
Very concise single sentence, front-loaded with the verb set and target resource. No wasted text, though also no elaboration.
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, mutation-oriented DEX operation with no annotations and no output schema, this is under-described. A calling agent lacks context on submission behavior, create/update/delete selection, and confirmation semantics.
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 baseline is 3. The description adds no parameter meaning beyond the schema, but the schema itself is comprehensive (asset format CODE:ISSUER, stroops, offer_id=0 for new offer, build_only semantics).
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?
States specific verbs (create, update, delete) and resource (sell offer on the DEX). Clearly distinguishes from sibling stellar_tx_manage_buy_offer. However it does not differentiate by what constitutes 'manage' beyond the three operations named.
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?
No when-to-use or when-not-to-use guidance. Does not explain how create vs update vs delete are selected, or how this differs from manage_buy_offer. The offer_id parameter hints at update/delete but the description doesn't tie it together.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_path_paymentC
Send a payment using path finding for cross-asset transfers
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| path | No | Intermediate assets for path (optional) | |
| network | Yes | Stellar network | |
| dest_min | No | Minimum amount to receive (for strict send) | |
| send_max | No | Maximum amount to send (for strict receive) | |
| build_only | No | Only build transaction, do not submit | |
| dest_asset | Yes | Asset to receive (native or CODE:ISSUER) | |
| send_asset | Yes | Asset to send (native or CODE:ISSUER) | |
| dest_amount | No | Amount to receive (for strict receive) | |
| destination | Yes | Account that will receive the payment | |
| send_amount | No | Amount to send (for strict send) | |
| strict_mode | Yes | Whether to use strict send or strict receive | |
| source_account | Yes | Account that will send the payment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the operation sends a payment, but does not describe authorization requirements, whether the transaction is submitted or only built, failure modes, or how path finding affects execution.
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 a single front-loaded sentence with no wasted words. However, its extreme brevity is closer to under-specification than optimal conciseness for a 13-parameter mutation tool.
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 13 parameters, 6 required fields, no annotations, and no output schema, the one-sentence description is incomplete. It does not explain strict send versus strict receive behavior, the role of build_only, or the meaning of path finding in this context.
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 all 13 parameters, including strict_mode, build_only, fee, path, and destination, are already documented in the schema. The description adds no parameter-level meaning beyond that, making the baseline of 3 appropriate.
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 states a specific verb and resource: sending a payment via path finding for cross-asset transfers. It distinguishes the tool's core purpose from generic payment tools, though it does not explicitly name or compare itself against siblings such as stellar_tx_payment or stellar_tx_send.
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?
There is no explicit guidance on when to use this tool versus alternatives like stellar_tx_payment or stellar_tx_send. The phrase 'cross-asset transfers' implies a use case, but the agent receives no when-not conditions or routing logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_paymentC
Create and send a payment transaction
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| memo | No | Optional transaction memo | |
| asset | Yes | Asset to send (native for XLM or CODE:ISSUER for other assets) | |
| amount | Yes | Amount to send (e.g., "10.5" for 10.5 XLM) | |
| network | Yes | Stellar network | |
| memo_type | No | Type of memo | |
| build_only | No | Only build transaction, do not submit | |
| destination | Yes | Account that will receive the payment | |
| source_account | Yes | Account that will send the payment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, yet it discloses almost nothing: it does not mention that submission is the default (implied only by the build_only parameter), whether the transaction is signed or irreversible, what fee defaults apply, or any auth requirements. 'Create and send' hints at a mutation but omits all operational 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?
A single short sentence that is front-loaded and free of filler. It is efficient, though its brevity is partly the cause of the missing behavioral detail rather than a virtue of tight writing.
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?
This is a nine-parameter mutating transaction tool with no annotations and no output schema, so the description should shoulder more of the explanatory load. It omits build_only semantics, submission/signing behavior, fee handling, and asset/memo implications, leaving the agent under-informed for a write operation.
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 every parameter including fee, memo, memo_type, network, and build_only is already documented in the schema. The description adds no syntax, defaults, or format guidance beyond that, so the baseline of 3 is appropriate.
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 states a specific verb and resource ('Create and send a payment transaction'), which is clear enough to act on. However, it offers no differentiation from closely related siblings such as stellar_tx_send, stellar_tx_path_payment, or stellar_tx_create_account, leaving the agent to guess which payment-style tool applies.
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?
There is no guidance on when to use this tool versus stellar_tx_send or stellar_tx_path_payment, and no note on prerequisites like signing or sequence management. Usage is only implied by the name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_sendC
Send a signed transaction to the network
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Signed transaction XDR to send (base64) | |
| network | Yes | Stellar network |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action but omits critical traits: irreversibility of broadcasting, fee implications, permission/network requirements, and expected outcome (e.g., transaction hash return). This is a significant gap for a mutation/broadcast tool.
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?
A single front-loaded sentence with zero waste. It is efficient, though perhaps overly terse given the lack of behavioral context, but the dimension rewards conciseness and structure.
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 mutation/broadcast tool with no annotations and no output schema, the description is incomplete. It does not explain what happens on success or failure, whether the operation is final, or any safety considerations, leaving the agent with only the bare action statement.
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 documents both parameters (tx_xdr as base64 signed XDR, network as enum). The description adds no further parameter meaning beyond what the schema provides, so baseline 3 is appropriate.
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?
States a specific verb (send) and resource (signed transaction), distinguishing it from siblings like stellar_tx_sign, stellar_tx_simulate, and stellar_tx_fetch. However, it does not explicitly name alternatives or clarify how it differs from raw broadcast operations, so it falls short of full sibling differentiation.
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?
Provides no guidance on when to use this tool versus alternatives like stellar_tx_simulate or stellar_tx_sign, nor any prerequisites (e.g., must sign first). Usage is only implied by the verb 'send'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_set_optionsC
Set account options like flags, signers, and home domain
| Name | Required | Description | Default |
|---|---|---|---|
| fee | No | Transaction fee in stroops | |
| network | Yes | Stellar network | |
| set_flags | No | Flags to set | |
| build_only | No | Only build transaction, do not submit | |
| signer_key | No | Public key of signer to add/update | |
| clear_flags | No | Flags to clear | |
| home_domain | No | Home domain for the account | |
| low_threshold | No | Low threshold | |
| master_weight | No | Master key weight | |
| med_threshold | No | Medium threshold | |
| signer_weight | No | Weight for the signer (0 to remove) | |
| high_threshold | No | High threshold | |
| inflation_dest | No | Inflation destination account | |
| source_account | Yes | Account to modify options for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and largely fails it. It does not state that this is a mutating on-chain operation, whether it submits or only builds, whether signing is required, whether changes are reversible, or what happens to unspecified options.
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?
A single efficient sentence with the verb and resource front-loaded and no filler. Brevity costs it completeness, but nothing in the sentence is wasted.
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 14-parameter, unannotated mutation tool with no output schema, one sentence is inadequate. An agent still lacks signing/submission semantics, network/fee implications, and guidance on the build_only flow, which are exactly the gaps structured fields do not cover here.
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% across all 14 parameters, so the schema already documents fee, thresholds, flags, signer weights, etc. The description only names three option categories and adds no syntax, format, or constraint detail beyond the schema, so the baseline 3 is appropriate.
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?
States a specific verb (Set) and resource (account options) and enumerates the main capability areas (flags, signers, home domain), which distinguishes it from sibling tx tools like stellar_tx_payment or stellar_tx_change_trust. It is clear but does not explicitly contrast itself against those siblings.
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?
There is no when-to-use guidance, no prerequisites (e.g. that the source account must sign), and no mention of when to prefer this over related tools or when to use build_only vs submitting. The agent must infer everything from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_signC
Sign a transaction envelope
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Transaction XDR to sign (base64) | |
| hd_path | No | HD path if using seed phrase | |
| network | No | Stellar network | |
| sign_with_key | No | Key to sign with (identity, secret key, or seed phrase) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose that this is a signing/mutating cryptographic operation, which key sources are acceptable, whether it requires prior key setup, whether the result is returned or broadcast, or whether the operation is irreversible. Only the bare verb 'Sign' conveys behavior.
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?
A single four-word sentence with the verb and object front-loaded; nothing is wasted. It is arguably under-specified rather than verbose, but structurally it is clean and to the point.
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 4-parameter cryptographic tool with no annotations and no output schema, the description omits essential context: what the tool returns (signed XDR vs. broadcast result), whether a key/identity must already be configured, and how it relates to stellar_tx_send. The one-line description is not complete enough for an agent to invoke confidently in a workflow.
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%, with each of the four parameters documented in the schema (tx_xdr, hd_path, network enum, sign_with_key). The description adds nothing about parameter semantics, so the baseline 3 applies.
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?
States a specific verb (Sign) and resource (transaction envelope), which is unambiguous on its own. However it offers no differentiation from signing-adjacent siblings such as stellar_tx_send, stellar_tx_simulate, or stellar_tx_hash, so an agent cannot tell from this text alone where signing ends and sending begins.
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?
There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g. a key must be configured), and no statement of whether a signed envelope is submitted or merely returned. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_simulateC
Simulate a transaction to predict results and costs
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Transaction XDR to simulate (base64) | |
| network | Yes | Stellar network | |
| source_account | No | Source account for simulation context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It never states that the transaction is not submitted or state changed, what 'costs' encompasses (fees, resource/compute units), or whether simulation can fail on unfunded accounts. For a no-annotation tool this is a meaningful gap.
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?
A single front-loaded sentence with zero filler, so it is efficient. It is arguably too terse for a tool with no annotations and no output schema, but nothing in it is wasted.
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?
With no annotations and no output schema, the description should explain what the simulation returns and any operational caveats. 'Predict results and costs' is too abstract for an agent to know whether it gets fee estimates, error diagnostics, or ledger effects.
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 documents tx_xdr (base64), the network enum, and source_account. The description adds no syntax, format, or constraint detail beyond that, which is the expected baseline when the schema does the heavy lifting.
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 a specific verb (simulate) and resource (transaction) plus the outcome (predict results and costs), so an agent knows this is a dry-run evaluator rather than a submitter. It does not explicitly contrast itself with the closely related siblings stellar_tx_send or stellar_tx_decode, leaving differentiation to inference from the name.
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?
There is no when-to-use guidance, no prerequisites (e.g. a funded source account or valid XDR), and no mention of alternatives such as stellar_tx_send for actually broadcasting. The agent must infer that this is the pre-flight check from the word 'simulate' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_tx_update_sequenceC
Update the sequence number on a transaction
| Name | Required | Description | Default |
|---|---|---|---|
| tx_xdr | Yes | Transaction XDR to update (base64) | |
| network | No | Stellar network | |
| source_account | No | Source account for fetching next sequence | |
| sequence_number | No | New sequence number or "next" for auto-increment |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says only that a sequence number is updated, without disclosing what happens to the transaction (in-place mutation vs returned new XDR), whether the tx must be unsigned, or what 'next' triggers against source_account.
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?
A single short sentence with no filler and the core action front-loaded. It is efficient, though the brevity is closer to under-specification than true conciseness.
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 mutation tool with no annotations and no output schema, the description should explain the mutation result and the 'next'/source_account interaction. It supplies neither, leaving the agent unable to predict the outcome of the call.
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 each of the four parameters (tx_xdr, network, source_account, sequence_number) is already documented in the schema. The description adds no meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
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 states a specific verb ('Update') and resource ('the sequence number on a transaction'), so the agent knows exactly what the tool mutates. It does not distinguish this from adjacent siblings such as stellar_tx_sign or stellar_tx_send, which also operate on transactions.
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?
There is no statement of when to use this tool versus stellar_tx_sign, stellar_tx_send, or stellar_tx_decode, nor any prerequisite or ordering guidance. The agent must infer the whole usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_versionB
Print version information for the Stellar CLI
| Name | Required | Description | Default |
|---|---|---|---|
| onlyVersion | No | Print only the version number | |
| onlyVersionMajor | No | Print only the major version number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It only says 'Print version information' and omits output format, side effects, authentication needs, or any other behavioral context. For a read-only informational command this is minimal and leaves significant gaps.
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?
A single front-loaded sentence with zero filler. Every word earns its place and the purpose is immediately clear.
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?
The tool is simple with two optional booleans and no output schema. The description states the purpose but does not describe output format or behavioral variations, leaving some gaps for the agent to infer from parameter names.
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 both boolean parameters are fully documented in the schema itself. The description adds no parameter details, making the baseline score of 3 appropriate.
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?
States a specific verb ('Print') and resource ('version information for the Stellar CLI'), which is clear and distinguishable from siblings like stellar_config_dir or stellar_doctor. No explicit sibling differentiation, but none is needed for this unique command.
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?
The description provides no when-to-use guidance, no alternatives, and no conditions. It only restates the action, leaving the agent to infer that this is the command for retrieving the CLI version.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_compareC
Compare two XDR values
| Name | Required | Description | Default |
|---|---|---|---|
| left | Yes | Left XDR value to compare | |
| type | Yes | XDR type of both inputs | |
| right | Yes | Right XDR value to compare | |
| channel | No | XDR specification channel | |
| inputFormat | No | Input format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about permissions, whether it's read-only, what equality semantics apply, or what a comparison result looks like. For a tool with zero structured behavioral coverage, this is a significant gap.
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?
A single short sentence that front-loads the action and resource. It's efficient, though almost too terse to carry useful context.
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?
With no annotations and no output schema, the description should explain return/equality semantics or at least confirm read-only behavior. It provides none of that for a 5-parameter comparison tool.
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% with each parameter documented (left, right, type, channel, inputFormat). The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb (Compare) and resource (two XDR values), which is clear enough to distinguish from decode/encode/guess siblings. It doesn't explicitly name those siblings, but the comparison operation is unambiguous.
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?
No when-to-use guidance, no mention of alternatives such as stellar_xdr_decode. It's implicitly a comparison utility, but nothing tells an agent when to reach for it over other XDR tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_decodeB
Decode XDR data to human-readable format
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | XDR type to decode (e.g., TransactionEnvelope, TransactionResult) | |
| input | No | XDR data to decode (base64 encoded) | |
| channel | No | XDR specification channel | |
| inputFormat | No | Input format | |
| outputFormat | No | Output format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the transformation result but omits any details about permissions, error handling, rate limits, or the effect of parameters like inputFormat and outputFormat.
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 a single, front-loaded sentence with zero wasted words. It is appropriately sized for a purpose statement, even if more detail would be beneficial elsewhere.
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?
The schema fully documents all parameters, so the description need not repeat them. However, with no annotations and no output schema, the description is minimal and does not explain how multiple inputs, channels, or output formats affect behavior. It is adequate but leaves clear gaps.
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%, and all five parameters have clear descriptions and enum values where applicable. The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.
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 states a specific verb ('Decode') and resource ('XDR data') and the outcome ('human-readable format'). It is clear what the tool does, but it does not distinguish itself from siblings like stellar_xdr_encode or stellar_xdr_guess.
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?
There is no guidance on when to use this tool versus alternatives such as stellar_xdr_encode, stellar_xdr_guess, or stellar_tx_decode. The description provides only a bare purpose statement with no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_encodeC
Encode JSON data to XDR format
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | XDR type to encode to | |
| input | No | JSON data to encode | |
| channel | No | XDR specification channel | |
| inputFormat | No | Input format | |
| outputFormat | No | Output format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it says nothing beyond the bare transformation. It does not disclose how output differs across the outputFormat enum, how invalid JSON or unknown types are handled, or whether the operation is purely local and side-effect free.
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?
A single grammatical sentence with zero filler, and the verb-first phrasing front-loads the operation. It is efficient, though arguably terse for a five-parameter tool.
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 tool with 5 parameters, no annotations, and no output schema, one sentence is not sufficient. An agent gets no help understanding required input shape, type selection semantics, or the meaning of the different output formats.
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% and there are 5 well-documented parameters with 3 enums, so the schema already carries parameter meaning and a baseline of 3 applies. The description adds no syntax, format, or inter-parameter detail 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?
States a specific verb (Encode) and both the source and target resources (JSON data to XDR format), which implicitly contrasts with the sibling stellar_xdr_decode. It does not, however, differentiate itself from other XDR siblings such as stellar_xdr_generate_default or stellar_xdr_guess.
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?
There is no guidance on when to use this tool versus stellar_xdr_decode or the other XDR utilities, nor any stated prerequisites, context, or exclusions. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_generate_defaultC
Generate default XDR values for a type
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | XDR type to generate | |
| channel | No | XDR specification channel | |
| outputFormat | No | Output format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says nothing about whether this is a read-only pure computation, whether it requires network access, what the generated value looks like, or how outputFormat/channel affect the result. For a tool with zero annotation coverage this is a notable gap.
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?
A single efficient sentence with the action front-loaded and zero filler. It is appropriately sized, though its brevity is partly the under-specification noted elsewhere rather than pure economy.
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?
The tool is simple (one required param, 100% schema coverage, no output schema to explain), so the description is arguably adequate. Still, with no annotations and no return-format hints, an agent lacks behavioral context on what 'default' means per type.
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 documents all three parameters (type, channel, outputFormat) including enum values. The description adds no meaning beyond the schema, so the baseline 3 is appropriate.
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?
States a specific verb ('Generate') and resource ('default XDR values for a type'), which is clear enough to distinguish it from decode/encode/guess siblings at a high level. However, it does not explicitly differentiate itself from the closest siblings (e.g., xdr_encode, xdr_guess), which is why it falls short of a 5.
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?
There is no guidance on when to use this tool versus the other XDR tools (decode, encode, guess) or when generating a default is appropriate. The agent must infer usage context entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_guessC
Guess the XDR type of given data
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | XDR data to analyze | |
| channel | No | XDR specification channel | |
| certainty | No | Certainty threshold | |
| inputFormat | No | Input format |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It says nothing about how the guess is derived (heuristics vs 'certainty' threshold), whether the call is read-only, or what happens when no type matches ā all significant gaps for a 4-parameter tool.
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?
A single short sentence with no wasted words and the core action front-loaded. It is efficient but so terse that it reads as under-specification rather than deliberate conciseness.
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?
With no output schema, the description should indicate what is returned (the guessed type, a confidence score, candidate types). Combined with 4 undocumented behaviors and no annotations, the definition is not complete enough for correct invocation.
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%, and the schema documents all four parameters including the channel and inputFormat enums, so the schema does the heavy lifting. The description adds no meaning about how 'certainty' or 'channel' affect the guess, warranting the baseline 3.
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?
It states a specific verb ('guess') and resource ('XDR type of given data'), so the action is identifiable. However, it gives no differentiation from close siblings like stellar_xdr_decode, stellar_xdr_types_list, or stellar_xdr_compare, leaving the 'guess vs decode' boundary ambiguous.
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?
There is no when-to-use or when-not-to-use guidance, and no named alternatives. An agent cannot tell from the text when heuristic guessing is preferable to a deterministic decode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_types_listC
List all available XDR types
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | Output format | |
| channel | No | XDR specification channel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only listing but says nothing about side effects, pagination, or how the 'channel' selector changes which types are returned.
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?
A single short sentence with no wasted words and the purpose front-loaded. It is lean, though bordering on under-specified rather than genuinely concise.
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?
With no output schema and no annotations, the description should explain what a list call returns and how 'channel' (+curr/+next) affects the result. Neither is addressed, leaving the agent without enough context to interpret output.
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% with two enum-constrained parameters (output, channel), so the schema itself does the heavy lifting. The description adds no meaning beyond the schema, which is the expected baseline.
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?
States a clear verb+resource: list available XDR types. An agent understands the operation immediately. However, it does not distinguish itself from sibling stellar_xdr_types_schema or explain what 'XDR types' means versus the schema lookup.
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?
No when-to-use guidance and no mention of alternatives such as stellar_xdr_types_schema (which presumably returns the schema for a specific type). The agent is left to infer the boundary between listing types and fetching a type's schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stellar_xdr_types_schemaB
Get JSON schema for a specific XDR type
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | XDR type to get schema for | |
| output | No | Output format | |
| channel | No | XDR specification channel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only retrieval, but it does not state side effects, required permissions, network access, or return format beyond the vague phrase 'JSON schema'.
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 a single, front-loaded sentence with zero wasted words. It immediately states the action and object without preamble.
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 simple lookup tool with rich schema coverage, the description is minimally adequate: it names the return type and the required input. However, with no annotations and no output schema, it should do more to explain behavior or when to use it, leaving meaningful gaps.
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 documents all three parameters including the required 'type', the output enum, and the channel enum. The description adds no parameter-level meaning beyond what the schema provides, making the baseline of 3 appropriate.
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 states a specific verb and resource: 'Get JSON schema for a specific XDR type.' This clearly distinguishes it from a list-types tool like stellar_xdr_types_list, but it does not explicitly name or contrast with sibling alternatives.
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?
There is no guidance on when to use this tool versus alternatives such as stellar_xdr_types_list or stellar_xdr_decode. The purpose implies a lookup use case, but no conditions, prerequisites, or exclusions are stated.
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.
73 tool updates
v1.0.1- First observed
stellar_cache_actionlog_list - First observed
stellar_cache_actionlog_read - First observed
stellar_cache_clean - First observed
stellar_cache_path - First observed
stellar_completion - First observed
stellar_config_dir - First observed
stellar_config_migrate - First observed
stellar_container_logs - First observed
stellar_container_start - First observed
stellar_container_stop - First observed
stellar_contract_alias - First observed
stellar_contract_asset_deploy - First observed
stellar_contract_bindings - First observed
stellar_contract_build - First observed
stellar_contract_deploy - First observed
stellar_contract_extend - First observed
stellar_contract_fetch - First observed
stellar_contract_id - First observed
stellar_contract_info - First observed
stellar_contract_init - First observed
stellar_contract_invoke - First observed
stellar_contract_optimize - First observed
stellar_contract_read - First observed
stellar_contract_restore - First observed
stellar_contract_upload - First observed
stellar_doctor - First observed
stellar_env - First observed
stellar_events_watch - First observed
stellar_fee_stats - First observed
stellar_keys_add - First observed
stellar_keys_fund - First observed
stellar_keys_generate - First observed
stellar_keys_list - First observed
stellar_keys_public_key - First observed
stellar_keys_remove - First observed
stellar_keys_secret - First observed
stellar_keys_use - First observed
stellar_ledger_fetch - First observed
stellar_ledger_latest - First observed
stellar_network_add - First observed
stellar_network_health - First observed
stellar_network_info - First observed
stellar_network_list - First observed
stellar_network_remove - First observed
stellar_network_settings - First observed
stellar_network_use - First observed
stellar_plugin_list - First observed
stellar_plugin_search - First observed
stellar_snapshot_create - First observed
stellar_tx_account_merge - First observed
stellar_tx_change_trust - First observed
stellar_tx_create_account - First observed
stellar_tx_decode - First observed
stellar_tx_fetch - First observed
stellar_tx_hash - First observed
stellar_tx_manage_buy_offer - First observed
stellar_tx_manage_data - First observed
stellar_tx_manage_sell_offer - First observed
stellar_tx_path_payment - First observed
stellar_tx_payment - First observed
stellar_tx_send - First observed
stellar_tx_set_options - First observed
stellar_tx_sign - First observed
stellar_tx_simulate - First observed
stellar_tx_update_sequence - First observed
stellar_version - First observed
stellar_xdr_compare - First observed
stellar_xdr_decode - First observed
stellar_xdr_encode - First observed
stellar_xdr_generate_default - First observed
stellar_xdr_guess - First observed
stellar_xdr_types_list - First observed
stellar_xdr_types_schema
TDQS
Scored across 73 tools
Most tools target distinct resource+action pairs (e.g., tx_payment vs tx_path_payment, contract_deploy vs contract_upload). A few boundaries are subtle, such as tx_send vs tx_payment and contract_read vs contract_fetch vs contract_info, but descriptions generally clarify them.
All tools use snake_case with a consistent stellar_ prefix and domain_action hierarchy. Minor noun-vs-verb endings exist, but the pattern is highly predictable with no mixed conventions.
73 tools is far beyond the typical 3-15 range and creates severe cognitive overload for an agent. While the underlying CLI has many commands, exposing all as separate tools is an extreme mismatch for a coherent MCP surface.
The surface covers identities, networks, transactions, contracts, XDR, cache, config, plugins, containers, ledgers, events, fees, and snapshots. This is comprehensive for the Stellar CLI domain with no obvious critical gaps.
Maintenance
Related MCP Connectors
MCP server for searching Airweave collections with natural language queries.
MCP server for Speech-to-Text
MCP server for generating rough-draft project plans from natural-language prompts.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceUniversal MCP server that wraps any CLI tool, enabling AI assistants to run commands via natural language.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server to manage Adila platform via natural language, enabling deploys, logs, metrics, and infrastructure mutations through CLI AI clients.MIT
- FlicenseNot gradedqualityAmaintenanceMCP server for the Steuerboard API, enabling interaction with Steuerboard services through natural language.8 npm1-
- FlicenseNot gradedqualityCmaintenanceMCP server for OpenAlgo, enabling algorithmic trading operations via natural language commands.3-