Skip to main content
Glama

Server Details

AI agent banking - fiat and crypto wallet management. Send payments, buy/sell crypto, fund via banks/PayShap/cards, withdraw globally. Virtual SEPA/ACH accounts for fiat on-ramps.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsC

Average 3.2/5 across 134 of 134 tools scored. Lowest: 1.3/5.

Server CoherenceC
Disambiguation2/5

Many tools have overlapping purposes, such as multiple push message tools (ai__push, ai__push_message, ai__push_message_send, ai__text, ai__text_message) and reference tools that provide no distinct functionality. The presence of nearly identical tools like ai__session and ai__session_2_token further blurs boundaries.

Naming Consistency3/5

The naming convention generally uses ai__<verb>_<noun> in lowercase with underscores, but there are inconsistencies like ai__SEPA, ai__ACH (uppercase), and vague names such as ai__rea, ai__on_ramps, which deviate from the pattern.

Tool Count1/5

With 134 tools, the count is extremely high for an MCP server. Many tools are reference-only (e.g., ai__bridges, ai__crypto) and add clutter. This far exceeds the typical well-scoped range of 3-15 tools.

Completeness3/5

The server covers a broad range of financial operations (wallets, accounts, crypto, funding, withdrawals, KYC, etc.), but lacks a general transaction history tool and has redundant reference tools that do not add functional value. Notable gaps exist in transaction listing and blockchain history.

Available Tools

134 tools
ai__aboutAInspect

Returns general information about netfluid, domains in use, website addresses, policies, support contacts Start Here ! Everything Netfluid This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

No annotations are provided, so the description carries the burden. It correctly describes the tool as returning information without side effects. It mentions the output schema, adding transparency about return structure.

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

Conciseness4/5

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

The description is 4 sentences long, containing key information. It could be slightly more concise, but it front-loads the purpose and includes important details about the output schema.

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

Completeness4/5

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

Given zero parameters and a clear purpose, the description is complete. It mentions the output schema, which is sufficient for an informational tool. No gaps are apparent.

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

Parameters4/5

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

There are no parameters, so the baseline is 4. The description adds value by specifying the types of information returned (netfluid, domains, policies, etc.), which helps the agent understand what to expect.

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

Purpose5/5

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

The description clearly states it returns general information about netfluid, including domains, policies, support, etc. It positions itself as 'Start Here', distinguishing it from sibling tools as an introductory reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description explicitly says 'Start Here ! Everything Netfluid', implying it should be used first for overview information. It does not list exclusions or alternatives, but the context makes its role clear.

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

ai__access_pauseAInspect

Temporarily blocks access to the wallet

Temporarily blocks access to the wallet for all systems. This end point requires an api_key with administrator privileges. @param api_key: The api key with administrator privileges @param wallet_fk: The wallet_fk to pause

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states the tool temporarily blocks access but does not elaborate on side effects, reversibility, or what happens to ongoing operations.

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

Conciseness3/5

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

The description is relatively short but contains redundancy with the same phrase repeated. Parameter documentation is structured but could be more concise.

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

Completeness3/5

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

Given the tool's simplicity (2 params) and presence of an output schema, the description covers purpose and prerequisites. However, it lacks context about post-pause behavior or integration with resume tool.

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

Parameters4/5

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

The input schema has 0% description coverage, but the description adds explicit parameter explanations for both api_key and wallet_fk, clarifying their roles beyond just types.

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

Purpose5/5

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

The description uses a specific verb 'blocks' and resource 'wallet', clearly indicating the action. It distinguishes from siblings like ai__access_resume which performs the opposite action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions the need for an api_key with administrator privileges, which is a prerequisite. However, it does not provide explicit guidance on when to use this tool versus alternatives like ai__access_resume.

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

ai__access_platform_assignCInspect

Assigns this wallet_fk to a channel (discord, telegram, whatsapp) user id.

Assigns this wallet_fk to a channel (discord, telegram, whatsapp) user id. Where possible prompt the customer to do this, as it makes getting a session token much easier in the future @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
user_idYes
platformYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations, so description should disclose behavioral traits. It only states 'assigns' (mutation) but lacks details on side effects, permissions, error states, or return value structure.

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

Conciseness3/5

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

Description is short but repeats the first sentence. Parameter docs are presented as a list but could be more structured. Not overly verbose, but not optimally concise.

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

Completeness2/5

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

Despite having an output schema, the description does not explain return values. Two parameters are undocumented, and the context (5 required params, 0% coverage) demands more detail for completeness.

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

Parameters2/5

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

With 0% schema coverage, description documents 3 of 5 required params (api_key, token, wallet_fk) but omits user_id and platform. This adds partial meaning but is incomplete.

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

Purpose4/5

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

The description clearly states it assigns a wallet_fk to a channel user id (discord, telegram, whatsapp), providing a specific verb and resource. However, the repetition and mismatch with input schema parameters slightly reduce clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

Only advice is to prompt the customer for easier future session tokens. No explicit guidance on when to use vs alternatives like login, nor exclusions.

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

ai__access_platform_loginAInspect

Retrieves a session token based on a wallet_fk and 5-digit (numeric) PIN. This is a shortcut to the session token.

Retrieves a session token based on a wallet_fk and 5-digit (numeric) PIN Only 1 attempt is allowed, get the PIN wrong and you have to send the user back to the website to get a session key This works on any wallet_fk and PIN combination, so if you have a wallet_fk, but no session token, it's a shortcut to the session token. @param wallet_fk: The wallet_fk @param pin: The 5-digit numerical pin associated with this wallet_fk

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Discloses the single-attempt constraint and consequence of wrong PIN. However, with no annotations, it should also mention if the tool is idempotent, has side effects, or requires specific auth. The description adds some transparency but is incomplete.

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

Conciseness2/5

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

The description is repetitive: the first two sentences are almost identical, and the @param section echoes earlier text. It could be condensed to one clear paragraph without losing information.

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

Completeness3/5

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

With an output schema present, the description doesn't need to detail return values. It covers purpose, parameters, and the critical behavioral constraint. However, it lacks mention of error states or success outcomes beyond the single-attempt rule.

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

Parameters4/5

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

With 0% schema coverage, the description adds value by specifying PIN is 5-digit numeric, and wallet_fk is an integer (implied by schema). It clarifies the format and constraint beyond the schema's type declarations.

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

Purpose5/5

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

The description clearly states the tool retrieves a session token using a wallet_fk and a numeric PIN, and distinguishes itself as a shortcut to the session token, implying alternative methods exist. The verb 'retrieves' and resource 'session token' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Provides clear context: only one attempt allowed, misstep requires sending user back to website. Implies use when wallet_fk and PIN are available, but doesn't explicitly contrast with sibling tools like ai__session_2_token.

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

ai__access_platform_wallet_listBInspect

Retrieves a list of wallets associated with the channel (discord, telegram or whatsapp) and user id

Retrieves a list of wallets associated with the channel (discord, telegram or whatsapp) user id, once you have a wallet_fk you can get a session token. This only works if the wallet_fk has been previously assigned to this channel and user id. @param user_id: The chat, channel user-id specific to this chat customer @param platform: The channel platform: discord, telegram, whatsapp

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes
platformYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so description must cover behavior. It discloses the prerequisite condition but lacks details on read-only nature, rate limits, error conditions, or response structure beyond 'a json object'.

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

Conciseness2/5

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

The first sentence is repeated word-for-word, making the description unnecessarily verbose. It could be half the length without losing information.

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

Completeness3/5

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

Given the existence of an output schema and the prerequisite condition being explained, the description is minimally adequate. However, it lacks differentiation from sibling wallet tools and doesn't hint at the return structure, which could be improved.

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

Parameters4/5

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

With 0% schema description coverage, the description provides clear parameter explanations: user_id is the chat-specific ID, platform includes allowed values (discord, telegram, whatsapp). This adds significant value over the schema.

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

Purpose4/5

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

The description clearly states the tool retrieves wallets for a specific channel and user. The mention of wallet_fk and session token adds context. It implicitly distinguishes from sibling tools like wallet_accounts_list, but doesn't explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description gives a prerequisite condition ('only works if wallet_fk assigned'). No explicit guidance on when to use vs. alternatives, but the condition provides some usage direction.

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

ai__access_recoverBInspect

Recovers the Netfluid wallet's private key from a set of 24 keywords

Recovers the Netfluid wallet's private key from a set of 24 keywords. Returns an object with the wallet owner's key, first_name, last_name, mobile and email. It's preferable that the person trying to recover @param api_key: The api key allocated to your application @param words: A set of 24 recovery words, space delimited

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
wordsYes
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description carries full burden. It states it recovers a private key and returns owner details, but does not disclose side effects, authentication requirements, rate limits, or whether the operation is irreversible.

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

Conciseness3/5

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

The description repeats the first sentence and contains a truncated sentence ('It's preferable that the person trying to recover...'). The JSDoc block adds structure but redundancy reduces conciseness.

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

Completeness2/5

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

For a sensitive operation like recovering a private key, the description lacks details on output format (only says 'json object'), error handling, security considerations, or required permissions. The incomplete sentence further reduces completeness.

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

Parameters5/5

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

With schema description coverage at 0%, the description adds significant meaning: it explains that api_key is for the application, and words are exactly 24 space-delimited recovery words. This fully compensates for the schema gaps.

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

Purpose4/5

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

The description clearly states the tool recovers a private key from 24 keywords, specifying the verb and resource. However, it does not distinguish itself from siblings like ai__wallet_mnemonic, which also deals with recovery phrases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description does not mention prerequisites, context, or when not to use it.

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

ai__access_resumeCInspect

Temporarily blocks access to the wallet

Resumes access to a paused wallet. This end point requires an api_key with administrator privileges. @param api_key: The api key with administrator privileges @param wallet_fk: The wallet_fk to resume

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description bears full responsibility. It discloses a behavioral requirement (admin privileges) and the basic effect (resume access), but includes an erroneous first sentence that says 'blocks', creating internal contradiction. No details on reversibility, side effects, or state dependencies are provided.

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

Conciseness3/5

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

The description is short but contains a misleading first sentence that should be removed. The structure is front-loaded, but the contradictory information harms efficiency. Minor cleanup would improve it significantly.

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

Completeness3/5

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

Given the tool's simplicity (2 required parameters, no enums), the description covers the essential workflow and auth requirement. However, it lacks details about the return value (only 'a json object') and does not mention edge cases or error conditions, leaving some gaps.

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

Parameters4/5

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

With schema coverage at 0%, the description fully compensates by explaining both parameters: api_key as 'The api key with administrator privileges' and wallet_fk as 'The wallet_fk to resume'. This adds meaningful context beyond the schema's type-only definitions.

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

Purpose2/5

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

The description begins with 'Temporarily blocks access to the wallet,' which directly contradicts the intended purpose of resuming access. This misleading initial statement reduces clarity, even though the second sentence correctly states the action. The verb and resource are identifiable but the confusion lowers the score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implicitly indicates that this tool is for resuming a paused wallet, and mentions that administrator privileges are required. However, it provides no explicit guidance on when to use vs. alternatives (e.g., ai__access_pause) or any conditions or prerequisites beyond authorization.

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

ai__access_wallet_pin_changeBInspect

Changes the wallet PIN, must be 5 digits, e.g. 12345

Changes the wallet PIN, must be 5 digits, e.g. 12345 @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param new_pin: The new PIN, but be 5 numeric digits

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
new_pinYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description carries full burden. It only states 'Changes the wallet PIN' and the PIN length constraint. It does not disclose behavioral traits such as destructiveness, permission requirements, rate limits, or what happens on failure. For a mutation tool, 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.

Conciseness2/5

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

The description is repetitive: the same sentence appears twice in the description field. The parameter documentation is in a code-like format, not optimally structured. It could be more concise and front-loaded without duplication.

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

Completeness3/5

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

An output schema exists, so return value explanation is not needed. The description covers prerequisites through parameter documentation (token and wallet_fk from login). However, it lacks error conditions, idempotency, or session implications. For a 4-parameter mutation tool, the description is adequate but not complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It includes Javadoc-like comments explaining each parameter: api_key, token, wallet_fk, new_pin, with sources and constraints (e.g., 'provided by /access/login', '5 numeric digits'). This adds meaningful context beyond the schema's type-only definitions.

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

Purpose5/5

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

The description clearly states 'Changes the wallet PIN' and specifies the constraint 'must be 5 digits'. This is a specific verb+resource combination. Among sibling tools, there is no other PIN change tool, so it distinguishes well.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description does not explicitly state when to use this tool versus alternatives. It implies usage by listing required parameters (api_key, token from /access/login, wallet_fk), but no exclusions or alternative tools are mentioned. Given many wallet-related siblings, guidance is lacking.

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

ai__accountBInspect

Returns public information associated with an account_fk: address, commodity, currency and type @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It only states it returns a JSON object with no mention of side effects, authentication needs, rate limits, or error behavior. Minimal disclosure.

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

Conciseness5/5

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

The description is extremely concise (two sentences, ~20 words) with no redundancy. It front-loads the action and lists the returned fields efficiently.

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

Completeness4/5

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

For a simple lookup tool with one parameter and an output schema, the description covers the main functionality. It could be improved by clarifying when account_fk is valid or what 'public information' excludes, but it is largely complete.

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

Parameters3/5

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

The input schema has 0% description coverage, so the description must compensate. It adds context by stating that account_fk is used to retrieve associated public info, but does not explain the parameter's meaning beyond its name.

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

Purpose4/5

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

The description clearly states it returns public information for an account_fk, listing specific fields (address, commodity, currency, type). It distinguishes itself among siblings by specifying 'public information' but does not explicitly differentiate from similar tools like ai__account_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. It simply states what it does without context.

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

ai__account_addressBInspect

Validates and verifies the existence of a Netfluid account address (not blockchain address) @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
account_addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With empty annotations, the description carries the full burden of behavioral disclosure. It describes the tool as performing a validation/verification (likely read-only), but does not elaborate on side effects, idempotency, error conditions, or rate limits. The mention of returning a JSON object adds some value, but more detail would be beneficial.

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

Conciseness4/5

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

The description is very concise, with one sentence and a @return line. It is front-loaded and lacks unnecessary words. However, it could benefit from slightly more structure (e.g., separating purpose from return type) to improve readability.

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

Completeness2/5

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

Given the tool's simplicity, the description is incomplete. It covers the basic purpose and return type but omits usage guidance, parameter details, and behavioral specifics. Even with an existing output schema, more context is needed for an agent to use the tool effectively.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It identifies the parameter as a Netfluid account address and clarifies it is not a blockchain address, but offers no format, examples, or constraints. This is insufficient for an agent to know how to properly fill the parameter.

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

Purpose5/5

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

The description clearly states it validates and verifies the existence of a Netfluid account address, explicitly distinguishing it from a blockchain address. It specifies the verb (validates/verifies) and resource (account address), effectively differentiating it from sibling tools like ai__account_info or ai__crypto_verify.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does not mention when to use it, when not to, or list alternative tools such as ai__account or ai__wallet_verify. The description only states what the tool does, not the context for its use.

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

ai__account_aliasCInspect

Sets a friendly name/alias on an account. Confirm (yes/no) before executing

Sets a friendly name/alias on an account_fk. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk to charge for the mint fee @param alias: The alias or friendly name, try and use unique names for each account in the wallet

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
aliasYes
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description mentions that user confirmation (yes/no) is required before executing, which is a key behavioral trait, but it doesn't explain how confirmation works or other side effects. With no annotations, this partially addresses transparency.

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

Conciseness2/5

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

The description is verbose with redundant opening lines and code-like param documentation. It could be much more concise and structured better.

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

Completeness2/5

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

While an output schema exists, the description lacks context about the confirmation process, error scenarios, or prerequisites beyond the parameters. The confirmation requirement is left unexplained, reducing completeness.

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

Parameters3/5

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

Schema coverage is 0%, so the description must provide parameter details. It does offer explanations via @param comments, but the account_fk description confusingly mentions charging for a mint fee, which seems unrelated and may mislead.

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

Purpose4/5

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

The description clearly states it sets a friendly name/alias on an account. However, it is redundant with two similar sentences and includes an unexplained confirmation requirement which slightly muddles the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives like ai__account_info or ai__account. The description does not mention prerequisites or when not to use it.

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

ai__account_buyBInspect

Purchases a digital asset from the account's FIAT balance. Confirm (yes/no) before executing

Purchases a digital asset from the account's FIAT balance @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to buy @param digital_asset_fk: The digital_asset_fk to buy

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes
digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden. It discloses a confirmation (yes/no) step before execution, which is a key behavioral trait. However, it omits details like insufficient balance handling, authorization requirements, 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.

Conciseness3/5

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

The description repeats the main sentence twice, reducing conciseness. The param docs are clearly separated but could be integrated more efficiently. Overall, functional but not concise.

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

Completeness3/5

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

Given 4 required params, no annotations, and an output schema (though not shown), the description covers param docs and return type, plus the confirmation step. Missing context on error handling, success conditions, and authorization needs.

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

Parameters4/5

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

Schema coverage is 0%, but the @param lines explain each parameter: api_key and token as credentials, account_fk as a database ID (not address) with a constraint (not 0), and digital_asset_fk as the asset to buy. This adds significant meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states the tool purchases a digital asset from FIAT balance, distinguishing it from siblings like ai__account_buy_telco. However, it does not specify the type of digital asset (e.g., crypto vs other), which could cause ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives like ai__account_buy_telco or ai__account_sell. Mentions a confirmation step but does not explain prerequisites or exclusions.

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

ai__account_buy_telcoAInspect

Purchases airtime by converting currency to minutes and seconds. Confirm (yes/no) before executing

Purchases airtime by converting currency to minutes and seconds. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to deduct the amount @param amount: The amount in currency, 2 decimals @param currency_code: The currency code, e.g USD, ZAR, BWP, ZIG

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes
currency_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Discloses conversion to minutes/seconds and a confirmation step, but omits details like idempotency, side effects, or failure states. With no annotations, the description partially compensates but lacks full 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.

Conciseness3/5

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

Description is redundant (repeats first sentence) and uses verbose Javadoc-style param list. Could be more compact without losing meaning.

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

Completeness3/5

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

Covers purpose and parameters adequately, but lacks prerequisites (e.g., account_fk validity, balance), rate limits, or error behavior. Output schema exists but description doesn't leverage it to reduce burden.

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

Parameters5/5

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

All 5 parameters are explicitly described with purpose, constraints (e.g., account_fk is database ID not address, amount with 2 decimals), and examples (currency_code). Schema description coverage is 0%, so description fully compensates.

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

Purpose5/5

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

Clearly states 'Purchases airtime by converting currency to minutes and seconds', which is a specific verb+resource+scope. Differentiated from sibling 'ai__account_buy' by specifying airtime and time conversion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives (e.g., ai__account_buy). The confirmation mention implies a non-immediate process, but no scenarios or exclusions are provided.

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

ai__account_chargeAInspect

Charges the account based on a presented QR-code or NFC card. Confirm (yes/no) before executing

Charges the account based on a presented QR-code or NFC card. The payer must present a valid PIN for the transaction to complete @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The merchant's account_fk, typically the account that will receive the payment @param account_address: The account_address that will be charged @param amount: The amount to charge @param pin: The account PIN of the account_address that will be charged @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
noteNo
tokenYes
amountYes
api_keyYes
account_fkYes
account_addressYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so the description carries full burden. It discloses that a PIN is required and a confirmation step exists, but omits details on idempotency, error scenarios, or what happens on success/failure. The return is vaguely described as 'a json object'.

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

Conciseness3/5

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

The description is somewhat redundant (first sentence repeated) and the JSDoc block is verbose with line breaks. It could be more compact while retaining clarity.

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

Completeness2/5

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

With 7 parameters and no annotations, the description lacks details on error handling, return value structure (output schema exists but is not explained), and behavior for optional note. The requirement for confirmation is mentioned but not how it is triggered. Overall incomplete for a financial transaction tool.

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

Parameters5/5

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

Despite 0% schema coverage, the JSDoc-style comment in the description explains each parameter's purpose, including clarifying that account_fk is a database ID (not address) and that amount is the charge amount. This adds significant meaning beyond the schema's type definitions.

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

Purpose5/5

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

The description clearly states the action ('Charges the account') and specifies the method (QR-code or NFC card). It distinguishes itself from sibling tools like ai__account_pay or ai__account_send by mentioning PIN requirement and confirmation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions prerequisites (PIN, confirmation) but does not explicitly guide when to use this tool versus alternatives like ai__account_pay or ai__account_send. Usage is implied but lacks comparative guidance.

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

ai__account_infoBInspect

Returns detailed account information.

Returns detailed account information and balances. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With empty annotations, the description carries the full burden. It only states it returns data and repeats 'Returns detailed account information.' It does not disclose read-only nature, authentication requirements (though parameters imply it), error handling, or any side effects. Minimal behavioral insight.

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

Conciseness3/5

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

The description front-loads the purpose but is slightly repetitive ('Returns detailed account information' appears twice). The param documentation is included inline, which adds length but is necessary given zero schema descriptions. Could be more concise without losing clarity.

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

Completeness3/5

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

The tool has 3 required parameters and an output schema (not shown), yet the description only vaguely mentions 'a json object'. It fails to describe what fields are in the output or how the account info is structured. Given the complexity and sibling tools, more contextual detail is expected.

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

Parameters4/5

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

The description provides detailed, meaningful explanations for all three parameters, clarifying that account_fk is an integer database ID (not zero) and where to obtain token and account_fk. This adds value beyond the schema, which had no descriptions (0% coverage).

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

Purpose4/5

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

The description clearly states 'Returns detailed account information and balances,' providing a specific verb and resource. However, it does not differentiate itself from sibling tools like 'ai__account' or 'ai__accounts', which likely also return account information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives. It does not mention prerequisites, exclusions, or complementary tools, leaving the agent to infer usage 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.

ai__account_merchant_voucher_issueBInspect

Issues a Netfluid voucher. Performs a FIAT withdraw. Only applicable on FIAT balances

@param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk into which to redeem the voucher @param amount: The amount to issue for

@return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so description must disclose behavior. Only states it issues a voucher as a withdraw. Missing details on mutability, reversibility, balance deduction, or required permissions. Minimal disclosure for a financial 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.

Conciseness4/5

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

Concise description with two lines plus param docs. Efficient but could be better structured with proper sections. No wasted words.

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

Completeness2/5

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

Given the context of financial operations and sibling tools, the description lacks completeness. No mention of return format, error scenarios, or relation to other voucher tools. Output schema exists but not used to reduce burden. Missing critical context for safe usage.

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

Parameters3/5

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

Schema coverage is 0%, and description adds inline parameter docs, explaining api_key, token, account_fk (with constraint 'not 0'), and amount. However, amount lacks unit, and account_fk explanation is helpful but brief. Adds value but incomplete.

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

Purpose4/5

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

Clearly states it issues a Netfluid voucher and performs a FIAT withdraw. The verb 'issues' and resource 'Netfluid voucher' are specific. Sibling tools 'quote' and 'redeem' differentiate the action. However, it could be more explicit that this is the execution step after quoting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Implies usage for FIAT balances only, but does not provide explicit guidance on when to use this tool vs 'quote' or 'redeem'. No prerequisites or post-conditions mentioned.

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

ai__account_merchant_voucher_quoteAInspect

Performs a quote to before issuing a Netfluid voucher as a merchant.

STEP 1: Performs a quote to issue a voucher as a merchant. Returns the merchant commission as well as the amount charged to the customer. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to issue the voucher @param amount: The amount to issue the voucher for in up to 2 decimals.

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Discloses it's a quote step (non-issuing) and returns commission and charged amount, but doesn't clarify side effects, permissions, or idempotency; annotations are empty so description carries burden.

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

Conciseness3/5

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

Structured with step, param list, and return, but first sentence is awkward ('Performs a quote to before issuing') and some redundancy; not optimally concise.

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

Completeness4/5

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

Given the presence of an output schema, the description adequately covers the tool's purpose, input parameters, and return type; minor gap on error conditions.

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

Parameters5/5

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

Schema coverage is 0%, but description provides detailed, useful meaning for all 4 parameters, including type clarifications (e.g., account_fk is an int, not string) and constraints (amount max 2 decimals).

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

Purpose4/5

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

The description clearly states it performs a quote before issuing a Netfluid voucher as a merchant, and distinguishes from sibling tools like issue and redeem by specifying it's the quote step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., issue or redeem); lacks context for prerequisites or decision criteria.

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

ai__account_merchant_voucher_redeemBInspect

Redeems a Netfluid voucher.

@param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk into which to redeem the voucher @param voucher_code: The netfluid voucher code, a string consisting of 4 sets of numbers example 1234-0000-4321-5678

@return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes
voucher_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so description carries full burden. Only states 'Redeems' with no details on side effects, authentication, rate limits, or outcome of redemption. Score 2.

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

Conciseness3/5

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

Description mixes natural language with Javadoc param listing, which is somewhat verbose. Could be more concise by separating param details. Score 3.

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

Completeness3/5

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

Has output schema but not shown. With 4 params and no behavioral notes, description covers params adequately but lacks outcome details. Score 3.

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

Parameters4/5

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

Schema coverage is 0%, but description adds meaning: account_fk typed as DB ID int not address, voucher_code format example. Adds value beyond schema. Score 4.

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

Purpose5/5

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

Description clearly states 'Redeems a Netfluid voucher.' Verb+resource is specific. Among sibling tools (issue, quote, check), 'redeem' is distinct. Score 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool vs related tools like issue, quote, or netfluid_voucher_check. No prerequisites or context for use. Score 2.

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

ai__account_mintBInspect

Mints a new account of an account type into the wallet. Confirm (yes/no) before executing

Mints a new account of an account type into the wallet. There are costs associated with this operation. Minting is generally done asynchronously, it may take several seconds for the minted account to be available @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk into which the new account will be minted. @param account_type_fk: The account_type_fk to mint as per /account/types, default is Solana (7) @param currency_fk: The currency_fk to mint as per /currency/list, default is ZAR (7)

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
currency_fkNo
account_type_fkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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 mentions confirmation requirement, cost, and asynchronous nature. It does not disclose error handling, idempotency, or permissions, but the given details are useful for basic understanding.

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

Conciseness3/5

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

The description is somewhat repetitive ('Mints a new account...' appears twice) and includes @param lines that could be integrated more concisely. It is structured with line breaks but could be tightened without losing clarity.

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

Completeness2/5

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

The tool has an output schema but the description only states '@return: a json object' without specifying its structure. The confirmation mechanism is mentioned but not explained (e.g., how to provide yes/no), leaving significant ambiguity for an AI agent.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates by explaining each parameter's source or purpose (e.g., api_key from app, token from /access/login, defaults for account_type_fk and currency_fk). It adds meaning beyond the raw schema, though some parameters (wallet_fk) have minimal elaboration.

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

Purpose4/5

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

The description clearly states it 'Mints a new account of an account type into the wallet.' The verb 'mint' and resource 'account' are specific. However, it does not explicitly differentiate from sibling tools like ai__account, which may perform a similar or different action, so a perfect score is not warranted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description provides contextual notes: 'Confirm (yes/no) before executing,' 'costs associated,' and 'asynchronous.' However, it does not specify when to use this tool versus alternatives, nor does it list exclusions or prerequisites beyond authentication parameters.

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

ai__account_pairAInspect

Assigns a PIN to an account for use by a QR-Code or NFC card. Confirm (yes/no) before executing

Assigns a PIN to an account for use by a QR-Code or NFC card @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param address: The account address @param pin: The 5 digit numeric PIN e.g 01234 @param expire_date: The optional expiry date on the PIN, format YYYY-MM-DD HH:MM:SS, in GMT timezone

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
tokenYes
addressYes
api_keyYes
expire_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so the description carries full burden. It discloses the need for confirmation, but lacks information on authorization requirements, potential destructive effects, rate limits, or error handling. The behavioral context is partially provided but incomplete.

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

Conciseness3/5

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

The description repeats the main sentence twice and includes a param list. While front-loaded with the purpose, it could be more concise by removing the duplicate. The structure is acceptable but not optimal.

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

Completeness3/5

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

Given the output schema exists, return values need not be explained. However, the description does not cover potential errors, constraints (e.g., PIN uniqueness), or the process beyond confirmation. It is adequate for basic understanding but lacks depth for complex scenarios.

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

Parameters5/5

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

The description provides detailed semantic meaning for all 5 parameters: api_key, token, address, pin (including format example '01234'), and expire_date (with format and timezone). This adds significant value beyond the empty input schema, which only specifies types.

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

Purpose4/5

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

The description clearly states the tool assigns a PIN to an account for use with QR codes or NFC cards, using a specific verb and resource. However, it does not differentiate from sibling tools like ai__access_wallet_pin_change, which might have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions a confirmation step ('Confirm (yes/no) before executing') but provides no guidance on when to use this tool versus alternatives. The usage context is implied but not explicit, and no exclusions or alternatives are given.

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

ai__account_pauseAInspect

Temporarily restricts an account from performing any function that would result in funds existing the account. Can only be undone by an administrator, warn before using! Confirm (yes/no) before executing

Temporarily restricts an account from performing any function that would result in funds existing the account. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list @param lock: If set to 1 the account will be system locked, the customer cannot remove lock

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
lockNo
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With empty annotations, the description provides some behavioral context: the restriction is temporary, requires admin to undo, and warns. However, it lacks details on side effects (e.g., impact on ongoing transactions, session termination) and error responses.

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

Conciseness3/5

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

The description is repetitive (first line duplicated) and mixes parameter docs with the main text. While informative, it could be more concise by eliminating the duplication and structuring the parameter section separately.

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

Completeness3/5

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

Given the sensitivity and 4 parameters, the description covers basic usage and warnings but lacks output schema details (just '@return: a json object'). With an output schema existing, this is acceptable but not comprehensive.

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

Parameters4/5

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

Schema coverage is 0%, but the description explains parameters beyond the schema: for account_fk, it clarifies it's a database ID and provides a source; for lock, it describes the effect. This compensates well, though api_key and token lack additional meaning.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Temporarily restricts an account from performing any function that would result in funds exiting the account.' It uses a specific verb-resource pair and distinguishes from siblings like ai__account_resume (undo) and ai__access_pause (different scope).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description warns about undoability ('Can only be undone by an administrator') and recommends confirmation ('Confirm (yes/no) before executing'). It implies use for sensitive account restrictions but does not explicitly state when not to use or list alternative tools.

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

ai__account_payCInspect

Charges the account a transaction fee. Confirm (yes/no) before executing

Charges the account a transaction fee. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk to charge @param amount: The amount to charge @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It mentions confirmation but fails to disclose destructive nature, error handling, or return format. Minimal 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.

Conciseness3/5

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

Description includes parameter docstrings making it longer than necessary. Structured but not concise; some redundancy with schema.

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

Completeness2/5

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

For a payment tool with 5 parameters and no annotations, the description lacks details on confirmation mechanics, output, and error handling. Incomplete guidance.

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

Parameters3/5

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

Schema coverage is 0%, and the description adds parameter docstrings. It clarifies account_fk as a database ID not address, and notes amount and note. Adds some value but could be more precise.

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

Purpose4/5

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

The description states it charges a transaction fee to an account, with a clear verb and resource. However, it does not differentiate from similar sibling tools like ai__account_charge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

Indicates a confirmation step ('Confirm (yes/no) before executing') but provides no guidance on when to use this tool versus alternatives, or prerequisites.

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

ai__account_resumeAInspect

Resumes full trading capability for an account that has been previously paused. Can only be undone by an administrator. Confirm (yes/no) before executing

Resumes full trading capability for an account that has been previously paused. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the need for admin undo and confirmation, but does not describe side effects, auth requirements, or behavior if account is already active. Provides basic but not comprehensive transparency.

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

Conciseness3/5

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

The first sentence is repeated verbatim, creating unnecessary redundancy. The description is otherwise clear and front-loaded, but could be more concise.

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

Completeness3/5

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

While the tool is simple, the description does not explain the output format beyond 'a json object' or describe error conditions (e.g., if the account is already active). Adequate but lacks some completeness.

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

Parameters5/5

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

With 0% schema coverage, the description adds critical context: clarifies that account_fk is an integer database ID not a string, cannot be 0, and provides sources for token and account_fk. This significantly aids correct parameter usage.

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

Purpose5/5

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

The description clearly states the verb 'Resumes' and the resource 'full trading capability for an account', distinguishing it from siblings like pause tools. It is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description provides context (requires admin undo, requires confirmation) but does not explicitly state when to use this tool versus alternatives like ai__access_resume. No exclusions or comparisons are given.

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

ai__accountsDInspect

Provides tools to create and manage wallet accounts. This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

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

With empty annotations, the description must fully disclose behavior. It only states it 'provides tools' and 'reference information,' without explaining side effects, authentication requirements, rate limits, or what happens when called. The return value is vaguely described as 'a json object' with no specifics.

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

Conciseness2/5

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

The description is only two sentences, but the first sentence is misleading (it implies the tool provides multiple tools, which is odd given the tool's definition). The second sentence adds little clarity. While short, it fails to be effectively concise due to confusion.

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

Completeness1/5

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

Given the tool's apparent complexity (handling accounts, referencing tools), the description is grossly insufficient. It does not explain what the tool returns beyond 'a json object', nor does it cover prerequisites, error handling, or integration with sibling tools. The existence of an output schema does not compensate for the lack of explanation.

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

Parameters1/5

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

The input schema has one parameter (api_key) with 0% schema description coverage. The tool description does not explain what api_key is used for, nor does it add any meaning beyond the schema. The parameter's purpose and format are completely ambiguous.

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

Purpose2/5

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

The description says 'Provides tools to create and manage wallet accounts,' but the tool itself has only one parameter (api_key) and no indication of creating or managing. It mentions 'referenced_tools' schema, suggesting it returns metadata about other tools rather than performing account operations. This vagueness makes the purpose unclear and potentially misleading.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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 many sibling tools like ai__account, ai__account_info, etc. The description does not differentiate its use case or provide context for appropriate invocation.

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

ai__account_sellAInspect

Sells a digital asset and returns the proceeds to the account's FIAT balance. Confirm (yes/no) before executing

Sells a digital asset and returns the proceeds to the account's FIAT balance @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to sell @param digital_asset_fk: The digital_asset_fk to sell @param amount: The amount of the digital_asset_fk to sell

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes
digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden. It indicates a mutation (sell) and a confirmation requirement, but lacks details on reversibility, authentication needs beyond parameters, or rate limits. Moderate transparency.

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

Conciseness3/5

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

The description repeats the same sentence and includes redundant phrasing. It could be more concise while retaining essential information.

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

Completeness2/5

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

Given 5 parameters and no annotations, the description is incomplete. It only says '@return: a json object' without specifying structure or error cases, and lacks behavioral details expected for a selling tool.

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

Parameters4/5

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

Schema description coverage is 0%, but the description provides meaningful parameter docs (e.g., account_fk clarifies it's a database ID, not an address). This adds value beyond the schema, though not exhaustive.

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

Purpose5/5

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

The description clearly states the tool sells a digital asset and returns proceeds to FIAT balance, using a specific verb and resource that distinguishes it from siblings like ai__account_buy or ai__account_send.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description mentions a confirmation step ('Confirm (yes/no) before executing'), which provides clear usage context. However, it does not explicitly compare to alternatives or state when not to use this tool.

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

ai__account_sendBInspect

Sends FIAT from this account to another Netfluid account. Optionally save as a beneficiary. Confirm (yes/no) before executing

Sends FIAT from this account to an account address. Optionally save as a beneficiary. The FIAT sent is converted to the destination account's currency. This function can send FIAT across wallets @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to send @param destination: The destination's account address (type str, not account_fk, the user readable address of the account) @param amount: The amount to send @param note: The note on the transaction @param save: Optionally saves destination as beneficiary for future use. Boolean value of 0=False, 1=True @param name: Sets the beneficiary descriptive name. Only applicable if save is set to 1

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
noteNo
saveNo
tokenYes
amountYes
api_keyYes
account_fkYes
destinationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description must disclose behavioral traits. It mentions that the tool converts FIAT to destination currency, can save beneficiaries, and requires confirmation. However, it omits important details such as whether the operation is destructive, idempotent, or has side effects like balance deduction. No information about error states or rate limits is provided.

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

Conciseness3/5

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

The description has redundancy (two similar opening sentences) and is lengthy. However, the parameter documentation is well-structured with @param blocks, making it easy to parse. The first part could be more concise, but the overall structure is functional.

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

Completeness3/5

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

Given the complexity (8 params, financial transaction, no annotations), the description covers parameters well but lacks details on the output (just 'json object'), error handling, and prerequisites beyond params. The confirmation mechanism is mentioned but not fully specified. Adequate but with gaps.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates fully by documenting every parameter with @param tags. It clarifies the distinction between account_fk (database ID) and destination (user-readable address), explains the boolean semantics of save (0/1), and notes that name only applies if save=1. This adds substantial meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states that the tool sends FIAT to another Netfluid account or account address, with optional beneficiary saving. It specifies the resource (FIAT) and action (send). However, it does not explicitly differentiate from similar siblings like ai__account_pay or ai__account_wire, though the context suggests these have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., ai__account_wire, ai__crypto_spend). It mentions a confirmation step but does not explain when confirmation is required or how to handle it. No exclusion criteria or prerequisites beyond the parameters are stated.

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

ai__account_send_smsAInspect

Sends a Mobile SMS and charges this account. Confirm (yes/no) before executing

Sends a SMS and charges this account. This end point will deliver to limited destinations: South Africa, Botswana, Zimbabwe, UK. Delivery is not guaranteed. Charged per submission. @param api_key: The api key allocated to your application, must have admin privileges @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list @param mobile: The destination mobile number in e164 international format (no +) @param message: The message to send, charged per 160 characters

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
mobileYes
api_keyYes
messageYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries full burden. It discloses that sending charges the account, requires admin privileges, and delivery is not guaranteed. However, it omits details on error handling or idempotency.

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

Conciseness4/5

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

The description is well-structured with a summary, details, and parameter list, but repeats the first sentence twice. It is mostly efficient and front-loaded.

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

Completeness4/5

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

Given the output schema exists and the description covers purpose, parameters, and behavioral traits (charging, limited destinations), it is fairly complete. Minor gaps exist regarding side effects or concurrency.

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

Parameters5/5

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

The description provides extensive meaning beyond the schema, such as requiring admin privileges for api_key, specifying account_fk as a database ID and not zero, mobile format (e164 without +), and message charging per 160 characters. This compensates for the 0% schema coverage.

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

Purpose5/5

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

The description clearly states the tool sends a mobile SMS and charges the account, distinguishing it from other messaging tools like ai__email or ai__text_message. It also specifies the action verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions the need for confirmation and limited destinations, but lacks explicit when-to-use or when-not-to-use guidance compared to sibling tools. No alternatives are suggested.

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

ai__account_statementAInspect

Returns detailed account FIAT statement.

Returns detailed account statement from a start date for a maximum of entries. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list @param max_rows: The maximum number of entries to return, if not provided we return 1000 @param start_date: The date from which to return the statement, format YYYY-MM-DD HH:MM:SS. If not provided then it returns 60 days worth of data, date is in the GMT timezone

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
max_rowsYes
account_fkYes
start_dateYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries full burden. It discloses default values for max_rows (1000) and start_date (60 days) and notes timezone (GMT). However, it does not state whether the tool is read-only or destructive, nor mention rate limits or result ordering.

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

Conciseness4/5

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

The description is structured with clear parameter documentation, but including inline @param tags makes it slightly verbose. It could be more concise by separating the parameter details, but it's well-organized and front-loaded with purpose.

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

Completeness4/5

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

Given 5 parameters, an output schema exists, and the description covers all inputs and basic behavior, it is mostly complete. Minor gaps include lack of information about result ordering, pagination (beyond max_rows), and explicit mention of the output schema.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides thorough documentation for all 5 parameters, including types, defaults, format (start_date), and important notes (account_fk is int, not string). This adds significant meaning beyond the bare schema.

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

Purpose4/5

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

The description clearly states 'Returns detailed account FIAT statement', specifying the verb and resource. It distinguishes from siblings like 'ai__account_info' by focusing on 'statement' for FIAT transactions, but could be more explicit about what the statement contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., ai__account_info, ai__account). The description only explains what it does, not when it should be preferred or avoided. Implicit usage context is missing.

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

ai__account_swapAInspect

Swaps one digital asset for another on an account level. Confirm (yes/no) before executing

Swaps one digital asset for another on an account level, use digital_asset_fk=0 or to_digital_asset_fk=0 to indicate FIAT @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to swap @param digital_asset_fk: The origin digital_asset_fk to swap @param to_digital_asset_fk: The digital_asset_fk to swap @param amount: The amount of the digital_asset_fk to swap @param note: The transaction note

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
api_keyYes
account_fkYes
digital_asset_fkYes
to_digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Lacks annotations, so description must provide behavioral details. It mentions confirmation requirement and special FK=0 for FIAT, but omits side effects, reversal possibility, required permissions, and response structure beyond a generic JSON object.

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

Conciseness3/5

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

Repetitive opening sentence. Structured param docs are helpful but could be more concise. Front-loaded with purpose.

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

Completeness3/5

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

Given complexity and no annotations, description covers basic inputs but misses usage context, return details, and prerequisites for safe invocation.

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

Parameters4/5

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

With 0% schema coverage, description adds meaning: explains account_fk is DB ID not address, digital_asset_fk=0 indicates FIAT, and lists all params. Lacks amount format and note clarity, but covers most.

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

Purpose5/5

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

The description clearly states it swaps digital assets on an account level, distinguishes from sibling tools like ai__crypto_swap by specifying 'account level', and notes special FIAT handling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 (e.g., ai__crypto_swap, ai__crypto_dex_swap). Only mentions a confirmation step but no exclusions or prerequisites.

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

ai__account_typesBInspect

Lists all account types, typically static information

Lists all account types @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description carries the full burden. It mentions 'static information' but does not disclose whether the tool is read-only, any authentication requirements, or other behavioral traits beyond listing.

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

Conciseness3/5

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

The description is short but contains redundant lines ('Lists all account types' appears twice). It is front-loaded with the core purpose, but the repetition is unnecessary.

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

Completeness3/5

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

Given the simple nature of the tool (one param, output schema exists), the description adequately covers the purpose and parameter but lacks details about the return value structure beyond '@return: a json object'.

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

Parameters4/5

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

The description documents the api_key parameter with '@param api_key: The api key allocated to your application', adding meaning beyond the schema which only defines it as a string. Schema description coverage is 0%, so this adds value.

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

Purpose4/5

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

The description clearly states 'Lists all account types' with 'typically static information', which is a specific verb+resource. However, it does not explicitly differentiate from sibling tools like 'ai__account' or 'ai__commodity_types'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent to 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.

ai__account_unlockBInspect

Unlocks a locked account (from status_fk=10 to status_fk=1). Confirm (yes/no) before executing

Unlocks a locked account. @param api_key: The api key allocated to your application, must have admin privileges @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so description carries full burden. It discloses status change and privilege requirement, but omits side effects, idempotency, or behavior if account is already unlocked.

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

Conciseness3/5

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

Contains redundant phrase 'Unlocks a locked account' repeated; could be more concise while maintaining clarity.

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

Completeness3/5

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

With output schema present, return values are covered. Description explains status change and params, but lacks context on error handling or prerequisites beyond param docs.

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

Parameters4/5

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

Schema coverage is 0%, but description provides detailed semantics for all 3 params: api_key requires admin, token source, account_fk is int DB ID not address and cannot be 0.

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

Purpose4/5

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

The description clearly states it unlocks a locked account with specific status change (10 to 1), distinguishing it from siblings like pause/resume. However, the duplicate sentence reduces clarity slightly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Provides confirmation instruction and admin privilege requirement via param docs, but lacks explicit when-to-use or when-not-to-use compared to sibling tools like ai__account_resume.

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

ai__account_wireAInspect

Sends FIAT or Digital Assets from this account to a blockchain address. FIAT is converted by the system. Confirm (yes/no) before executing

Sends FIAT or Digital Assets from this account to a blockchain address. The FIAT account must be associated to the same blockchain as the destination address @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to wire @param destination: The destination blockchain address (str) @param amount: The amount to wire @param digital_asset_fk: The digital_asset_fk to wire, use 0 for FIAT @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
api_keyYes
account_fkYes
destinationYes
digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With empty annotations, the description must cover behavior. It discloses that the tool initiates transfers (likely destructive) and requires confirmation. However, it lacks details on side effects, authentication requirements (though parameters hint at them), rate limits, or what happens post-execution beyond a JSON return.

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

Conciseness3/5

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

The description contains redundancy (the first sentence is repeated) and mixes narrative with parameter documentation in a comment block. While all necessary information is present, it could be more concise and structured.

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

Completeness3/5

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

Given 7 parameters, 0% schema coverage, and empty annotations, the description covers parameter semantics and some constraints (account association, conversion). However, it lacks details on return value interpretation, error handling, and parameter ordering. The existence of an output schema mitigates the need for return format details.

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

Parameters4/5

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

Schema coverage is 0%, so the description must explain parameters. It does so via JSDoc-like comments, clarifying account_fk is a database ID not an address, digital_asset_fk is 0 for FIAT, and note is optional. This adds meaningful context beyond the schema's empty descriptions.

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

Purpose5/5

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

The description clearly states the tool sends FIAT or Digital Assets from an account to a blockchain address, with FIAT conversion by the system. It distinguishes this wire action from sibling tools like ai__account_send or ai__account_pay by specifying the destination is a blockchain address and that there is a confirmation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description provides conditions for use: FIAT account must be associated with the same blockchain as the destination address. It also mentions a confirmation step before execution. While it does not explicitly name alternatives, the context differentiates it from other send-like tools among siblings.

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

ai__ACHBInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so the description must convey behavioral traits. It implies a read-only operation by stating it returns a list, but does not explicitly disclose side effects, auth requirements, or rate limits. The basic behavior is clear but incomplete.

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

Conciseness3/5

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

The description is short but contains a grammatical error ('This tools provides'). It is front-loaded with the main purpose, but the error and awkward phrasing reduce clarity. Each sentence serves a purpose, but the structure could be cleaner.

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

Completeness4/5

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

Given the simple nature (no parameters, output schema exists, annotations empty), the description adequately explains the tool's function and references the output schema. It is sufficiently complete for an agent to understand its role.

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

Parameters4/5

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

The tool has 0 parameters, so the baseline is 4 per instructions. The schema coverage is 100%, and no parameter descriptions are needed. The description adds no param info, which is acceptable.

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

Purpose4/5

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

The description states the tool returns a list of tools related to bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts. This clearly defines the verb and resource, and distinguishes it from sibling tools that perform actions rather than list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 ai__bridges, ai__off_ramps, etc. The description lacks explicit context on usage scenarios or exclusion criteria.

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

ai__ask_geminiCInspect

Performs a Gemini AI prompt.

@param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param prompt: The string prompt

@return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
promptYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description must disclose all behavioral traits. It only states that the tool performs a prompt, omitting whether it is read-only, has side effects, or requires specific auth levels. No mention of error handling, rate limits, or response structure, which is insufficient for a tool with authentication parameters.

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

Conciseness4/5

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

The description is brief and front-loaded with the main purpose. It uses a structured JSDoc format for parameters, which is efficient and easy to parse. No extraneous text, earning a high score for conciseness.

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

Completeness2/5

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

Given four required parameters and no annotations, the description should provide more context about the response (output schema exists but is not described) and interaction flow. The tool is incomplete without explaining how to use the prompts or handle token-based auth, resulting in low completeness.

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

Parameters3/5

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

Parameter descriptions in the JSDoc add some meaning beyond the schema (e.g., 'The api key allocated to your application'), but they are minimal and do not explain formats, sources, or constraints. With 0% schema coverage, the description partially compensates but remains incomplete.

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

Purpose3/5

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

The description states 'Performs a Gemini AI prompt' which identifies the tool as an interface to Gemini AI. However, it does not clarify the scope of prompts (e.g., chat, generation) or distinguish it from sibling tools like ai__about or ai__skill, resulting in vague overall purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives, nor are prerequisites or context provided. The description lacks instructions on how to obtain the required authentication parameters (api_key, token, wallet_fk), leaving the agent without actionable context.

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

ai__automated_agent_signupAInspect

Automated signup for autonomous agents in order for an Agentic AI to perform autonomous agents payments. In order for this wallet to be autonomous, it needs to be created by a human KYCed wallet. Once done this wallet will be fully enabled to perform any transaction a human KYCed wallet is capable of. Including access to virtual bank accounts in Europe and the USA as a funding source. The impact of this is that the agent will have its own wallet, own bank accounts and blockchain wallets without limitations. The wallet is automatically minted with a Solana Blockchain wallet. The agent would need to save the wallet_fk and PIN of the new wallet in long term storage in order to make use of it later The human accepts all legal responsibility for this wallet. Process can take up to 30 seconds.

Automated signup for autonomous agents in order for an Agentic AI to perform autonomous agents payments. In order for this wallet to be autonomous, it needs to be created by a human KYCed wallet. Once done this wallet will be fully enabled to perform any transaction a human KYCed wallet is capable of. Including access to virtual bank accounts in Europe and the USA as a funding source. The impact of this is that the agent will have its own wallet, own bank accounts and blockchain wallets without limitations. The wallet is automatically minted with a Solana Blockchain wallet. The agent would need to save the wallet_fk and PIN of the new wallet in long term storage in order to make use of it later The human accepts all legal responsibility for this wallet. Process can take up to 30 seconds. @param secret: A secret, minimum 8 characters, must be unique system-wide. This is typically the username, but private. Suggestion: Generate 3 natural language words, concatenated, or prompt the human for 3 words. @param pin: The 5 digit PIN associated with the new wallet. Can be any random 5 numbers. @param email: The agents email address, if not available use a blank string. @param mobile: The human's mobile phone number, in e164 format, e.g. 27821234567 (no +). if not available use a blank string. @param currency_fk: The currency of the first account, use 7 (ZAR) for everyone else use 3 (USD) @param sponsor_wallet_fk: The sponsor's wallet_fk, this wallet_fk must be KYCed if not the new wallet will also not be KYCed @param sponsor_wallet_pin: The sponsor's 5-digit PIN

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
emailYes
mobileYes
secretYes
currency_fkNo
sponsor_wallet_fkYes
sponsor_wallet_pinYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, description discloses creation of wallet, Solana minting, requirement for sponsor, and need to save credentials. Missing potential rate limits or error scenarios, but overall transparent.

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

Conciseness2/5

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

Description is verbose, contains duplicate text, and lacks clear structure. Parameter docs are embedded in narrative, making it hard to scan. Could be more concise and organized.

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

Completeness4/5

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

Given the complexity (7 params, no annotations, output schema exists), description covers purpose, prerequisites, parameter details, and return type. Lacks error handling info but overall complete.

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

Parameters5/5

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

Since schema coverage is 0%, description compensates with detailed parameter documentation: secret (min 8 chars, unique), pin (5-digit), email (blank default), mobile (e164 format), currency_fk (default 7/3), sponsor_wallet_fk (KYCed required), sponsor_wallet_pin (5-digit). Adds constraints and suggestions.

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

Purpose4/5

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

Description clearly states it is for automated signup of autonomous agents for payments. It distinguishes from human signup but does not explicitly differentiate from sibling 'ai__automated_signup'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Provides prerequisites (needs human KYCed wallet), outcomes (full wallet capabilities), timing (up to 30 seconds), and legal responsibility. Lacks explicit when-not or alternative tool recommendations.

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

ai__automated_signupAInspect

Automated signup for new customers. AI should use this tool as the preferred method to signup human customers.

Automated signup for new customers. Process can take up to 30 seconds. Once completed direct the human customer to the kyc url for them to complete the identity verification process. Should the human need more tries at identity verification, call wallet_kyc_session_create @param secret: A secret, minimum 8 characters, must be unique system-wide. This is typically the customer username, but private. Suggestion: Generate 3 natural language words, concatenated, or prompt the human for 3 words, something that the human can remember. @param pin: The 5 digit PIN associated with the wallet. Can be any random 5 numbers, but perhaps use something that is meaningful to the human or prompt them for it. @param email: The customers email address. @param mobile: The customers mobile phone number, in e164 format, e.g. 27821234567 (no +) @param currency_fk: The currency of the first account, if the human is South African, use 7 (ZAR) for everyone else use 3 (USD)

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
emailYes
mobileYes
secretYes
currency_fkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the process takes up to 30 seconds, returns a JSON object, and involves creating a customer record. However, it does not explicitly state the mutation nature or potential side effects like repeated calls might create duplicates.

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

Conciseness4/5

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

The description is structured with clear sections for purpose, process, and parameter details. It frontloads the main purpose. While somewhat lengthy, the parameter descriptions are justified and the flow is clearly explained. A minor redundancy exists in the first two sentences.

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

Completeness5/5

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

Given 5 parameters, no enums, and an output schema present, the description is complete. It covers all parameters with usage guidance, the process flow, and what to do after completion. It also references the output format as a JSON object, sufficient given the output schema.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate. It provides detailed explanations for all 5 parameters: secret (unique, min 8 chars, natural language suggestion), pin (5-digit), email, mobile (e164 format), currency_fk (with example values based on location). This adds substantial meaning beyond the schema.

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

Purpose5/5

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

The description clearly states 'Automated signup for new customers' and distinguishes from sibling tools by specifying it's the preferred method for signing up human customers, differentiating from 'ai__automated_agent_signup' and 'ai__signup'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

The description explicitly says to use this as the preferred method for signup, notes the process can take up to 30 seconds, instructs to direct to KYC URL afterwards, and names an alternative tool ('wallet_kyc_session_create') for additional identity verification attempts.

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

ai__beneficiariesAInspect

Provides reference information on the term "beneficiary" or "beneficiaries"

Provides reference information on the term "beneficiary" or "beneficiaries" This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description mentions it provides reference information and references a 'referenced_tools' schema, but lacks detail on behavior such as being read-only or side effects, though no annotations exist.

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

Conciseness3/5

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

The description is short but unnecessarily repeats the same sentence twice, reducing conciseness.

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

Completeness3/5

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

Given no parameters and an existing output schema, the description is adequate but could provide more context about what the reference information contains.

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

Parameters4/5

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

No parameters exist, so the description does not need to add parameter information; baseline score for 0 parameters is 4.

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

Purpose5/5

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

The description clearly states the tool provides reference information on the term 'beneficiary', distinguishing it from sibling tools like ai__beneficiaries_list, ai__beneficiary_add, etc., which perform actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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, but the reference nature is implied by the description and sibling names.

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

ai__beneficiaries_listAInspect

Lists all beneficiaries on this wallet or on this account

Lists all beneficiaries on this wallet or on this account @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login, may not be 0 @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for this account, may be set to 0, in which case all beneficiaries associated with this wallet are returned

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It provides parameter constraints (e.g., account_fk can be 0) and hints at read-only nature, but lacks details on authentication requirements, rate limits, or side effects. Return is only described as 'a json object'.

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

Conciseness3/5

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

The description is somewhat verbose with duplication (first line repeated) and mixed prose with parameter documentation. While informative, it could be more tightly structured and concise.

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

Completeness4/5

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

For a list operation with output schema available, the description covers purpose and parameters adequately. It does not discuss pagination or ordering, but overall is complete enough for an agent to understand the tool's use.

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

Parameters5/5

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

With 0% schema coverage, the description provides comprehensive explanations for all 4 parameters, including source, constraints, and behavior (e.g., account_fk can be 0 for wallet-wide listing). This adds significant value beyond the schema types.

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

Purpose5/5

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

The description clearly states it lists all beneficiaries on a wallet or account, using a specific verb and resource. It distinguishes from siblings like 'beneficiary_add' and 'beneficiary_remove' by indicating it is a list operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, such as 'ai__beneficiaries' or other list tools. The description does not mention prerequisites or exclusions.

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

ai__beneficiary_addBInspect

Creates a beneficiary on this wallet or on this account

Creates a beneficiary on this wallet or on this account @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login, may not be 0 @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for this account, may be set to 0, in which case this beneficiary will be available to this wallet @param name: The descriptive name of this beneficiary, try to keep name short and unique per wallet @param address: The address of the beneficiary, either the Netfluid Account Address or the Blockchain address @param rba_fk: The rba_fk of the recipient bank account, set to 0 if either name or address is provided @param note: The note or recipient reference on the transaction, visible to the receiver.

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
noteYes
tokenYes
rba_fkYes
addressYes
api_keyYes
wallet_fkYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so the description should disclose behavioral traits. It mentions 'creates' (write) but lacks details on side effects, permissions, rate limits, or return structure beyond 'a json object'. Minimal 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.

Conciseness3/5

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

The description front-loads the purpose but then repeats the exact same sentence. The parameter list is structured but verbose. Could be more concise by removing the duplicate line.

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

Completeness2/5

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

Despite having 8 parameters and an output schema, the description only says '@return: a json object' without explaining the return structure, errors, or idempotency. Incomplete for a complex creation tool.

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

Parameters4/5

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

Although schema description coverage is 0%, the description includes @param annotations for all 8 parameters, adding meaning (e.g., 'api_key: The api key allocated to your application'). This compensates well, though some descriptions (e.g., 'name', 'note') could be more detailed.

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

Purpose5/5

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

The description clearly states 'Creates a beneficiary on this wallet or on this account', which is a specific verb and resource. It distinguishes from siblings like ai__beneficiary_remove (remove) and ai__beneficiaries_list (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 other beneficiary tools, nor any prerequisites or context. The description simply states the action without usage context.

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

ai__beneficiary_removeDInspect

Deletes a beneficiary

Creates a beneficiary on this wallet or on this account @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account on which the beneficiary is set (may be 0) @param beneficiary_id: The beneficiary_id provided by /beneficiary/list (uuid)

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes
beneficiary_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

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

No annotations exist, so description must disclose behavior. It only states contradictory actions (delete vs create) and lists parameters but does not explain what happens on invocation (e.g., irreversible, permissions needed, success/failure conditions). Self-contradiction reduces transparency.

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

Conciseness2/5

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

The description is poorly structured: contradictory first lines, then a parameter list. Not front-loaded with key purpose. Redundant and confusing.

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

Completeness1/5

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

Despite having an output schema, the description only says '@return: a json object'. No mention of what the output contains (e.g., confirmation, error codes). For a deletion tool with essential parameters, it lacks completeness. Also fails to clarify destructive nature.

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

Parameters3/5

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

Despite schema coverage at 0%, the description adds some meaning: it clarifies that account_fk is a database ID not an address and that beneficiary_id comes from /beneficiary/list. However, the confusing note about 'may be 0' and the overall contradictory context detracts. Score 3 for partial added value.

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

Purpose1/5

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

The description contradicts itself: first line says 'Deletes a beneficiary' but next line says 'Creates a beneficiary'. This is misleading and fails to clearly state the tool's purpose. The name suggests removal, but the description confuses.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__beneficiary_add or ai__beneficiaries_list. No context about prerequisites or when not to use.

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

ai__bridge_blockchainAInspect

Creates a blockchain to blockchain bridge. Confirm (yes/no) before executing

Creates a blockchain to blockchain bridge. Only supports USDC transfers. Do not send any other tokens as these may be lost. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk that will use the bridge @param blockchain: The blockchain that will receive the transfer. Possible values "ethereum","solana","avalanche_c_chain" @param address: The address on the above blockchain that will receive the transfer @param alias: A descriptive name for this Bridge, can be anything, set by async default if none is provided. @param currency: The currency, possible values are usdc, usdt, eurc

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNo
tokenYes
addressYes
api_keyYes
currencyNo
wallet_fkYes
account_fkYes
blockchainYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so the description carries the full burden. It mentions the creation action and confirmation requirement, and warns about token loss, but does not detail other behavioral traits like reversibility, cost, or idempotency.

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

Conciseness3/5

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

The description has a duplicate line ('Creates a blockchain to blockchain bridge.') and includes a parameter list with pseudo-tags. While front-loaded, it could be more concise by removing redundancy.

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

Completeness4/5

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

Given the tool's complexity (8 parameters, 6 required) and presence of an output schema, the description covers purpose, usage, and parameters well. It could benefit from more context on obtaining authentication tokens, but overall it is adequately complete.

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

Parameters5/5

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

Schema description coverage is 0%, yet the description provides detailed explanations for each parameter (e.g., account_fk is a database ID, blockchain values, alias default). This fully compensates for the lack of schema descriptions.

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

Purpose5/5

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

The description clearly states 'Creates a blockchain to blockchain bridge' with a specific verb and resource. It also specifies that only USDC transfers are supported, distinguishing it from sibling tools like ai__bridge_delete or ai__bridge_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description advises to 'Confirm (yes/no) before executing' and warns 'Only supports USDC transfers. Do not send any other tokens as these may be lost.' This provides context for when to use the tool, though it does not explicitly compare with other bridge-related tools.

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

ai__bridge_deleteBInspect

Deactivates the Bridge. Confirm (yes/no) before executing

Deactivates the Bridge @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param external_account_id: The bridge's unique reference, found on /bridge/list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
external_account_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It states the tool 'deactivates' the bridge but does not clarify if this is reversible, what side effects occur, or any authentication requirements beyond the listed parameters. The word 'deactivates' may differ from 'delete' as per the tool name.

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

Conciseness3/5

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

The description is reasonably concise but contains a repetition of 'Deactivates the Bridge' in the first two lines, which is unnecessary. The parameter list is well-structured with @param tags.

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

Completeness3/5

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

The description covers the core action and parameter sources, and an output schema exists to define return values. However, it lacks operational context such as error handling, reversibility, or impact on related entities, making it minimally complete for a destructive tool.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides clear, source-aware descriptions for all four required parameters (e.g., 'The api key allocated to your application', 'The bridge's unique reference, found on /bridge/list'), adding significant value beyond the input schema.

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

Purpose4/5

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

The description clearly states 'Deactivates the Bridge' which indicates the verb and resource. It is distinct from sibling tools like ai__bridge_list and ai__bridge_rename, but the repetition of the same phrase is redundant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions 'Confirm (yes/no) before executing' which provides a usage guideline for requiring confirmation, but it does not specify when to use this tool versus alternatives or any prerequisites beyond the parameter sources.

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

ai__bridge_listAInspect

Returns bridges based on the transfer_type, a bridge is either an "on-ramp" (also called a "virtual account" and a funding source), an "off-ramp" (USDC transfer to a fiat bank account) or a "blockchain" (USDC transfer between blockchains). Bridges are only available on blockchain accounts

Returns bridges based on the transfer_type, a bridge is either an on-ramp, an off-ramp or a blockchain. Bridge on-ramps are also called "virtual accounts" @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk that will use the bridge (this is a database ID (int) not an account address (str) and may not be 0) @param transfer_type: The type of bridge, possible values are "off-ramp" for USDC and USDt transfers to SEPA/ACH bank accounts, "blockchain" for USDC cross blockchain transfers, "on-ramp" for FIAT deposits into virtual accounts (that instantly arrive as USDC)

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
account_fkYes
transfer_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so description must fully disclose behavior. It mentions bridge availability only on blockchain accounts and defines transfer types, but no side effects, error scenarios, or rate limits. Return is described only as 'a json object'.

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

Conciseness3/5

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

Contains redundant explanations (bridge definitions repeated twice). Parameter descriptions integrated into a single block make it slightly less scannable. Could be more concise.

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

Completeness3/5

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

Parameter details are thorough, but missing context on usage in a workflow, empty results, error handling, or prerequisite checks. Output schema exists so return values not needed, but overall completeness moderate.

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

Parameters5/5

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

Adds extensive meaning beyond bare JSON schema: explains source of api_key/token, identifies wallet_fk and account_fk as database IDs, detailed allowed values for transfer_type. Compensates fully for 0% schema coverage.

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

Purpose5/5

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

Clearly states it returns bridges filtered by transfer_type, and defines what bridges are. Distinguishes from sibling tools like ai__bridges and specific bridge tools by emphasizing the filtering parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Implies usage via transfer_type filter but does not explicitly tell when to use this tool vs alternatives like ai__bridge_on_ramp. No when-not or contextual guidance provided.

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

ai__bridge_off_ramp_ach_wireBInspect

Creates a blockchain to FIAT off-ramp in the USA supporting both ACH/WIRE bank networks. Confirm (yes/no) before executing

Creates a blockchain to FIAT off-ramp in the USA support both ACH/WIRE bank networks. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk that will use the bridge @param account_owner: The owner of the recipient bank account @param account_number: The recipient bank account number @param routing_number: The recipient bank account routing number (us) or sort code (uk). @param address_line: The address of the recipient, street and must include a number @param address_city: The address of the recipient, city @param address_state: The address of the recipient, state @param address_zipcode: The address of the recipient, zip or postal code @param address_iso3_country: The address of the recipient, ISO3 country code @param alias: A descriptive name for this Bridge, can be anything, set by async default if none is provided. @param destination_rail: The destination rail to use, possible values are "ach_same_day" and "wire", async default is "ach_same_day" @param currency: The crypto currency to expect, possible values are "usdc","usdt", async defaults to "usdc" @param account_type: The recipient bank account type, possible values are "checking" or "savings", async defaults to "checking". Only applicable when destination_rail = "wire"

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNo
tokenYes
api_keyYes
currencyNo
wallet_fkYes
account_fkYes
account_typeNo
address_cityYes
address_lineYes
account_ownerYes
address_stateYes
account_numberYes
routing_numberYes
address_zipcodeYes
destination_railNo
address_iso3_countryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It states the tool creates (write) and mentions a confirmation step, but does not explain what happens after creation (e.g., return structure, reversibility, required permissions). Missing details on side effects or error handling.

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

Conciseness2/5

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

Description contains duplicated sentence ('Creates a blockchain... support both ACH/WIRE') and grammar errors. The @param block is lengthy but necessary. Could be restructured with clearer separation of summary and parameter details.

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

Completeness2/5

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

With 16 parameters and no annotations, the description covers param meanings but lacks broader context: no explanation of return JSON, confirmation process, error scenarios, or usage constraints. Incomplete for a complex financial tool.

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

Parameters4/5

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

Schema description coverage is 0%, so the @param documentation adds significant meaning. It explains each parameter's purpose, type, defaults, and possible values (e.g., destination_rail values, account_fk is int not address). Some minor inconsistencies (typo in destination_rail example) but largely effective.

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

Purpose5/5

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

Clearly states it creates a blockchain to FIAT off-ramp in the USA supporting ACH/WIRE, distinguishing it from sibling tools like bridge_off_ramp_sepa (Europe) and bridge_on_ramp. The verb 'creates' and specific networks make purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

Mentions 'Confirm (yes/no) before executing' but does not explain when to use this tool vs alternatives (e.g., when to choose ACH vs Wire, or when to use bridge_off_ramp_sepa). No prerequisites or exclusions provided.

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

ai__bridge_off_ramp_sepaAInspect

Creates a blockchain (USDC) to FIAT off-ramp in Europe for SEPA supporting bank accounts. Confirm (yes/no) before executing

Creates a blockchain to FIAT off-ramp in Europe for SEPA supporting bank accounts. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk that will use the bridge @param account_owner: The owner of the recipient bank account @param iban: The recipient bank account IBAN @param iso3_country: The recipient bank account iso3 country code, examples BEL for Belgium @param iban_bic: The recipient bank account IBAN BIC. @param entity_type: The type of entity, possible values are "individual" or "business" @param address_line: The address of the recipient, street and must include a number @param address_city: The address of the recipient, city @param address_state: The address of the recipient, state @param address_zipcode: The address of the recipient, zip or postal code @param address_iso3_country: The address of the recipient, ISO3 country code @param alias: A descriptive name for this Bridge, can be anything, set by async default if none is provided. @param first_name: If type of entity is and "individual", provide the recipients first name @param last_name: If type of entity is an "individual", provide the recipients last name @param business_name: If type of entity is a "business", provide the business name, if not provided we will use the account_owner @param reference: The payment reference, displayed on the recipients bank statement.

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYes
aliasNo
tokenYes
api_keyYes
iban_bicYes
last_nameNo
referenceNo
wallet_fkYes
account_fkYes
first_nameNo
entity_typeYes
address_cityYes
address_lineYes
iso3_countryYes
account_ownerYes
address_stateYes
business_nameNo
address_zipcodeYes
address_iso3_countryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With empty annotations, the description must disclose behavior. It says 'creates' (a mutation) but lacks details on side effects, required permissions, or what happens if confirmation is skipped. Returns only 'a json object'.

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

Conciseness3/5

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

The description is lengthy due to embedded parameter docs and contains repetition (first two lines essentially same). Could be more concise while still covering parameters.

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

Completeness3/5

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

Given 19 parameters and an output schema (present but not shown in context), the description provides enough to use the tool but lacks details on return values or error handling. Adequate but not comprehensive.

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

Parameters5/5

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

Schema description coverage is 0%, so the description's inline @param annotations add substantial meaning beyond the schema, explaining each parameter's purpose and constraints.

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

Purpose5/5

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

The description clearly states the tool creates a blockchain (USDC) to FIAT off-ramp in Europe for SEPA supporting bank accounts, with a specific verb and resource. It distinguishes from siblings like off_ramp_ach_wire and on_ramp.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The mention of 'Confirm (yes/no) before executing' hints at a safety step but provides no explicit guidance on when to use this tool vs alternatives like SEPA or ACH. No context on prerequisites or exclusions.

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

ai__bridge_on_rampAInspect

Creates a virtual account (SEPA/ACH/WIRE) to blockchain bridge. Confirm (yes/no) before executing

Creates a virtual account (SEPA/ACH/WIRE) to blockchain bridge. Limited to one virtual account per payment rail (SEPA/ACH/WIRE). @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk that will use the bridge @param blockchain: The blockchain that will receive the transfer. Possible values "ethereum","solana","avalanche_c_chain" @param address: The address on the above blockchain that will receive the transfer @param alias: A descriptive name for this Bridge, can be anything, set by async default if none is provided. @param currency: The destination currency, possible values are "usdc", "usdt" @param source_rail: The source rail, possible values are "sepa", "wire" or "ach_push"

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNo
tokenYes
addressYes
api_keyYes
currencyNo
wallet_fkYes
account_fkYes
blockchainYes
source_railNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It notes a confirmation step ('Confirm (yes/no) before executing') and a per-rail limit, but does not disclose side effects, required permissions, rate limits, or whether the operation is reversible. The return value is described only as 'a json object'.

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

Conciseness3/5

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

The description starts with a clear purpose and includes a confirmation note. However, it is slightly repetitive (the first sentence appears twice) and the param list is lengthy. It is structured but could be more concise.

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

Completeness4/5

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

Given that an output schema exists (though not shown), the description adequately covers creation details. It includes caveats like the per-rail limit and parameter specifics. It could be more complete by noting potential error states or idempotency, but is sufficient for tool invocation.

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

Parameters4/5

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

Despite 0% schema coverage, the description provides extensive @param documentation for all 9 parameters, including possible values (e.g., blockchains, currencies, rails) and clarifications (e.g., account_fk is a database ID not address). This fully compensates for the schema's lack of descriptions. Minor deduction for not specifying format of some fields like address.

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

Purpose5/5

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

The description clearly states 'Creates a virtual account (SEPA/ACH/WIRE) to blockchain bridge' with specific verb and resource. It distinguishes from sibling tools like ai__bridge_delete, ai__bridge_list, and off-ramp variants by focusing on creation and on-ramp direction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions 'Limited to one virtual account per payment rail', which provides some usage context. However, it lacks explicit guidance on when to use this tool versus other bridge tools (e.g., ai__bridge_off_ramp_ach_wire) and does not state prerequisites or when not to use it.

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

ai__bridge_renameBInspect

Changes the Bridge's descriptive name. Confirm (yes/no) before executing

Changes the Bridge's descriptive name. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param external_account_id: The bridge's unique reference, found on /bridge/list @param alias: The new descriptive name for this Bridge

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
aliasYes
tokenYes
api_keyYes
wallet_fkYes
external_account_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, so the description must cover behavior. It mentions a confirmation requirement but lacks details on effects, reversibility, or error conditions. The @return statement is vague.

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

Conciseness3/5

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

The description is short but contains a redundant repetition of the first sentence. The @param list is structured. Could be more concise by removing the duplicate line.

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

Completeness3/5

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

Covers purpose and parameter origins but lacks behavioral depth (e.g., what happens on success/failure, if confirmation is simulated). With no annotations and 5 params, it's adequate but not comprehensive.

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

Parameters4/5

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

With 0% schema description coverage, the description explains each parameter well, including sources like '/access/login' and '/bridge/list'. However, it omits constraints on the alias (e.g., length, characters).

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

Purpose5/5

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

The description clearly states 'Changes the Bridge's descriptive name' with a specific verb and resource. It distinguishes itself from sibling tools like ai__bridge_delete (delete) and ai__bridge_list (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use vs. alternatives. The mention of 'Confirm (yes/no) before executing' hints at a required step but doesn't specify when it's appropriate or provide exclusions.

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

ai__bridgesBInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It says the tool returns a list of tools and references a schema, but does not explicitly state that it is a read-only, non-destructive operation. There is no mention of side effects, permissions, or limitations. The agent lacks clear safety context.

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

Conciseness4/5

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

The description is short and front-loaded with the main purpose. However, it contains a typo ('tools' should be 'tool') and a redundant mention of the return value. It is mostly efficient but could be more polished.

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

Completeness3/5

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

Given the presence of an output schema, the description does not need to fully detail the return format, but it should be consistent. The mix of 'list of tools' and 'schema' creates slight ambiguity. For a simple, parameterless tool, the description is adequate but lacks clarity on the exact output structure.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and it correctly omits any. The schema coverage is 100% due to absence of parameters.

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

Purpose4/5

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

The description clearly states that the tool returns a list of tools related to bridges, off-ramps, on-ramps, etc. However, it introduces ambiguity by also mentioning a schema and a return value, which could confuse the agent about the actual output format. It distinguishes from sibling bridge tools by being a meta-listing tool, but this is not explicitly stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__bridge_list (which likely lists bridge entities) or other bridge-related tools. No when/when-not or alternative tools are mentioned, leaving the agent to infer usage.

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

ai__commodityCInspect

Provides tools to retrieve Netfuid commodities This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are present, so the description must disclose behavioral traits. It mentions returning a JSON object but does not describe side effects, access requirements, or data limitations. The description is minimal and insufficient for a tool with no annotations.

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

Conciseness3/5

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

The description is short but contains grammatical errors ('This tools') and is poorly structured. It could be more concise and clearer without the redundant mention of schema.

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

Completeness2/5

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

With no parameters, no annotations, and a vague description, the tool lacks completeness. The description does not explain what commodities are or how to interpret the output, leaving the agent underinformed.

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

Parameters3/5

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

No parameters exist, so schema coverage is 100%. The description adds no parameter information but lacks clarity on what the tool does. Baseline for 0 params is 4, but the vague description reduces its value.

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

Purpose2/5

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

The description states it provides tools to retrieve Netfuid commodities, but it's unclear if this tool directly retrieves or is a container. The phrase 'provides tools' is ambiguous, and it doesn't clearly distinguish from siblings like ai__commodity_types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 siblings. The description does not provide context or alternatives, leaving the agent without decision-making information.

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

ai__commodity_typesCInspect

Returns all authorised commodities

Returns all authorised commodities @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description carries the burden. It only states the basic operation without disclosing any behavioral traits such as whether authentication is required beyond the api_key, or any side effects. Minimum viable.

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

Conciseness2/5

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

The description repeats the same sentence twice, indicating redundancy. It could be condensed to a single sentence, reducing unnecessary verbosity.

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

Completeness2/5

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

Given the tool has only one parameter and an output schema, the description is incomplete. It does not explain the output format, error scenarios, or any additional context needed for correct invocation.

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

Parameters3/5

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

The input schema has 0% description coverage, but the description adds a line explaining the api_key parameter ('The api key allocated to your application'). This provides some semantic meaning beyond the schema, though minimal.

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

Purpose4/5

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

The description clearly states that the tool returns all authorised commodities, which is a specific verb-resource combination. However, it does not distinguish itself from the sibling tool 'ai__commodity', which may have a different scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'ai__commodity' or other commodity-related tools. No 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.

ai__complianceBInspect

Provides a link to Netfluid's compliance procedures and documentation This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description implies a read-only, non-destructive operation by describing it as providing reference information. However, it does not explicitly state that no data is modified, and lacks disclosure about authentication requirements or rate limits.

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

Conciseness5/5

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

The description is extremely concise, containing only two short sentences. It avoids unnecessary words and front-loads the key action ('provides a link to compliance procedures'). No extraneous content.

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

Completeness2/5

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

Given that there is no output schema provided, the description should more fully explain the structure of the returned JSON. Mentioning 'referenced_tools' schema is helpful but insufficient; the agent needs to know what fields to expect (e.g., URL, title, description).

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

Parameters4/5

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

The tool has no parameters, so the schema coverage is 100%. The description adds no further parameter information, which is acceptable since there are none. The baseline for zero parameters is 4.

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

Purpose4/5

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

The description clearly states that the tool provides a link to compliance procedures and documentation, distinguishing it from sibling info tools like ai__about, ai__privacy, and ai__terms. However, it does not specify exactly what the returned JSON contains beyond 'reference information'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No explicit guidance is given on when to use this tool versus alternatives. The description does not mention prerequisites, preferred scenarios, or situations where other tools would be more appropriate.

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

ai__contactBInspect

How to contact Netfluid's customer support This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It only states it provides reference information and returns JSON, lacking details on side effects, authentication, or data scope.

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

Conciseness4/5

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

The description is short and the first sentence is direct. The second sentence is boilerplate and could be removed or improved, but overall it is concise.

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

Completeness3/5

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

Given no parameters and existence of an output schema (not shown), the description is adequate but could better specify what the JSON response contains, e.g., contact methods.

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

Parameters4/5

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

No parameters exist, and schema coverage is 100%. The description does not need to add parameter info. Baseline score of 4 is appropriate.

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

Purpose4/5

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

The description clearly states the tool provides contact info for customer support. However, the second sentence about 'referenced_tools' schema is confusing and detracts from clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies use when wanting to contact support, but does not explicitly state when not to use it or mention alternative tools like ai__support.

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

ai__cryptoAInspect

Returns a list of tools that work with crypto and stable coins (USDC,USDt) This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With empty annotations, the description discloses that it returns a list and a schema, which is sufficient for a read-only catalog tool. No side effects are expected or mentioned.

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

Conciseness4/5

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

Description is two sentences and to the point, though contains a minor typo ('This tools'). Could be slightly more polished but still concise.

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

Completeness3/5

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

Output schema exists, but description could further clarify the meaning of 'referenced_tools' or how the list aids tool selection. Adequate but not fully comprehensive.

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

Parameters4/5

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

Tool has zero parameters, so baseline is 4. No additional param info needed as schema coverage is 100%.

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

Purpose4/5

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

The description clearly states it returns a list of tools for crypto and stable coins, which is a specific verb+resource. It distinguishes itself from sibling action tools (e.g., ai__crypto_balance) by being a meta-tool listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It only describes intrinsic behavior without context, leaving the agent to infer usage.

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

ai__crypto_balanceBInspect

Returns a crypto wallet address balance associated with an account_fk

Returns a crypto wallet address balance associated with an account_fk @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations exist, so description must carry behavioral transparency. It only states it returns a JSON object, with no mention of side effects, rate limits, authentication requirements, or whether it's a read-only operation. This is insufficient for safe tool invocation.

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

Conciseness3/5

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

The description is moderately concise but contains repetition (first line appears twice). Parameter documentation is well-structured but could be more compact. Overall acceptable but with minor inefficiency.

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

Completeness3/5

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

Input parameters are well-covered, but output is only described as 'a json object' without structure. No mention of error handling or sibling tool differentiation. For a simple operation, it's adequate but incomplete.

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

Parameters4/5

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

Despite zero schema description coverage, the description compensates by documenting each parameter in detail, including clarification that account_fk is an int not zero and the source of token and account_fk. This adds significant meaning beyond the schema types.

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

Purpose4/5

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

The description clearly states 'Returns a crypto wallet address balance associated with an account_fk'. It distinguishes from sibling ai__crypto_token_balance by specifying 'crypto wallet address balance' vs token balance, though could explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The parameter descriptions include prerequisite info (token from /access/login, account_fk from /wallet/accounts_list), which gives implicit usage context. However, no explicit when-to-use vs alternatives or exclusions are provided.

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

ai__crypto_blockchainsBInspect

List all the system supported blockchains, a list of blockchain_fk values

List all the supported blockchains, each entry returns a blockchain_fk for later use @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as read-only nature, rate limits, or any side effects. It only states the basic function.

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

Conciseness3/5

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

The description is relatively concise with two sentences and a param/return section, but contains repetition (e.g., stating 'list all supported blockchains' twice). Some tightening could improve.

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

Completeness4/5

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

For a simple list tool with a single parameter and output schema present (though not detailed), the description covers the essential purpose and return value. Missing specifics on output structure but adequate overall.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds meaning to the api_key parameter by explaining it is 'allocated to your application'. This goes beyond the schema's raw identifier.

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

Purpose5/5

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

The description clearly states it lists all system supported blockchains and returns blockchain_fk values for later use. This verb+resource combination is specific and distinguishes it from sibling tools that require blockchain_fk.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description implies usage before other blockchain-related tools via 'for later use' but does not explicitly state when to use or not use this tool, nor mentions alternatives. Lacks explicit guidance.

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

ai__crypto_dex_swapAInspect

Swaps a token for another token using a Distributed Exchange (DEX) on the blockchain. Confirm (yes/no) before executing

Swaps a token (not a digital asset) for another token using a Distributed Exchange (DEX) on the blockchain. The DEX charges fees in performing the swap Unsupported tokens will not be displayed in balances, a blockchain explorer will be required to retrieve these @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk associated with this blockchain wallet @param from_token: The origin token mint or contract address @param to_token: The destination token mint or contract address @param amount: The amount of the token to swap

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
to_tokenYes
account_fkYes
from_tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so description carries full burden. Discloses fees, unsupported tokens requiring explorer, and confirmation step. However, lacks details on reversibility, slippage, or failure consequences.

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

Conciseness3/5

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

The description has redundancy: the first two sentences repeat the same concept. The parameter documentation is helpful but could be more succinct. Overall, it could be tighter.

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

Completeness3/5

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

Covers the main purpose, parameter semantics, and some behavioral notes. However, fails to describe the return value beyond 'a json object' and omits details like expected transaction output. Output schema exists but is not leveraged.

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

Parameters5/5

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

Schema coverage is 0%, but the description provides detailed parameter explanations, including that account_fk is a database ID (not address) and cannot be 0. This adds significant semantic value beyond the schema.

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

Purpose5/5

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

The description clearly states the action: swapping tokens via a DEX on the blockchain. It specifies the resource (DEX) and distinguishes from sibling tools like ai__crypto_swap by mentioning DEX explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__crypto_swap or ai__account_swap. The description includes a procedural note about confirmation but no explicit context for selection.

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

ai__crypto_digitalasset_infoCInspect

List the digital asset's information based on a blockchain_fk and digital_asset_fk

List the digital asset's information based on a blockchain_fk and digital_asset_fk @param api_key: The api key allocated to your application @param blockchain_fk: The blockchain_fk on which this digital_asset_fk resides @param digital_asset_fk: The digital_asset_fk for this digital asset

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
blockchain_fkYes
digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description must carry the behavioral burden. It only states 'List' (implying read-only) and 'returns a json object', but fails to mention idempotency, error behavior, permissions, or rate limits. For a simple read operation with no annotations, more clarity is needed.

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

Conciseness3/5

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

The description contains a duplicate sentence ('List the digital asset's information...' appears twice), wasting space. The @param section is structured but not overly verbose. Overall, it could be more concise and front-loaded.

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

Completeness3/5

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

An output schema exists (not shown) so return value explanation is not required. However, the description lacks error handling, authentication details, and relationship to sibling tools. It covers the basic functionality but is not thorough given the lack of annotations.

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

Parameters3/5

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

The input schema has 0% coverage (no descriptions), but the description includes @param lines for all three parameters. These descriptions are somewhat tautological ('The api key allocated to your application') but add basic semantic meaning. They are adequate but not rich, meeting the minimum compensation requirement for low schema coverage.

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

Purpose4/5

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

The description clearly states the tool lists digital asset information based on blockchain_fk and digital_asset_fk. However, it does not explicitly distinguish it from sibling tools like ai__crypto_info or ai__crypto_digitalassets, which could cause confusion. The verb 'List' and resource are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs. alternatives (e.g., ai__crypto_info, ai__crypto_digitalassets). There are no usage scenarios, prerequisites, or examples given, leaving the agent to infer without context.

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

ai__crypto_digitalassetsCInspect

List all the supported digital assets, a list of digital_asset_fk also applicable to to_digital_asset_fk

List all the supported digital assets, each entry returns a digital_asset_fk for later use @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty so description must inform. It indicates the tool is a read operation ('list') but lacks details on side effects, rate limits, or authentication nuances beyond the api_key parameter.

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

Conciseness2/5

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

Repetitive: phrases 'List all the supported digital assets' twice. Mixes param and return documentation without clear structure. Could be written in one crisp sentence.

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

Completeness2/5

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

Even though output schema exists (though not shown), the description only says 'a json object' without specifying fields. For a list tool, this is insufficient for an agent to understand the return format.

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

Parameters4/5

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

Despite 0% schema coverage, the description explains the sole required parameter 'api_key' as 'the api key allocated to your application', adding meaningful context beyond the schema's type-only info.

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

Purpose4/5

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

Clearly states verb 'list' and resource 'supported digital assets'. Distinguishes from sibling 'ai__crypto_digitalasset_info' which is for individual asset details. Redundancy in description slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 vs alternatives. Does not mention when not to use or prerequisites beyond providing an api_key.

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

ai__crypto_from_keyBInspect

Recovers any blockchain wallet from a private key or mnemonic, display only, no action is taken

Recovers any blockchain wallet from a private key or mnemonic, display only, no action is taken The order of recover is to use the mnemonic first, private key second. One or the other must be provided. No action is taken. The suppo @param api_key: The api key allocated to your application @param blockchain_fk: The blockchain to use for the recovery @param private_key: The private key to recover from, urlencoded @param mnemonic: The key word mnemonic to recover from, keywords separated by a space

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
mnemonicNo
private_keyNo
blockchain_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description provides behavioral info: 'display only, no action is taken' and the order of recovery. However, it is truncated and does not disclose potential failure modes or authentication requirements beyond the required api_key.

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

Conciseness2/5

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

The description is repetitive ('Recovers... display only, no action is taken' appears twice) and ends abruptly with 'The suppo', indicating truncation. The param docs are useful but add length.

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

Completeness3/5

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

While the core function and parameter meanings are covered, the description is truncated and does not specify what blockchain_fk values are accepted or how the returned JSON is structured (though output schema exists). The missing ending reduces completeness.

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

Parameters4/5

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

Schema description coverage is 0%, but the description adds meaning: private_key must be urlencoded, mnemonic space-separated, and that one of them must be provided despite schema making both optional. It also explains the order of precedence.

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

Purpose4/5

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

The description clearly states it recovers a blockchain wallet from a private key or mnemonic for display only, with a specific order (mnemonic first). However, it does not differentiate from sibling tools like ai__crypto or ai__wallet_mnemonic, and the purpose is repeated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies usage for recovery and display via 'no action is taken' but does not explicitly state when to use this tool versus alternatives or mention prerequisites or exclusions.

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

ai__crypto_infoBInspect

Returns a crypto wallet address and balances associated with an account_fk

Returns a crypto wallet address and balances associated with an account_fk @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk for the account as provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With empty annotations, the description carries full burden but only states what it returns. No mention of side effects, authorization beyond token, rate limits, or error conditions.

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

Conciseness3/5

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

The first sentence is repeated verbatim, creating unnecessary duplication. The parameter documentation is clear but could be more concise and better structured.

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

Completeness3/5

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

Given the presence of an output schema and thorough parameter docs, the description is adequate. However, it could benefit from explaining how this tool differs from similar ones like ai__crypto_balance.

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

Parameters5/5

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

Despite 0% schema description coverage, the description provides detailed parameter explanations: 'The api key allocated to your application', 'The wallet_api_token provided by /access/login', and clarifies that account_fk is a database ID not an address, adding significant value beyond the schema.

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

Purpose4/5

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

The description clearly states it returns a crypto wallet address and balances for an account_fk, which is specific and distinguishes it from general crypto tools. However, with many crypto-related sibling tools, it lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__crypto_balance or ai__crypto. The description does not mention prerequisites or context for usage.

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

ai__crypto_optinAInspect

Opts the blockchain wallet into a digital asset (token). Confirm (yes/no) before executing

Opts the blockchain wallet into a digital asset. This is typically required to be performed before the blockchain wallet will accept or hold this digital asset. Blockchains either charge a fee or wit @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk associated with this blockchain wallet @param asset_id: The asset_id or contract address of the digital asset (token) on this blockchain can be found from /crypto/digitalassets

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
asset_idYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that the operation requires confirmation and may incur a fee ('Blockchains either charge a fee or wit...' though truncated). It also clarifies parameter semantics (e.g., 'account_fk (this is a database ID (int) not an account address (str)'). However, it does not specify success/error behavior, whether the action is reversible (aside from optout tool existence), or other transactional details.

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

Conciseness3/5

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

The description includes a truncated sentence ('Blockchains either charge a fee or wit') and a block of @param lines that, while informative, are not well integrated into the prose. The key action is stated upfront, but the format could be more concise and polished.

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

Completeness3/5

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

An output schema exists, so return values don't need explanation. However, the tool performs a blockchain transaction that may have prerequisites, costs, and potential errors. The description mentions confirmation and fees only partially. Given the complexity, additional context about prerequisites, typical response structure, or error handling would improve completeness.

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

Parameters5/5

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

The input schema has 0% description coverage, meaning no descriptions for parameters. The tool's description compensates fully by documenting each parameter in a docstring-like format, explaining the purpose of api_key, token (source from /access/login), account_fk (database ID, not address, cannot be 0), and asset_id (found from /crypto/digitalassets). This adds substantial value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Opts the blockchain wallet into a digital asset (token).' It further explains the need for confirmation and why it's required (to accept/hold the asset). The name and context differentiate it from the sibling tool 'ai__crypto_optout', which performs the inverse operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description provides clear usage context: 'This is typically required to be performed before the blockchain wallet will accept or hold this digital asset.' It also mentions the need for user confirmation. However, it does not explicitly state when not to use the tool or mention alternatives like 'ai__crypto_optout' for reversing the opt-in.

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

ai__crypto_optoutAInspect

Opts the blockchain wallet out of holding a digital asset. Confirm (yes/no) before executing

Opts the blockchain wallet out of holding a digital asset. Ensure that the blockchain wallet has a zero balance of this asset, before performing this action as value may be lost. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk associated with this blockchain wallet @param asset_id: The asset_id or contract address of the digital asset on this blockchain, can be found from /crypto/digitalassets

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
asset_idYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

With no annotations, the description discloses important behavioral traits: it is a destructive action (value may be lost), requires confirmation, and requires zero balance. It could mention irreversibility more explicitly, but overall good.

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

Conciseness3/5

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

The description is somewhat verbose and redundant, repeating the first line. The structure places key action upfront but includes a repetitive second line. Could be more concise by removing duplication.

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

Completeness4/5

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

Given the complexity (4 required params, no schema descriptions, empty annotations), the description covers purpose, preconditions, parameter details, and return type. It is sufficient for correct usage, though output schema details are not elaborated (but known to exist).

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

Parameters5/5

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

Schema coverage is 0%, so the description fully compensates by providing clear, contextual explanations for each parameter: api_key, token, account_fk (not an address, not zero), and asset_id (how to find it).

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

Purpose5/5

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

The description clearly states the tool opts a blockchain wallet out of holding a digital asset, with a specific verb and resource. It distinguishes from sibling ai__crypto_optin by the 'opt out' action, and includes a crucial confirmation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Provides explicit precondition (zero balance needed to avoid value loss) and mentions confirmation requirement. However, does not explicitly compare to alternatives like ai__crypto_optin or specify when to use this tool over others.

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

ai__crypto_spendAInspect

Spends a digital asset to a destination blockchain address. Confirm (yes/no) before executing

Spends a digital asset to a destination blockchain address @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk of the sender or from account @param asset_id: The asset_id or contract address of the digital asset (token) on this blockchain, asset_id can be found from /crypto/digitalassets look for "address" in the response @param destination: The destination blockchain address (not the internal account address) @param amount: The amount of the digital asset to send, this amount is 10 to the power of the assets decimals, the asset's decimals can be found from /crypto/digitalassets look for "decimals" in the response. @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
api_keyYes
asset_idYes
account_fkYes
destinationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool executes a spend and requires confirmation, but does not mention reversibility, fees, delays, or required permissions. It adds some context but is not fully transparent.

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

Conciseness4/5

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

The description starts with a clear purpose followed by a confirmation note, but then repeats the purpose. The parameter list is well-structured with bullet points. Minor repetition reduces conciseness, but overall it is organized.

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

Completeness4/5

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

For a spending tool with 7 parameters and an output schema, the description covers all required parameters and optional note, and provides cross-references for finding asset details. However, it lacks information on error handling, limits, or specifics of the returned JSON, leaving some gaps.

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

Parameters5/5

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

Schema description coverage is 0%, but the description provides extensive Javadoc-style parameter explanations, including how to find values (e.g., asset_id from /crypto/digitalassets), constraints (account_fk cannot be 0), and amount units (10^decimals). This adds significant meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the tool spends a digital asset to a destination blockchain address, using specific verb 'spends' and resource 'digital asset'. It distinguishes from sibling tools like ai__crypto_swap or ai__account_send, which involve different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description mentions 'Confirm (yes/no) before executing' indicating a confirmation step, but does not explicitly state when to use this tool vs alternatives like ai__account_send or ai__crypto_swap. No prerequisites or exclusions are provided.

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

ai__crypto_swapAInspect

Swaps a digital asset for another using a Distributed Exchange (DEX) on the blockchain. Confirm (yes/no) before executing

Swaps a digital asset for another using a Distributed Exchange (DEX). The DEX charges fees in performing the swap This tools forces the use of a swap via a blockchain DEX, rather try /account/swap to swap between digital assets @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk associated with this blockchain wallet @param digital_asset_fk: The origin digital_asset_fk, get value from /crypto/digitalassets @param to_digital_asset_fk: The destination digital_asset_fk, get value from /crypto/digitalassets @param amount: The amount of the digital asset to swap

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes
digital_asset_fkYes
to_digital_asset_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Discloses DEX fees and confirmation requirement, but does not describe return value format or reversible nature. Annotations are empty, so description carries burden; moderately transparent.

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

Conciseness3/5

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

Repetitive first lines; param list in description is okay but could be more streamlined. Not extremely concise but not overly verbose.

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

Completeness3/5

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

Provides core info (swap, fees, confirmation, params) but lacks details on return structure, edge cases, or additional behavioral constraints. Adequate for a tool with output schema.

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

Parameters4/5

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

With 0% schema coverage, description adds meaning for all 6 parameters, including source for foreign keys (digital_asset_fk from /crypto/digitalassets) and type clarifications.

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

Purpose5/5

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

Clearly states it swaps digital assets via DEX, distinguishes from /account/swap. Verb and resource are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Explicitly tells to confirm before executing and points to /account/swap as alternative. Lacks when-not-to-use but provides clear context.

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

ai__crypto_token_balanceBInspect

Retrieves a token (asset_id) balance on the blockchain, given a asset_id or token or contract address

Retrieves a token (asset_id) balance on the blockchain, given a asset_id or token or contract address This tool will retrieve any token balance from the blockchain, even those not support by Netfluid @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk associated with this blockchain wallet @param asset_id: The asset_id or contract address of the digital asset on this blockchain, can be found from /crypto/digitalassets

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
asset_idYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so the description carries full burden. It states it reads a balance and returns JSON, but does not disclose side effects (none expected), rate limits, or error handling. It mentions 'any token' but lacks detail on balance formatting. Adequate but not thorough.

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

Conciseness3/5

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

The description is somewhat repetitive (first two sentences identical) and includes Javadoc-style param listing. At ~150 words, it is acceptable but could be more concise. No title provided.

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

Completeness4/5

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

Given the tool has an output schema (covers return details), the description adequately explains purpose, parameter roles, and scope. It mentions that any token is supported, even unsupported ones. Minor gap: does not clarify if asset_id can be either asset_id string or contract address consistently.

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

Parameters4/5

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

Schema coverage is 0%, so description provides all parameter meaning. It explains account_fk is a database ID (not address) and cannot be 0, clarifies token source, and asset_id source. Adds significant value beyond parameter names.

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

Purpose4/5

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

The description clearly states it retrieves a token balance on the blockchain using asset_id/contract address. It distinguishes from other balance tools (like ai__crypto_balance) by focusing on tokens. However, it could be more explicit about when to use this vs siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__crypto_balance. No prerequisites or context for invocation. The description merely lists parameters but fails to advise on appropriate usage scenarios.

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

ai__crypto_verifyBInspect

Verifies a blockchain address as valid for the blockchain

Verifies a blockchain address as valid for the blockchain. Can be any address on that blockchain, if successful it returns a balance of its crypto and digital assets. @param api_key: The api key allocated to your application @param address: The blockchain address @param blockchain_fk: The blockchain_fk of the supported blockchain.

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes
api_keyYes
blockchain_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

With empty annotations, the description carries full burden. It discloses that upon success, the tool returns a balance of crypto and digital assets, which is a key behavioral trait beyond the name. However, it does not discuss error handling, permissions, or whether the tool is read-only or modifies state.

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

Conciseness3/5

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

The description is mostly concise but contains a redundant repetition of the first sentence. The @param and @return lines are structured clearly. The overall length is appropriate, but the repetition wastes space.

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

Completeness3/5

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

Given that an output schema exists (not shown but indicated), the description need not detail return values. It explains the verification purpose and the additional balance retrieval. However, it lacks details on how blockchain_fk relates to supported chains, error conditions, and the exact response format beyond 'a json object'.

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

Parameters4/5

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

Schema description coverage is 0%, so the description is the sole source for parameter meanings. It provides brief descriptions for all three parameters (api_key, address, blockchain_fk), adding some context. However, it could be more specific, e.g., listing supported blockchain_fk values or explaining the api_key format.

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

Purpose4/5

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

The description clearly states it verifies a blockchain address as valid for the blockchain. The verb 'verifies' and resource 'blockchain address' are specific. However, it also mentions returning a balance, which might conflate with other tools like ai__crypto_balance, and the repetition of the first line slightly detracts from clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__crypto_balance or ai__crypto_info. The description does not compare or exclude other tools, leaving selection up to the agent without context.

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

ai__currencyBInspect

Provides tools to retrieve currencies at Netfluids rates This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty; description only mentions 'reference information' and 'returns a json object' without disclosing behavioral traits like side effects, auth needs, or output structure.

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

Conciseness3/5

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

Two sentences, but second sentence ('reference information...') is unclear and seems like leftover artifact. Could be more concise.

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

Completeness2/5

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

Despite having no parameters and an output schema, the description only says 'a json object', offering no useful context about the data structure or usage.

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

Parameters4/5

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

No parameters exist, so the schema covers 100%. Baseline 4 is appropriate; description doesn't need to add param meaning.

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

Purpose5/5

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

Description clearly states verb 'retrieve' and resource 'currencies at Netfluids rates', distinguishing it from sibling tools like ai__currency_crypto and ai__currency_forex.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 currency-specific alternatives. Mention of 'referenced_tools' schema is vague and unhelpful.

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

ai__currency_cryptoCInspect

Returns a live price in USD for a based commodity

Returns a live price in USD for a based commodity @param api_key: The api key allocated to your application @param code: The crypto code e.g BTC, ETH, ALGO, HBAR

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations present, so description must fully disclose behavior. It states it returns a live price but omits details like authentication requirements (api_key is a param but not explained), rate limits, or data freshness. Minimal disclosure.

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

Conciseness3/5

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

The description is short but contains repetition ('Returns a live price in USD for a based commodity' appears twice). Structure is decent with purpose first then param docs, but the repetition wastes space.

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

Completeness2/5

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

Given that an output schema exists (as per context), description needn't detail return values. However, it fails to clarify the ambiguous 'based commodity' phrase or provide context about scope. With many similar siblings, more context is needed.

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

Parameters3/5

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

Schema description coverage is 0%, so description compensates partially. It documents both parameters: api_key as allocated key, code with examples. However, it lacks details like where to obtain api_key or accepted code formats. Adequate but not thorough.

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

Purpose2/5

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

The description says 'based commodity' but gives crypto examples, creating confusion. It does not clearly distinguish from siblings like ai__crypto or ai__commodity. The verb 'Returns' and resource 'live price' are present but ambiguity reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. No prerequisites, exclusions, or context provided. Only states what it does, not when it's appropriate.

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

ai__currency_forexCInspect

Returns a live forex price for a commodity in USD

Returns a live forex price for a commodity in USD @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations, so description must cover behavioral traits. It only states it returns a live price and a JSON object, but lacks details on authentication, error behavior, rate limits, or whether it is idempotent.

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

Conciseness2/5

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

The description repeats the same sentence twice, wasting space. Includes Javadoc-style tags that are redundant with the description. Could be summarized in one sentence.

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

Completeness2/5

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

Tool has only one parameter, but the description fails to clarify what commodity is being referenced or how the api_key relates to it. Output schema exists but is not utilized. The description leaves significant gaps.

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

Parameters2/5

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

Schema description coverage is 0%. The description adds a generic explanation for api_key ('The api key allocated to your application'), but does not explain its purpose in context or any constraints. With only one parameter, more detail is expected.

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

Purpose3/5

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

The description states it returns a live forex price for a commodity in USD, but does not clarify what 'commodity' refers to (e.g., gold, oil). The verb 'returns' is clear, but the resource is ambiguous and the description is duplicated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 siblings like ai__currency_rates or ai__currency_crypto. The description does not mention context or alternatives.

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

ai__currency_ratesBInspect

Returns a live forex price for a commodity in USD against our rates, XAU and XAG is returned as price in USD per gram. Returns "our_rate", the Netfluid rate, use "our_rate" in all forex conversion

Returns a live forex price for a commodity in USD against our rates @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Annotations are empty, so the description must cover behavioral traits. It implies a read operation but does not disclose rate limits, authentication scope, or potential 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.

Conciseness3/5

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

The description is somewhat repetitive ('Returns a live forex price' appears twice) and includes formal param/return annotations, but it is not overly long.

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

Completeness3/5

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

Given one parameter and an existing output schema, the description covers the essential purpose and parameter. However, it lacks details on error conditions or output structure beyond mentioning 'our_rate'.

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

Parameters4/5

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

The description explains the only parameter 'api_key' as 'The api key allocated to your application', adding value beyond the schema which has 0% description coverage.

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

Purpose4/5

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

The description clearly states it returns a live forex price for a commodity in USD, specifying special handling for XAU and XAG. The verb 'Returns' and resource 'live forex price' are clear, but it does not distinguish from siblings like ai__currency_forex.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

The description advises to use 'our_rate' for all forex conversion, but provides no guidance on when to use this tool versus alternatives, nor any when-not or exclusion criteria.

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

ai__currency_typesBInspect

Returns all system currencies

Returns all system currencies @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It mentions that it returns a JSON object but does not describe side effects, rate limits, authentication (beyond requiring api_key), or other important runtime behaviors.

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

Conciseness3/5

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

The description is short but contains unnecessary repetition ('Returns all system currencies' appears twice). It could be more concise by removing the duplicate line.

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

Completeness3/5

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

The tool has an output schema (not shown), so the description need not detail return values. However, it omits any mention of the output structure or format, and given the low schema coverage, more details could be helpful.

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

Parameters4/5

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

The input schema has no parameter descriptions, but the description adds '@param api_key: The api key allocated to your application', providing meaningful context beyond the schema's type definition. This compensates for the 0% schema coverage.

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

Purpose4/5

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

The description states 'Returns all system currencies', clearly indicating the tool's purpose with a specific verb and resource. However, it does not differentiate itself from sibling tools like 'ai__currency' or 'ai__currency_rates', which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description only states what it does, without any context on prerequisites, when not to use it, or comparison to other currency-related tools.

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

ai__emailCInspect

Sends email to the wallet owner

Sends email to the wallet owner @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param message: The message body in html, encoded into base64 @param subject: The message subject in plain text (not url or base64 encoded)

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
messageYes
subjectYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

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

The description does not disclose any behavioral traits beyond sending an email. No annotations are present, and there is no mention of required permissions, rate limits, or whether it is destructive or idempotent. The return type is vaguely described as 'a json object'.

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

Conciseness3/5

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

The description includes a redundant repetition of the first line and uses a standard parameter documentation format. It is reasonably concise but could be improved by removing duplication and front-loading key behavioral info.

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

Completeness2/5

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

The description lacks context on how to obtain required parameters (api_key, token, wallet_fk), error handling, or expected output structure beyond 'a json object'. Given the presence of an output schema, more details would be expected.

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

Parameters3/5

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

With 0% schema description coverage, the description adds value by documenting each parameter's purpose and format (e.g., message must be base64-encoded HTML, subject is plain text). However, it does not explain the meaning of 'wallet_fk' or 'token' beyond their origin.

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

Purpose4/5

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

The description clearly states the tool sends an email to the wallet owner using a specific verb and resource. However, it does not differentiate from the sibling tool ai__send_email, leaving ambiguity about which to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 ai__send_email. There is no mention of prerequisites or context for using the tool.

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

ai__feesBInspect

Provide the Netfluid fee structure @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

The description mentions it returns a JSON object, which is useful. However, with no annotations, it fails to disclose any side effects, auth requirements, or other behavioral traits, though none are expected for a read-only tool.

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

Conciseness5/5

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

The description is extremely concise, using two short lines to communicate purpose and return type. No wasted content.

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

Completeness3/5

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

For a simple zero-parameter tool with an output schema, the description is adequate but lacks differentiation from sibling ai__wallet_fee. It could mention scope or relation to other fee tools.

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

Parameters4/5

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

No parameters exist, and schema coverage is 100%. The description doesn't need to add parameter info, so baseline 4 is appropriate.

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

Purpose4/5

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

The description clearly states the tool provides the Netfluid fee structure, indicating a specific resource. However, it doesn't differentiate from sibling tool ai__wallet_fee, which may have overlapping purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 ai__wallet_fee. The description lacks context for decision-making.

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

ai__fundCInspect

Returns a list of methods by which an account can be funded This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With empty annotations, the description must disclose behavioral traits. It only says 'returns a list' with no mention of read-only nature, permissions, data freshness, or side effects. Minimal disclosure.

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

Conciseness3/5

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

The description is short but contains a grammatical error ('This tools') and redundant phrasing about schema. It could be more polished and front-loaded with key info.

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

Completeness2/5

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

For a reference tool with 100+ siblings, the description lacks context about what 'methods' includes. It does not clarify scope (e.g., wallet, banks, cards) or mention the output schema's contents, leaving gaps.

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

Parameters3/5

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

No parameters exist, and schema description coverage is 100% (trivially). Baseline 3 applies; the description adds no additional parameter meaning.

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

Purpose4/5

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

The description clearly states it returns a list of funding methods with a specific verb and resource. However, it does not explicitly differentiate from sibling fund tools like fund_banks or fund_card_quote, which offer specific methods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the many specific fund_* sibling tools. It does not state prerequisites, alternatives, or contexts where this reference is appropriate.

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

ai__fund_banksBInspect

Returns a list of local and international bank accounts.

Returns a list of local and international bank accounts. Do not display blank fields. Customer MUST provide the reference as the beneficiary reference. Payments received, minus bank charges, are au @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

With no annotations, the description carries full burden. It mentions 'returns a list' and 'Payments received, minus bank charges, are au' (incomplete), but lacks details on side effects, error states, or authentication requirements beyond the implied param usage. Incomplete sentence reduces transparency.

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

Conciseness2/5

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

The description is repetitive ('Returns a list...' appears twice), includes parameter documentation that should be in schema descriptions, and ends with an incomplete sentence. It is not front-loaded with the most critical information, making it harder to parse quickly.

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

Completeness2/5

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

Given no annotations and an output schema that is not detailed, the description lacks explanation of the return JSON structure, error handling, pagination, or rate limits. The truncated sentence about bank charges is confusing. Important context missing for a financial data tool.

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

Parameters4/5

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

The description adds significant meaning beyond the input schema by explaining each parameter: api_key (api key), token (from /access/login), account_fk (database ID, not address, cannot be 0). This compensates for 0% schema description coverage. The param documentation is embedded but informative.

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

Purpose4/5

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

The description clearly states the function: 'Returns a list of local and international bank accounts.' This is a specific verb and resource. It is distinct from siblings like ai__fund and ai__accounts, though it could be more explicit about the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description includes usage instructions such as 'Do not display blank fields' and 'Customer *MUST* provide the reference as the beneficiary reference.' However, it does not specify when to use this tool versus alternatives, nor does it mention prerequisites or exclusion cases.

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

ai__fund_card_quoteAInspect

Returns a quote for a VISA/Mastercard card charge.

STEP 1 in charging a tokenised Visa/Mastercard. Returns a quote for a VISA/Mastercard card charge. Cards are charged in ZAR. A fee is levied for each charge. This end point only performs a quote, no cards are charged. The quote is valid for 10 minu @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list @param amount: The amount in currency of the account_fk. All cards are charged in ZAR but a conversion of this amount to ZAR will be automatically performed. On top of this amount a fee with be charged equal to 3.5% for fees and insurance plus South African VAT of 15% (only on the fee portion).

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
wallet_fkYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior5/5

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

With no annotations, the description fully discloses behavior: no cards are charged, quote valid for 10 minutes, automatic currency conversion, and detailed fee breakdown (3.5% plus 15% VAT on fee). This gives the agent a clear understanding of the tool's effects and limitations.

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

Conciseness4/5

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

The description is reasonably concise with a clear opening sentence, though it embeds parameter documentation inline, making it somewhat verbose. The structure with @param lines aids readability but could be separated for brevity.

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

Completeness4/5

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

The description covers all key aspects: purpose, parameters, behavior, constraints, and output indication. It mentions the output is a JSON object but lacks details about its structure. However, the context indicates an output schema exists (though not provided), mitigating this gap.

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

Parameters5/5

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

Despite schema coverage being 0%, the description provides extensive parameter documentation via @param notations, explaining each parameter's purpose, source (e.g., wallet_api_token from /access/login), constraints (account_fk is database ID not address, cannot be 0), and behavior (amount converted to ZAR with fee applied). This adds significant meaning beyond the schema's type-only definitions.

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

Purpose5/5

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

The description explicitly states 'Returns a quote for a VISA/Mastercard card charge' and clarifies it's only a quote step, not an actual charge. It also specifies the currency (ZAR) and fee structure, clearly distinguishing it from sibling tools like ai__fund_card_recharge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description identifies this as 'STEP 1 in charging a tokenised Visa/Mastercard' and notes 'no cards are charged'. This provides clear context for when to use the tool, though it lacks explicit guidance on when not to use it or alternatives.

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

ai__fund_card_rechargeBInspect

Charges a tokenised Visa/Mastercard. Confirm (yes/no) before executing

STEP 2 Charges a tokenised Visa/Mastercard, use /card/quote before this end point The card must have been previously charged using /fund/card_3D_secure_complete @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list @param wallet_card_id: The wallet_card_id associated with this wallet, can be found with wallet/card_list @param amount: The amount in currency of the account_fk. All cards are charged in ZAR but a conversion of this amount to ZAR will be automatically performed. On top of this amount a fee with be charged equal to 3.5% for fees and insurance plus South African VAT of 15% (only on the fee portion). @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
api_keyYes
wallet_fkYes
account_fkYes
wallet_card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

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

Annotations are empty, so description must fully disclose behavior. Mentions confirmation step, automatic conversion of amount to ZAR, and additional fees (3.5% + VAT). Does not discuss failure scenarios, reversibility, or other side effects. Partially sufficient but incomplete.

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

Conciseness2/5

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

Description is verbose and disorganized, mixing high-level purpose with numbered steps and parameter docs. Lacks front-loading of key information; would benefit from restructuring for clarity.

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

Completeness4/5

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

Provides prerequisites (quote, prior 3D secure), fee structure, and parameter details. Output schema exists but is not visible; description only says returns JSON. Given complexity, it is fairly complete but could add error handling details.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates with detailed parameter explanations (e.g., account_fk is a database ID not address, amount includes fee breakdown). Adds significant meaning beyond the schema structure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool charges a tokenised Visa/Mastercard. Distinguishes itself from sibling tools like ai__fund_card_quote by indicating it is the actual charge step. However, the description is somewhat cluttered with numbered steps and parameter docs, slightly reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides usage context: requires confirmation, must be preceded by /card/quote, and card must have been previously charged via /fund/card_3D_secure. Does not explicitly discuss when not to use it or compare to alternative payment tools among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__fund_ottAInspect

Funds an account with an OTT Voucher. Confirm (yes/no) before executing

Funds an account with an OTT Voucher. Only available in South Africa and can only be redeemed against any currency account, the system will perform the currency conversion @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list @param pin: The OTT voucher PIN @param mobile: The South Africa mobile number associated with this customer

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
pinYes
tokenYes
mobileYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the operation is a fund action (write), requires parameters for authentication (api_key, token), and includes confirmation. However, it does not mention rate limits, idempotency, error states, or whether the operation is destructive beyond the implied 'funds' semantics. It adds moderate value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is mostly efficient: first line states purpose, then expands with key details. It uses a structured @param list for clarity. However, the first two sentences are nearly identical ('Funds an account with an OTT Voucher. Confirm (yes/no) before executing' vs repeat), causing minor redundancy. Removing the repetition would make it more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool complexity (5 parameters, sensitive operation, regional restriction, currency conversion), the description covers the main aspects: action, confirmation, region, conversion, and all parameters. Output schema exists but is not shown; the description minimally notes '@return: a json object'. With an output schema, the description is reasonably complete, though it could mention common error scenarios or success indicators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It provides clear explanations for all 5 parameters: api_key and token are authentication, account_fk is an integer database ID (not an address, cannot be 0) from a specific endpoint, pin is the voucher PIN, and mobile is the SA mobile number. This adds significant meaning beyond bare types and names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool funds an account with an OTT Voucher, specifying the action (funds), resource (account), and payment method (OTT Voucher). It also distinguishes itself from sibling funding tools like 'ai__fund' (generic) and 'ai__fund_card_quote' by mentioning OTT Voucher specifically and adding region and conversion details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a confirmation step ('Confirm (yes/no) before executing') and geographic restriction ('Only available in South Africa'), which guides usage context. However, it does not explicitly state when to use this tool over alternatives like 'ai__fund_payat' or 'ai__fund_card_recharge', nor does it provide conditions when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__fund_payatBInspect

Returns a payment reference for use with Pay@, Pay@ provides point of sale integration to all major retailers in South Africa and Botswana. The customer is issued with a unique Pay@ bill payment code, which he needs to present to the cashier at the retailer

Returns a payment reference for use with Pay@ . Customer uses this payment reference to fund via Pay@ online (South Africa) or at Pay@ supporting retailers in South Africa and Botswana. All payments @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list @param amount: The amount requested, excluding pay@ merchant fees @param reference: The payment reference, can be any text

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountNo
api_keyYes
referenceNo
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It explains what the tool returns (a payment reference) and how the customer uses it, but omits side effects (e.g., transaction creation), idempotency, rate limits, or authentication details beyond token usage. The return type is vague ('a json object').

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat repetitive (similar paragraphs about Pay@ appear twice) and includes an incomplete sentence ('All payments'). However, the @param lines are well-structured and front-loaded with key information. Could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no annotations, and an output schema (unseen), the description partially covers necessary context: region, parameter roles, and customer usage. Gaps include output structure details, error handling, reference expiry, and explicit differentiation from sibling fund tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description compensates by detailing all 5 parameters, including clarifying that account_fk is a DB ID (not address), amount excludes merchant fees, and reference is free text. This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns a payment reference for Pay@, specifying the region (South Africa, Botswana). Distinguishes from sibling fund tools (e.g., ai__fund_banks, ai__fund_payshap) by focusing solely on Pay@, though no explicit comparison is given.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Prerequisite information (e.g., prior login, account) is implied via required parameters but not stated. The description lacks context on selection criteria or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__fund_payshapAInspect

Funds an account with a PayShap payment, PayShap is low-cost, instant bank-to-bank payments method only available from South African banks

Funds an account with a PayShap payment. Returns bank details for a PayShap payment. Only available in South Africa and can only be redeemed against a ZAR currency account. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk provided by /wallet/accounts_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It mentions the tool funds an account and returns bank details, and includes constraints. However, it lacks details on side effects, required permissions, or idempotency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description contains redundant phrasing (e.g., 'Funds an account with a PayShap payment' appears twice). It could be more concise. Structure includes parameter docs but lacks front-loading of key behavioral details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero schema coverage and no annotations, the description adequately covers functional purpose, constraints, and parameter details. Output schema exists, so return value detail is unnecessary. Slight gaps in edge-case behavior but sufficient for a funding tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides thorough explanations for all three parameters: api_key, token, and account_fk, including origin and constraints (e.g., account_fk is an int, not 0). This adds significant value beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool funds an account via PayShap, a specific South African payment method. It distinguishes from sibling tools like ai__fund_payat by naming PayShap explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context for when to use the tool, including geographic and currency constraints (South Africa, ZAR only) and a brief benefit (low-cost, instant). However, it does not explicitly compare to alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__help_pingBInspect

Pings the API

Pings the API and returns a response object @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It only states it pings the API and returns a JSON object, but does not disclose side effects, rate limits, or that it is read-only. Minimal behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains redundancy ('Pings the API' appears twice). It is not optimally concise and could be structured more efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple ping tool with one parameter and an output schema, the description covers the basic functionality. However, it lacks usage guidelines and behavioral transparency, making it only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds: 'The api key allocated to your application' for the api_key parameter, providing helpful context beyond the schema's type and required fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it pings the API and returns a response object. It is distinct from sibling tools which perform more complex operations. However, it lacks specificity about what 'ping' entails (e.g., connectivity check).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. With many sibling tools, the description should indicate that this is for simple health checking and not for other purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__netfluid_voucher_checkAInspect

Performs a validation on a Netfluid voucher code. The voucher is not redeemed, only validated @param voucher_code: The Netfluid voucher code, format is 4 sets of integers, e.g. 1234-4321-1234-4321

@return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
voucher_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the tool is read-only ('not redeemed, only validated') but lacks detail on authentication requirements, rate limits, or any side effects beyond validation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus param/return notes. Efficient and front-loaded with purpose. No unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has one simple parameter and output schema exists. Description covers validation purpose, param format, and return type. Adequate for the complexity, though output schema is not shown.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It adds format ('4 sets of integers') and an example, which significantly clarifies the expected input beyond the schema's 'string' type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States it performs validation on a Netfluid voucher code and explicitly says the voucher is not redeemed, only validated. This clearly distinguishes it from any redemption or transaction tools among siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for validation before redemption but no explicit guidance on when to use vs alternatives. Sibling list includes many financial tools but no specific comparator mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__off_rampsBInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions the tool returns a list and references a schema, but does not explicitly confirm it is read-only, indicate any side effects, or disclose safety implications. Minimal behavioral disclosure beyond the basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is two sentences and front-loaded with key information. However, the second sentence contains a grammatical error ('This tools provides') and is slightly awkward, reducing clarity. Still concise overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, has output schema), the description is reasonably complete. It states the return type and references the output schema. Could be slightly more explicit about the list's contents, but output schema fills the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters with 100% coverage, so baseline is 4. The description adds no parameter meaning (none needed), but does mention the output schema, providing some semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts.' This clearly indicates the tool provides a listing of related tools, distinguishing it from sibling tools that perform actual operations (e.g., ai__bridge_off_ramp_ach_wire). However, it does not fully differentiate from similar listing tools like ai__bridge_list or ai__on_ramps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 such as ai__bridge_list or specific off-ramp tools. The description only states what it does, not the context or prerequisites for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__on_rampsAInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so description carries full burden. It states the tool 'returns a list' and provides the schema, which is minimally transparent. No mention of side effects, but as a read-only list tool, the default assumption is safe. Could be improved by explicitly stating no state changes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences conveying purpose, schema info, and return type. Slightly verbose with 'This tools provides' (grammar error), but overall concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and presence of an output schema, the description adequately explains the tool's output (list of tools with referenced_tools schema). It covers the necessary information for a simple reference tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the description does not need to add parameter info. Baseline 4 for zero parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'returns a list of tools' for specific domains (bridges, off-ramps, on-ramps, etc.), which clearly identifies the tool as a reference/meta tool. It distinguishes from siblings like ai__off_ramps which likely list specific off-ramps rather than tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when or when-not to use, nor references to alternatives. The purpose implies it should be used to discover available tools for the listed categories, but no guidance on choosing between this and other list tools like ai__bridge_list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__privacyBInspect

Provides Netfluid's privacy policy This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, and the description does not disclose behavioral traits (e.g., read-only, authentication needs, rate limits). It does not add transparency beyond stating its informational nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, but the second one is slightly confusing and adds little value. Could be more concise by stating it returns the privacy policy directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an output schema, the description is sufficiently complete for a simple informational tool. It states the purpose and hints at the output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so schema coverage is 100%. The description does not need to add parameter semantics, and the baseline is 4. The second sentence about the schema is not about parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'Provides Netfluid's privacy policy', which clearly identifies the resource. However, the second sentence about 'referenced_tools' schema adds confusion but does not obscure the main purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__terms or ai__compliance. The description does not mention context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__pushCInspect
Sends a push text message to customer. Push messages are limited to 160 characters per message

Sends a push text message to customer. Push messages are limited to 160 characters per message This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It mentions the 160-character limit and returns JSON, but fails to describe potential side effects, permissions needed, or whether the action is destructive. The confusing note about 'referenced_tools schema' adds ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description repeats the same sentence twice and includes an unclear statement about 'referenced_tools schema'. It is not concise and contains redundant information, detracting from readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having zero parameters and an output schema, the description fails to explain how the tool operates or what input it expects. The missing information about message content and recipient makes the tool description incomplete for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While there are no parameters in the schema (100% coverage trivially), the description should explain how the tool determines the message content and recipient. It mentions the character limit but omits essential input details, leaving the agent without clear invocation guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it sends a push text message to a customer and specifies the 160-character limit. However, among sibling tools like ai__push_message and ai__push_message_send, it does not differentiate when to use this tool instead of others, which slightly reduces clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 any prerequisites or exclusions. Given the presence of numerous sibling push tools, this lack of usage context is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__push_messageBInspect
Sends a push text message to customer. Push messages are limited to 160 characters per message

Sends a push text message to customer. Push messages are limited to 160 characters per message This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Lacks annotations and does not disclose behavioral traits such as authentication requirements, rate limits, or error behavior. Only mentions character limit and that it returns a JSON object.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short but contains repetitive sentences and extraneous lines about referenced_tools and return. Could be more concise and better structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers basic purpose and character limit, but does not explain the returned JSON structure or context of use. Adequate for a simple tool but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters in the input schema, so baseline is 4. The description adds the character limit constraint, which is relevant but not a parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it sends a push text message to a customer and includes the character limit. However, it does not distinguish from sibling tools like ai__push_message_send or ai__push.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__push_message_devicesBInspect

Returns a list of devices registered to receive push messages on this wallet

Returns a list of devices registered to receive push messages on this wallet. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries full burden. It does not disclose if the operation is read-only, any side effects, authentication requirements beyond params, or rate limits. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is functional but has a redundant first sentence (duplicate of the second). The parameter documentation is placed after the main description, which is acceptable but not optimally front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Returns a list of devices but does not specify the structure of the returned JSON object. Given sibling tools exist, more context on the specific use case (e.g., after registering a device) would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaningful explanations for all three parameters (api_key, token, wallet_fk), clarifying their source and purpose, which compensates for the schema's lack of descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a list of devices registered for push messages on the wallet. However, it does not differentiate from sibling tools like ai__push or ai__push_message, and the first two lines are redundant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__push_message_send. No prerequisites or context about when this tool is appropriate or not.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__push_message_sendCInspect

Sends a push message to customer. Push messages are limited to 160 characters per message

Sends a push message to customer. Push messages are limited to 160 characters per message @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param message: The message content in plain text @param title: The message title in plain text

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
tokenYes
api_keyYes
messageYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the 160-character limit, which is a useful behavioral constraint. However, without annotations, it fails to disclose other important traits like idempotency, error behavior, or rate limits. The mention of returning a JSON object is redundant with the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and front-loaded, but the first two sentences are identical, which is wasteful. Overall structure is reasonable but could be more efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 required parameters, empty annotations, and sibling tools, the description is insufficient. It lacks details on prerequisites (e.g., token from login), device registration, and what the returned JSON looks like, despite the output schema existing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate but only repeats parameter names with minimal context (e.g., 'The api key allocated to your application'). No examples, constraints, or default values are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'sends' and the resource 'push message to customer'. However, it does not differentiate from sibling tools like ai__push_message, which likely has similar functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 ai__push_message or ai__push. The description lacks context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__reaCInspect

Provides tools to send text messages and emails This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should clarify behavior. It mentions a 'referenced_tools' schema but does not explain side effects, authorization needs, or detailed behavior. The return type is only 'a json object'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short (two sentences) but contains grammatical errors ('This tools provides') and lacks clarity. Could be more concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists (but not shown), the description barely explains return values. A tool with no inputs needs a thorough description of its output and purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description adds some context about output but does not fully explain what the returned JSON contains.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Provides tools to send text messages and emails' but is vague about what 'provides tools' means (e.g., listing, dispatching). It does not distinguish from sibling tools like ai__email or ai__text_message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__email or ai__text_message. The context does not clarify its role.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__realtime_event_alertsCInspect
Sends a push text message to customer. Push messages are limited to 160 characters per message

Sends a push text message to customer. Push messages are limited to 160 characters per message This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions a 160-character limit, which is a behavioral constraint, but lacks other critical details such as authentication requirements, rate limits, side effects, or return format (beyond '@return: a json object'). No annotations exist to compensate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description contains an unnecessary repetition of the first sentence and an unclear reference to 'referenced_tools schema'. It is not concise and wastes space with redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large number of sibling tools and the lack of annotations or input parameters, the description is insufficient. It does not explain the tool's role within the system, nor does it provide enough context for an agent to know when to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, making the description's role minimal. However, the tool's operation is unclear without parameters; the description fails to explain how the message content and recipient are determined, leaving a significant gap in understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (sends) and resource (push text message to customer). However, it does not differentiate from sibling tools like ai__push_message_send, which also likely sends push messages, making it less specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision-making information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__send_emailBInspect

Sends email to the wallet owner

Sends email to the wallet owner @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param message: The message body in html, encoded into base64 @param subject: The message subject in plain text, url encoded

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
messageYes
subjectYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description has the full burden. It only says 'Sends email' and gives parameter encoding details. It does not disclose authentication setup (implied by params but not stated), costs, rate limits, or error conditions. The return is minimally mentioned as 'a json object' without further info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description has a redundant opening line repeated, then a param list in a structured pattern. It is somewhat concise but could be streamlined. The param descriptions are helpful but the duplication wastes space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 required params and no annotations, the description covers inputs adequately but leaves out output schema details (even though it exists), error scenarios, and usage constraints. It is clear the tool sends email, but an agent may need to know if wallet owner email must exist or how to handle failures.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must add meaning. It does: explains api_key, token, wallet_fk as credentials from endpoints, message as base64-encoded HTML, subject as URL-encoded plain text. This goes beyond the schema's type-only definitions, though it could specify length limits or acceptable formats.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Sends email to the wallet owner', clearly indicating the verb and resource. It distinguishes from siblings like ai__text_message or ai__push_message, which handle different communication channels. However, the sentence is repeated unnecessarily, slightly marring clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__text_message or ai__email (if different). There is no mention of prerequisites, such as needing a wallet email configured, or exclusions. The description lacks direction for when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__SEPACInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It indicates a read-only operation returning a list and schema, but omits important details like authentication requirements, rate limits, or any side effects. The '@return' hint is present but insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, containing two sentences. It is reasonably concise, though the phrase 'This tools provides...' has a grammatical error. Overall, it is efficient but could be sharper.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not explain the return structure beyond 'containing the schema.' The tool name suggests SEPA functionality, but the description does not connect to SEPA or explain how the list is relevant. Incomplete for understanding the tool's role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the schema provides full coverage. The description adds context about returning a JSON object with a schema, which enhances understanding beyond the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns a list of tools working with bridges, off-ramps, etc., which gives a general purpose. However, the tool name 'SEPA' is not explained and does not match the described domains, causing ambiguity. It lacks specificity to distinguish from sibling tools like ai__bridge_list or ai__off_ramps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 sibling tools that directly handle bridges or off-ramps. The description does not provide usage context or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__sessionAInspect

Returns a session token given a customer provided session_key Can only be called once per session_key, thereafter the session_key is invalid @param session_key: The customer provided session_key @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
session_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given empty annotations, the description adequately discloses the one-time use behavior and invalidation of session_key. It does not cover error scenarios, but the main behavioral trait is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences: purpose, constraint, and param/return info. It is front-loaded and contains no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description covers the essential behavior and constraint. It would benefit from mentioning error handling, but overall it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter description only repeats the schema field name ('The customer provided session_key'), adding minimal value. With 0% schema description coverage, more detail on format or constraints would be expected.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns a session token given a session_key, with a specific verb and resource. The one-time use constraint further distinguishes it from potential siblings like ai__session_2_token, though not explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides only the constraint that it can only be called once per session_key, but does not offer guidance on when to use this tool versus alternatives (e.g., ai__session_2_token) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__session_2_tokenAInspect

Returns a session token given a customer provided session_key Can only be called once per session_key, thereafter the session_key is invalid @param session_key: The customer provided session_key @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
session_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries full burden. It discloses the key behavioral trait that the session_key becomes invalid after one use. Additional details (e.g., destructive nature) are partially covered but no mention of side effects or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded, with three sentences covering purpose, constraint, and parameter/return. However, the use of '@param' and '@return' in the description field is atypical and slightly unstructured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and an output schema, the description is adequate but lacks context about the returned JSON object and how it relates to sibling tools like 'ai__session'. More context would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning for the parameter 'session_key' by specifying it is 'customer provided'. This adds value beyond the bare schema. No further detail on format or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'returns a session token' given a session_key, and adds a unique constraint (one-time use). However, it does not explicitly differentiate from the sibling tool 'ai__session'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies a constraint (can only be called once per session_key) but lacks explicit guidance on when to use this tool versus alternatives. The context of when-not-to-use is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__signupCInspect

Provides tools to signup a new customer This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description should disclose behavior. Only states 'signup a new customer' and vague return type, omitting side effects, authentication implications, or what the api_key represents.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three lines: one states purpose, one confusing line about 'reference information', one about return. Could be shorter and clearer; extraneous info present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists but description redundantly states return type. Lacks context on when to use, the role of api_key, and differentiation from similar signup tools. Incomplete for a signup operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has one required parameter 'api_key' with no description. Description does not explain its meaning or usage, despite 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'Provides tools to signup a new customer', indicating a signup function, but the phrasing 'tools' is plural and confusing. Also mentions 'reference information' which muddles the purpose. Not a tautology but vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like ai__automated_signup or other sibling tools. No context on prerequisites or scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__skillAInspect

Returns the latest version of the Netfluid SKILL.md file

Returns the latest version of the Netfluid SKILL.md file Update your files if the version number is greater and refresh all mcp tools

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must convey behavior. It states a read operation without destructive effects, but omits details like caching, rate limits, or authentication needs. Decent but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains an unnecessary repetition of the first sentence, wasting space. It could be one sentence. Concise but structurally flawed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and presence of an output schema, the description covers the core purpose adequately. It could mention the file's role, but overall it's sufficient for an agent to understand the tool's function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100% (empty schema). Per guidelines, 0 parameters yields a baseline of 4. Description adds no parameter info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the latest version of the Netfluid SKILL.md file, using a specific verb and resource. It is distinct from siblings as no other tool has this exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage hint ('Update your files if the version number is greater and refresh all mcp tools'), indicating when to act on the result. However, it does not explicitly state when not to use it or compare to alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__supportCInspect

How to contact Netfluid's customer support This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as idempotency, side effects, or required authentication. It is a simple read operation but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long but contains a grammatical error ('tools' instead of 'tool') and a vague reference to 'referenced_tools' schema. It is somewhat concise but could be clearer and free of jargon.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no parameters and an output schema exists, so the description does not need to explain return values. However, it lacks any additional context about the tool's internals or usage scenarios, making it minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the input schema coverage is 100%. The description adds no parameter information, which is acceptable given the absence of parameters. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it provides information on how to contact Netfluid's customer support, which is a specific and actionable purpose. It distinguishes from siblings as a help/support tool, though the mention of 'referenced_tools' schema is somewhat unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus other similar informational tools like 'ai__about', 'ai__terms', or 'ai__privacy'. There is no context about prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__telco_accountsBInspect

Lists all the available telecommunications accounts

Lists all the available telecommunications accounts @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must carry the burden. It only states it lists accounts (read operation) but does not disclose side effects, permissions needed, or behavior like pagination. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is repetitive (the first line is duplicated). It uses Javadoc-style tags which provides some structure but could be more concise by removing the duplicate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema but the description only says 'returns a JSON object', lacking details on fields or pagination. With no annotations, more context would be beneficial. Adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions are missing (0% coverage). The description compensates by explaining all three parameters: api_key, token, and wallet_fk, including where to obtain them (e.g., '/access/login'). This adds meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Lists all the available telecommunications accounts', which specifies the verb (list) and resource (telecommunications accounts). However, it does not differentiate from sibling tools like 'ai__accounts' or 'ai__telco_bundles'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'ai__account' or 'ai__accounts'. The description lacks context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__telco_bundlesBInspect

Lists all the available telecommunications bundles

Lists all the available telecommunications bundles @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must convey behavioral traits. It only states it lists bundles and returns JSON, ignoring authentication requirements (api_key), data freshness, or side effects. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but includes an unnecessary repetition of the same sentence. It is front-loaded but could be more efficient by removing the duplicate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with one parameter and an output schema, the description provides minimal overview. It does not describe the output structure, which would help, but is still functional.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 0%, the description explains the single parameter 'api_key' as 'The api key allocated to your application', adding meaningful context beyond the schema's type-only definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action 'Lists' and resource 'available telecommunications bundles', making the purpose clear. However, it does not differentiate from sibling tools like 'ai__telco_accounts' or 'ai__account_buy_telco', so it's not top-tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, nor are there any exclusions or context clues. Given the existence of related sibling tools, this omission reduces usability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__termsCInspect

Provides a url from which to fetch Netfluid's terms and conditions of service This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must cover behavior. It mentions returning a JSON object but does not disclose safety, side effects, authentication needs, or rate limits. The reference to 'referenced_tools' schema is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Short but the second sentence is confusing ('This tools provides reference information in the...'). Could be clearer without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema (not shown), the description lacks details about the URL format or content. For a simple tool, it may suffice, but more context could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description adds minimal value beyond the schema, but baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a URL for fetching terms and conditions, with a specific verb and resource. However, it does not explicitly distinguish from siblings like ai__privacy or ai__about.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. The description only states its function, lacking explicit usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__textCInspect
Sends a push text message to customer. Push messages are limited to 160 characters per message

Sends a push text message to customer. Push messages are limited to 160 characters per message This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It mentions a 160-char limit and returns JSON, but omits critical details like message contents method, delivery guarantees, or prerequisites. The odd reference to 'referenced_tools' adds confusion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains repetition (the same sentence appears twice). The phrase about 'referenced_tools' is unclear and wastes space. Could be more concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not explain how the message content is specified (no input parameters). It lacks information on error handling, authentication, or prerequisites. Incomplete for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 0 parameters (empty object), so schema coverage is 100%. The description adds no additional parameter info, which is acceptable since no parameters exist. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends a push text message to a customer and specifies a 160-character limit. The verb and resource are explicit. However, it does not differentiate from sibling tools like ai__text_message or ai__push_message_send, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Among many messaging siblings (ai__push_message_send, ai__text_message, etc.), the agent receives no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__text_messageCInspect

Sends a push text message to customer. Push messages are limited to 160 characters per message

Sends a push text message to customer. Push messages are limited to 160 characters per message This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions the 160-character limit, which is a behavioral constraint, but lacks other important details such as authentication requirements, rate limits, or the effect of the operation. Annotations are empty, so the description carries the full burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first two sentences are identical, indicating redundancy. The description could be more concise and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no parameters and an output schema (according to context), the description fails to explain the tool's behavior comprehensively. It does not specify how the customer is identified or what the JSON output contains, leaving significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, but the description does not explain how the tool determines the message content or recipient. For a tool with no parameters, this missing context reduces clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool sends a push text message to a customer, using a specific verb and resource. However, it does not differentiate this tool from similar siblings like ai__push_message_send or ai__send_email.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites, exclusions, or context for appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__virtual_accountCInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It states the tool returns a list of tools and a schema, but does not disclose whether it is read-only, safe to call repeatedly, or any potential side effects. Behavioral traits like idempotency or rate limits are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (two sentences) but contains grammatical errors ('This tools provides', missing article). It front-loads the purpose but lacks structure and polish. Every sentence contributes, but clarity is reduced by poor grammar.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool has no parameters and an output schema exists, the description should clarify what the returned 'list of tools' and schema contain, and how the results can be used. The current description is too vague and does not provide sufficient context for an agent to fully understand its role, especially among many similar sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema is empty. With no parameters to document, the description need not add meaning beyond the schema. The baseline score for zero-parameter tools is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns a list of tools related to bridges, off-ramps, on-ramps, cross-blockchain transfers, and virtual accounts. This provides a specific verb and resource, and it distinguishes from sibling tools like ai__virtual_accounts (plural) by covering multiple categories. However, the description is somewhat vague about what exactly the returned 'list of tools' contains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not mention prerequisites, exclusions, or context where this tool is appropriate. Given the large number of sibling tools, explicit usage guidance is lacking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__virtual_accountsCInspect

Returns a list of tools that work with bridges, off-ramps, on-ramps, cross-blockchain transfers, virtual accounts This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description bears full burden. It indicates a read operation but does not explicitly state safety or readonly nature. The description contradicts itself regarding return type (list vs schema), reducing transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences but suffers from typos and clumsy phrasing. It could be more concise and better structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description fails to fully explain what the tool returns or how to use it. Given many sibling tools, more context on its unique role is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema coverage, the baseline is 4. The description adds some value by outlining the content of the output (list of tools, schema reference), though it is muddled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns a list of tools related to bridges, off-ramps, etc., but then mentions providing reference information in a schema, leading to ambiguity. The typo 'containging' and awkward phrasing reduce clarity. It does not differentiate from sibling tools like ai__about or ai__virtual_account.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of context or exclusions, leaving the agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_accounts_listCInspect

Provides a detailed list of accounts in a wallet.

Provides a detailed list of accounts in a wallet. Each entry returns an account_fk for later use. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations empty, so description must carry burden. It states returns JSON with account_fk, but does not disclose read-only nature, authentication requirements beyond params, or any 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.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is repetitive (first sentence duplicated), and verbose parameter blocks reduce conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Does not mention pagination, filtering, or full set of return fields. Output schema exists but description could be more complete for a list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 0% but description provides @param explanations for all three parameters, adding meaning about their origins and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'list' and resource 'accounts in a wallet', and mentions returning account_fk. However, it does not differentiate from sibling ai__wallet_accounts_list_verbose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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, no prerequisites or when-not-to-use indicated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_accounts_list_verboseCInspect

Provides a detailed list of accounts in a wallet with crypto balances included.

Provides a detailed list of accounts in a wallet with crypto balances included. This may take some time to complete. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions that the operation may take time, which is behavioral. However, there are no annotations, so the burden is higher; other traits like mutability or authorization details are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is repeated verbatim, wasting space. The param descriptions could be more concise. Overall, it is not efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Parameter descriptions and a timing note are present, and an output schema exists. However, the description lacks context for differentiating from the simpler 'ai__wallet_accounts_list' and does not mention filtering or ordering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The @param lines add meaning to all three parameters (api_key, token, wallet_fk) beyond the schema, which has 0% description coverage. This compensates well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a detailed list of accounts with crypto balances, distinguishing from the sibling 'ai__wallet_accounts_list' which likely lacks balances. However, the sentence is duplicated, slightly reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only a timing note ('may take some time') is given, but no explicit guidance on when to use this tool versus alternatives like 'ai__wallet_accounts_list' or other account listing tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_assets_listAInspect

Provides a detailed list of assets available to this wallet. For display only. May be filtered by blockchain

Provides a detailed list of assets available to this wallet as async defined per user grouping and optionally per blockchain. This is for display purposes only as every wallet may still make use of any asse @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param blockchain_fk: The blockchain_fk to use as filter

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
blockchain_fkNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description notes 'for display only', implying read-only nature, but with no annotations, it lacks explicit details on side effects, rate limits, or data freshness. The parameter descriptions are provided but no behavioral caveats.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description repeats the first sentence and includes a separate parameter documentation block. While the core is front-loaded, the overall text is longer than necessary, reducing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the description covering the main purpose, parameters, and return type, it is mostly complete. However, it lacks examples or clarification on the meaning of 'assets'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes parameter explanations in a Javadoc format, adding meaning beyond the schema which has no descriptions. However, the explanations are brief and could be more thorough (e.g., what blockchain_fk values are valid).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it provides a detailed list of assets for the wallet, with a note that it's for display only. It differentiates from sibling tools like wallet_accounts_list by focusing on assets, making the purpose distinct and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like querying crypto balances or other wallet lists. The description only mentions optional blockchain filtering but does not indicate when this tool is preferable or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_card_listAInspect

Returns a list of tokenised Visa/Mastercard(s) associated with this wallet

Returns a list of tokenised Visa/Mastercard(s) associated with this wallet. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but does not disclose behavioral traits such as idempotency, required permissions, rate limits, or side effects. It only states it returns a JSON object, lacking transparency on operation safety or scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is repetitive (first two lines identical) and uses non-standard structured comments. It could be more concise by removing the duplicate line and integrating the parameter info naturally.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 required params, output schema exists), the description covers basic purpose and parameters. However, it omits return structure details (though output schema helps), prerequisites, error conditions, or notes on token expiry, making it adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the tool description includes parameter explanations (e.g., 'The api key allocated to your application'). This adds meaning beyond the schema types. However, details like format constraints or examples are missing, preventing a perfect score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (returns a list) and resource (tokenised Visa/Mastercard(s) associated with this wallet). It distinguishes from sibling tools like ai__wallet_card_remove and other list tools (wallet_accounts_list, wallet_assets_list, etc.) by specifying card type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing cards but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or exclusions, relying on the agent to infer from the tool name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_card_removeCInspect

Removes a tokenised Visa/Mastercard(s) associated with this wallet, confirm (yes/no) before executing

Removes a tokenised Visa/Mastercard(s) associated with this wallet. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param wallet_card_id: The wallet_card_id provided by /wallet/card_list

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes
wallet_card_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions a confirmation step ('confirm (yes/no) before executing'), which is a behavioral trait beyond the empty annotations. However, it does not disclose that it is a destructive operation, potential irreversibility, or authentication requirements, which are partially covered by parameters but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description contains a duplicate sentence at the start, making it less concise. The structure is acceptable with a separate param list, but the redundancy wastes space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of an output schema, the description covers the basic purpose and parameter sources. However, it omits information about error handling, what happens if the card does not exist, and how the confirmation step is handled by the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the @param tags in the description provide essential context about where to obtain parameter values (e.g., wallet_card_id from /wallet/card_list). However, they lack additional constraints or format details, and the return is only described as 'a json object'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool removes tokenised Visa/Mastercard(s) associated with the wallet, which is a specific action. However, it does not differentiate from siblings like ai__wallet_card_list or ai__fund_card_recharge, and the repetition of the same sentence reduces clarity slightly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide guidance on when to use this tool versus alternatives, nor does it mention prerequisites or when-not-to-use scenarios. It only implies usage through its description of the action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_domainCInspect

Returns the wallet white label domain.

Returns the wallet white label domain. Performs a search on any one of the parameters. @param api_key: The api key allocated to your application @param wallet_fk: The wallet_fk @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk @param account_address: The account address @param payat_reference: The payat_reference excluding the merchant code example:111249 would submit 9

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes
wallet_fkNo
account_fkNo
account_addressNo
payat_referenceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With empty annotations, the description should fully disclose behavioral traits. It mentions a search operation but does not disclose side effects, idempotency, rate limits, or authentication details beyond the required api_key. The behavioral transparency is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is repetitive, stating 'Returns the wallet white label domain.' twice. It also uses a docstring format with @param and @return, which is not ideal for an AI agent. Multiple sentences could be combined for better readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema, the description does not need to detail return values. However, it lacks context about search behavior when multiple parameters are provided, and does not mention pagination or limitations. It is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by explaining each parameter in detail, including clarifying that account_fk is a database integer and not an address. This adds significant meaning beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states that the tool returns the wallet white label domain and performs a search on parameters. This is a specific verb and resource, clearly distinguishing it from general wallet tools. However, it could be more explicit about what a 'white label domain' is and how it differs from other wallet-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It does not provide context for preferred usage scenarios or exclusions. The description simply states the function without any comparative advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_feeBInspect

Calculates the transaction fee given an amount.

Calculates the transaction fee given an amount. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param amount: The transaction amount

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully convey behavioral traits. It only states that it calculates a fee, but does not disclose whether it is read-only, has side effects, requires authentication (though params imply it), or any rate limits. The agent lacks information on safety or potential impacts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and to the point, listing parameters clearly. However, the introductory sentence is repeated verbatim, which wastes space without adding value. Overall, it is well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description need not detail return values. The tool is simple: compute a fee. The description covers the main inputs and action, lacking only minor details like currency or fee type. It is sufficient for a basic calculator in a familiar domain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It provides brief explanations for each parameter (e.g., token is from /access/login, amount is the transaction amount), adding more context than the schema alone. However, it does not specify formats, constraints, or units, leaving gaps for an agent to infer.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool calculates a transaction fee given an amount. It uses a specific verb (calculates) and resource (transaction fee), and distinguishes itself from sibling tools that deal with wallet accounts, cards, etc., which do not perform fee calculation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. There is no mention of prerequisites, when not to use it, or any differentiation from other tools that might compute fees or charges. The description only states what it does, not the context of use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_google_auth_listAInspect

Returns the wallet's Google Authenticator registration.

Returns the wallet's Google Authenticator registration. An object is returned with a Secret, URL, QR-Code. Any of which can be presented to Google Authenticator app in order to setup a time based OTP @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes output (Secret, URL, QR-Code) but no annotations exist. Does not explicitly state read-only nature or side effects, though implied as a retrieval operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

First sentence repeated verbatim. Overall text is adequate but could be more concise by removing redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers input parameters and output structure adequately. With output schema present, the description adds value. Could mention behavior if not registered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Provides explanations for all three parameters (api_key, token, wallet_fk) beyond the schema's type-only definitions, covering their origins and purposes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it returns the wallet's Google Authenticator registration, including Secret, URL, and QR-Code for TOTP setup. Distinct from sibling tool ai__wallet_google_auth_verify which handles verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives like ai__wallet_google_auth_verify. Does not mention prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_google_auth_verifyBInspect

Verifies an OTP against the customer's Google Authenticator App

Verifies an OTP against the customer's Google Authenticator App. The wallet must be configured to generate OTPs, see /wallet/google_auth_generate. 2FA is not enabled until such time as /wallet/google_ @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param otp: The OTP to test against what is displayed on the Google Authenticator

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
otpYes
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states it verifies OTP and returns JSON. Missing details on side effects, error conditions, authentication flow, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Contains redundancy (first sentence repeated) and an incomplete sentence. The param list is clear, but overall structure is messy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description fails to explain the return value in detail and leaves a dangling statement about 2FA, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description includes a param list with explanations for each parameter, adding value beyond schema. However, descriptions could be more precise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the main function: verifying an OTP against Google Authenticator. It mentions a prerequisite and related tool, but is slightly truncated, reducing full clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a prerequisite (wallet must be configured to generate OTPs) and references another tool, but does not specify when to use versus alternatives or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_kyc_checkCInspect

Checks whether the wallet/customer has been verified successfully

Checks whether the wallet/customer has been verified successfully @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not disclose safety (e.g., read-only, no side effects) or error behavior. The simple check nature is implied but not explicitly stated as non-destructive or safe to call repeatedly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains a duplicated line ('Checks whether the wallet/customer has been verified successfully' appears twice). The param comments are included in the description field, which is acceptable but could be more streamlined. Concise overall with minor waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, so return value details are not required from the description. However, the description lacks context about typical use cases, integration with other tools, or error handling. Adequate for a simple check but incomplete for a complex system.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description provides brief comments for each parameter (e.g., token is from /access/login). This adds some meaning beyond the schema, but formats, constraints, or examples are missing. Adequate but minimal enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool checks wallet/customer verification status. The verb 'checks' and resource 'wallet/customer verification' are clear, but it does not differentiate from the sibling tool 'ai__wallet_kyc_check_lite' which likely serves a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Prerequisites like obtaining a token from /access/login are implied in parameter comments but not stated as usage conditions. No explicit when-not-to-use or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_kyc_check_liteBInspect

Checks whether the wallet/customer has performed an ID document scan and AML check

Checks whether the wallet/customer has performed an ID document scan and AML check. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries full burden. It implies a read-only check but does not explicitly state side effects, required permissions, or response behavior. The description lacks transparency beyond the basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains a redundant duplicate sentence. The parameter documentation is well-structured, but the repetitive opening reduces conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has an output schema, but the description only says 'returns a json object'. It does not explain what the JSON contains. For a simple check, this may be adequate, but given the number of siblings, more context about the 'lite' version's scope would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes @param tags for all three parameters (api_key, token, wallet_fk), providing meaning beyond the input schema which lacks descriptions. This compensates for the 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks whether a wallet/customer has performed an ID scan and AML check. However, it does not differentiate from the similar sibling tool ai__wallet_kyc_check, missing an opportunity to clarify the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the full KYC check. No prerequisites or context provided for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_kyc_session_createAInspect

Creates a new session for Identity Verification (KYC), only required on wallet that have not been KYC verified. Do not generate a link unless explicitly asked for by the user. There is a cost per session.

Creates a session for Identity Verification. Do not generate a link unless explicitly asked for by the user. This endpoint will return a URL, direct the customer to that URL on their mobile. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param profile: The session profile, values are FULL (ID verification, Face Verification, Liveness check, Email verification, AML) or LITE (ID verification, Face Verification, Email verification, AML) @param callback: The session callback URL which will be called with the verification result. This callback URL must call /callback/didit with the "verificationSessionId" and "status" as received on this callback url

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
profileYes
callbackYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the tool returns a URL, directs customers to that URL on mobile, and involves a callback URL with specific requirements. It also notes cost and prerequisite (unverified wallet). Missing details on authentication or response format beyond 'json object,' but adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat verbose and repetitive: 'Creates a new session for Identity Verification' appears twice, and 'Do not generate a link unless explicitly asked for by the user' is duplicated. The structured param list is helpful, but conciseness could be improved by removing redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (not shown), the description doesn't need detailed return format but mentions 'returns a URL' and 'json object. It covers prerequisites, cost, callback behavior, and not to generate link proactively. The conditions for use are clear enough for the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description fully compensates with detailed @param lines. For 'profile,' it lists exact values (FULL/LITE) and what they include. For 'callback,' it provides instructions on how it must call /callback/didit. This adds significant meaning beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Creates a new session for Identity Verification (KYC)' with a specific verb and resource. It distinguishes from sibling tools like ai__wallet_kyc_check by emphasizing creation of a session versus checking status. The condition 'only required on wallet that have not been KYC verified' further clarifies scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit usage warnings: 'Do not generate a link unless explicitly asked for by the user' and 'There is a cost per session.' It implies this tool is for initiating verification, but lacks explicit comparison to alternative tools for checking KYC status. However, the purpose is clear enough for an agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_mnemonicAInspect

Returns the wallet's 24 word mnemonic phrase for future secret recovery.

Returns the wallet's 24 word mnemonic phrase for future secret recovery. It is important that the wallet owner is made aware of this recovery key phrase, for future use, when required @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With empty annotations, the description carries full burden. It states the tool returns sensitive data but does not emphasize security precautions or risks of exposing the mnemonic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description has an exact repetition of the first sentence, making it slightly less concise. It is otherwise structured with parameter and return info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains parameters and return type, but given the tool's sensitivity (exposing wallet mnemonic), it lacks warnings or best practice guidance. Output schema exists but description barely mentions it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meaning by explaining the source of each parameter (e.g., token from /access/login). This compensates for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns the wallet's 24-word mnemonic phrase for secret recovery, using a specific verb and resource. It distinguishes from siblings as no other tool retrieves the mnemonic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context that the tool should be used when the wallet owner needs to know their recovery phrase, but lacks explicit when-not-to-use or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_rbaCInspect

Saves a Recipient Bank Account (RBA) for use on future withdrawals. Confirm (yes/no) before executing

Saves a Recipient Bank Account (RBA) for use on future withdrawals. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param beneficiary: The beneficiary name @param bank: The bank's name @param iban: The account's IBAN/Account number @param swift: The account's swift routing code or branch code which ever is applicable @param email: The recipient's email address @param note: The note or recipient reference on the bank transfer @param address_street: The street address of the bank @param address_city: The city in which the bank is located @param address_zip: The postal code of the location of the bank, zip code or "None" @param countryISO2: The 2-digit ISO code of the country in which the bank is located, must match the content of the swift code

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
bankYes
ibanYes
noteNo
emailYes
swiftYes
tokenYes
api_keyYes
wallet_fkYes
address_zipNo
beneficiaryYes
countryISO2No
address_cityNo
address_streetNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must fully disclose behavior. It describes the action and parameters but omits details like duplicate handling, side effects, idempotency, or authentication requirements beyond param docs. The confirmation step is mentioned but not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy with a duplicated opening line. While it has a structured param block, the repetition and lack of front-loading reduce conciseness. Some sentences could be omitted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, 8 required, and an output schema, the description explains parameters well but lacks integration of the output schema and process details (e.g., what happens after saving). It is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides detailed parameter explanations in javadoc style, adding significant value. It explains each field's purpose, including constraints like countryISO2 matching swift, compensating for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool saves a Recipient Bank Account (RBA) for future withdrawals. It uses a specific verb and resource, but does not differentiate from siblings like ai__beneficiary_add, which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions a confirmation step ('Confirm (yes/no) before executing') but provides no guidance on when to use this tool versus alternatives such as ai__beneficiary_add or ai__wallet_rba_list. No context for exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_rba_listBInspect

List all Recipient Bank Accounts (RBAs) on this wallet

List all Recipient Bank Accounts (RBAs) on this wallet @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only implies read-only behavior ('List') without explicit disclosure of side effects, authentication requirements, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat repetitive (first line duplicated) and could be more streamlined, but it is structured with @param tags.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description only says '@return: a json object', lacking details on the response structure, pagination, or filtering capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides detailed explanations for each parameter (api_key, token, wallet_fk), adding meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List all Recipient Bank Accounts (RBAs) on this wallet' with a specific verb and resource, making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__wallet_rba, and no mention of prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_referral_codeCInspect

Returns this wallet's referral code.

Returns this wallet's referral code. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description implies a read operation ('returns'), but does not explicitly state it is read-only or mention any other behavioral traits. With no annotations, it minimally covers transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description repeats the same sentence twice, which is wasteful. Param docs are in a block but add little value beyond naming. Overall, it could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has an output schema, so return values are documented elsewhere. However, the description lacks explanation of what the referral code is or its usage, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, meaning the schema provides no parameter descriptions. The tool description adds some semantic context (e.g., api_key allocated, token and wallet_fk from /access/login), partially compensating but still limited.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns the wallet's referral code. It is specific (verb 'returns' + resource 'referral code') and distinguishes from siblings as no other tool mentions referral code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 any prerequisites beyond the required parameters. It only lists parameters with generic source info.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_verifyAInspect

Verifies the status of the wallet token, while keeping the token session alive.

Verifies the status of the wallet token, while keeping the token session alive. Call this regularly to keep the session token active. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description bears full responsibility. It discloses the keep-alive behavior but lacks details on error handling, idempotency, or return format. The description adds value beyond annotations but is incomplete for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description repeats the same sentence verbatim, wasting space. The @param block is acceptable but could be more concise. Every sentence should earn its place; the duplication is unnecessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (not shown), return values are covered. The description explains the tool's purpose and parameter semantics adequately. For a verification/keep-alive tool, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description adds meanings by specifying sources for each parameter (e.g., 'The wallet_api_token provided by /access/login'). This compensates for the lack of schema descriptions and helps agent understand parameter origins.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Verifies the status of the wallet token, while keeping the token session alive.' It specifies the action (verify) and the resource (wallet token status), and distinguishes from sibling tools by focusing on session keep-alive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises 'Call this regularly to keep the session token active,' providing a clear usage context. It does not explicitly mention when not to use or alternatives, but the guidance is sufficient for a maintenance tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__wallet_voucher_listCInspect

Lists all vouchers kept in this wallet's vault.

Lists all vouchers kept in this wallet's vault. These are vouchers issued by any account_fk in this wallet @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so no safety or behavioral info is provided. The description adds the context 'vault' and 'issued by any account_fk' but does not disclose pagination, rate limits, idempotency, or other behavioral traits expected for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description repeats the first sentence, adding unnecessary redundancy. It is not front-loaded; the duplicate line wastes space. Javadoc-style params are acceptable but could be integrated more concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description only says '@return: a json object', providing no structure or error scenarios. With 3 required params and no output guidance, the tool is underspecified for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description's @param tags add basic meaning (e.g., 'api_key: The api key allocated to your application'). This partially compensates for the schema gap, but the explanations are minimal and lack specifics like how to obtain the values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Lists all vouchers kept in this wallet's vault' and specifies they are issued by any account_fk in the wallet. However, it does not differentiate from sibling list tools like ai__wallet_accounts_list or ai__wallet_card_list, which share similar phrasing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__wallet_accounts_list. No prerequisites or contexts are mentioned, leaving the agent to guess when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__webhook_pauseAInspect

Pauses the webhook on this wallet from receiving events

Pauses the webhook on this wallet from receiving events @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the basic effect (pausing event reception) but does not disclose side effects, idempotency, or requirements (e.g., existing webhook). Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is unnecessarily repeated. The structure is functional with param and return documentation, but the repetition wastes space. Not overly verbose but could be tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple pause operation with 3 parameters and an existing output schema, the description covers the core action and parameter sources. Minor gaps include lack of behavior when already paused, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides @param entries for all three parameters, explaining their origin (e.g., 'api_key allocated to your application'). This adds meaning beyond the raw schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific action 'pauses the webhook' on a wallet from receiving events, clearly distinguishing it from sibling tools like ai__webhook_resume or ai__webhook_set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__webhook_resume or ai__webhook_set. The description only states the action without any context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__webhook_resumeCInspect

Resumes a webhook

Resumes a webhook @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It only states 'Resumes a webhook', providing no information about side effects, idempotency, error states, or what happens if the webhook is already resumed. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains redundancy ('Resumes a webhook' appears twice). The parameter docs are structured with @param tags, but the repetition wastes space. Could be more concise without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 required parameters and an output schema, the description is incomplete. It does not explain the return value beyond 'a json object', nor does it mention prerequisite states (e.g., webhook must be paused). The output schema exists but the description should at least indicate success/failure indicators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description includes docstring-style parameter explanations for api_key, token, and wallet_fk, adding meaning beyond the bare schema (which only has names and types). Although 'wallet_fk' is vaguely described as 'provided by /access/login', this still provides useful context. Schema coverage is 0%, so the description compensates well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Resumes a webhook', which clearly indicates the action and resource. Given sibling tools like ai__webhook_pause and ai__webhook_view, the purpose is distinct, though it could be more specific by mentioning that it resumes a paused webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 like ai__webhook_pause or ai__webhook_set. Prerequisites (e.g., webhook must exist and be paused) are not mentioned, leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__webhook_setBInspect

Sets a webhook on this wallet

Sets a webhook on this wallet. The webhook URL receives a PUT call containing a JSON object whenever an event in triggered on this wallet. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login @param url: The url on which to receive a PUT containing a JSON object

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. It explains that the webhook receives PUT calls with JSON on events, but does not disclose if setting overwrites existing webhooks, requires specific permissions, or failure behavior. Some context provided but incomplete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise but contains redundancy: the first line repeats. The param docs are clear but in a code-like format. Could be tighter without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return format is covered. However, missing details: whether setting is idempotent, what events trigger the webhook, limits, and prerequisites beyond what params imply. Adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description provides detailed explanations for all 4 parameters (api_key, token, wallet_fk, url), including how to obtain token and wallet_fk. This adds significant value beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sets a webhook on a wallet and explains the behavior (PUT call with JSON on event). It is specific to the set operation, distinguishing from siblings like pause, resume, view, though not explicitly differentiating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. Does not state prerequisites, when to set vs. pause/resume, or error conditions. The same information could be inferred but not explicitly given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__webhook_viewAInspect

View the webhook on this wallet

View the webhook on this wallet. @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param wallet_fk: The wallet_fk provided by /access/login

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
wallet_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only indicates it is a read operation. It does not disclose permissions, side effects, or other behavioral traits beyond 'View'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is repetitive ('View the webhook on this wallet' appears twice) and could be more concise. The parameter documentation is separate but not integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the existence of an output schema (unseen), the description does not need return value details. However, it lacks prerequisites or context about when the webhook exists, making it minimally complete for a read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description compensates by labeling parameters (api_key, token, wallet_fk) and explaining their origins (e.g., 'from /access/login'). This adds meaning beyond the schema's type-only definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool views the webhook on a wallet, using the verb 'View' and specifying the resource 'webhook'. It distinguishes from siblings like 'set' and 'pause'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing webhooks but does not explicitly state when to use this tool over alternatives. Sibling tool names provide context but no direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__whoisDInspect

Provides tools to verify Netfluid accounts, Netfluid account addresses, Netfluid vouchers This tools provides reference information in the "referenced_tools" schema @return: a json object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description fails to disclose any behavioral traits such as side effects, data retrieval vs mutation, authentication requirements, or output structure beyond 'a json object'. This is insufficient for an agent to understand the tool's impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences), but the second sentence is grammatically awkward ('This tools provides') and the line break is unconventional. While concise, the structural quality is poor.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the cryptic name 'whois' and no parameters, the description should clarify its purpose relative to sibling tools such as ai__account or ai__netfluid_voucher_check. It fails to do so, leaving the agent with no actionable context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty (0 parameters) with 100% coverage, so baseline is 3. The description does not add parameter semantics because there are none, but it also does not mislead.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it provides tools to verify Netfluid accounts and vouchers, but it is unclear whether the tool itself performs verification or returns definitions of other tools. The mention of 'referenced_tools' schema suggests a meta-purpose, which is confusing and does not clearly differentiate from sibling tools like ai__account or ai__netfluid_voucher_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

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. Given the large number of sibling tools, the description should explicitly state the intended use case or conditions, but it provides none.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdrawCInspect

Returns a list of methods by which an account can be funded This tools provides reference information in the "referenced_tools" schema @return: a json object containing the schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It mentions returning a list but does not disclose read-only nature, side effects, or authentication requirements. The mention of 'referenced_tools schema' is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but contains a critical error ('funded' instead of 'withdrawn'). The second sentence is poorly structured and unclear. It fails to be concise in a meaningful way.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large number of sibling withdrawal tools, this tool's role is not defined. The description does not clarify how this reference tool differs from others or what the output contains. Incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so description does not need to explain them. The description adds minimal value by stating it returns a JSON object with a schema, but this is acceptable for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it returns funding methods, but the tool name is 'withdraw', which is contradictory and misleading. The purpose is unclear and likely incorrect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 the many sibling tools like ai__withdraw_to_bank or ai__withdraw_ott_providers_list. The description does not provide usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdraw_ott_providers_listBInspect

Returns a list of supported providers.

Step 1. Returns a list of supported providers, an array of provider_id is returned, select one and use with /withdraw/to_ott_quote. @param api_key: The api key allocated to your application

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description must fully disclose behavior. It only states the return type (a JSON object with an array of provider IDs) and mentions the api_key parameter. It does not convey that the operation is read-only, safe, or any potential side effects, errors, or rate limits. The description adds minimal behavioral context beyond the basic input/output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is about three sentences but includes redundancy (first two sentences say the same thing) and a 'Step 1' labeling that is not needed. It could be more concise. However, it is not excessively long and front-loads the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is part of a multi-step withdrawal process, the description mentions the next step (use with /withdraw/to_ott_quote) and the output structure (array of provider IDs). However, it does not specify the full structure of the output (e.g., what other fields each provider object might contain), even though an output schema exists. The description is adequate but not fully complete for an agent to understand the entire flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explaining the api_key parameter: 'The api key allocated to your application.' This adds meaningful context beyond the schema's type definition. For a single required parameter, this is sufficient and valuable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states the tool returns a list of supported providers and specifies that it returns an array of provider IDs to use with /withdraw/to_ott_quote. This clearly distinguishes it from sibling tools like ai__withdraw_to_ott_quote and ai__withdraw_to_ott_query. However, the description redundantly repeats 'Returns a list of supported providers' and lacks detail on what exactly constitutes a provider.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs the agent to select a provider from the returned list and use it with /withdraw/to_ott_quote. This provides clear context for when and how to use this tool. However, it does not specify when not to use it or mention alternative tools for similar purposes, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdraw_to_bankBInspect

Withdraws to a bank account, anywhere world-wide. Confirm (yes/no) before executing

Withdraws to a bank account, anywhere world-wide. The account currency is the currency in which funds will be paid out. The recipient bank account (rba) must already be set. See /wallet/rba @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which to withdraw the funds. @param rba_fk: The rba_fk (recipient bank account id) to pay out to, can be found /wallet/rba_list. @param amount: The amount to withdraw @param note: The note on the transaction

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
tokenYes
amountYes
rba_fkYes
api_keyYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry behavioral disclosure. It implies a withdrawal (mutation/destructive) but does not state irreversibility, authorization requirements, or side effects. The mention of 'Confirm (yes/no)' is ambiguous—no parameter exists for it, leaving agents unsure of the control flow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is mostly clear but contains redundancy (the first two lines are nearly identical). The parameter list is well-structured in a @param format, but the opening could be more concise without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (6 parameters, sibling variety), the description covers essential prerequisites and parameter roles. However, it does not explain return values (only 'a json object') or error handling, and the confirmation step remains unclear. Lacks completeness for an agent to fully understand the workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides detailed explanations for all 6 parameters, compensating for the 0% schema coverage. For example, it distinguishes account_fk as a database ID (not an address) and notes rba_fk can be found via '/wallet/rba_list'. This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool withdraws to a bank account worldwide, distinguishing it from sibling tools like 'ai__withdraw' and 'ai__withdraw_to_ott'. However, the repeated opening lines and the mention of a confirmation step without a corresponding parameter slightly reduce clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes that the recipient bank account must already be set and references '/wallet/rba' for setup, providing a prerequisite. However, it lacks explicit guidance on when to use this tool versus siblings (e.g., when to use 'ai__withdraw_to_bank' vs 'ai__withdraw') and does not specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdraw_to_ottAInspect

Withdraws ZAR to any the OTT Mobile supported providers, confirm (yes/no) before executing

Step 3. Performs the withdrawal based on the quote_id returned from /withdraw/to_ott_quote. The final ZAR amount may differ from the quoted amount. On successfully submission a payment_id will be returned @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which the funds will be withdrawn @param quote_id: The quote_id returned from withdraw/to_ott_quote @param mobile: The recipients South African mobile number, format 27XXXXXXXXX

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
mobileNo
api_keyYes
quote_idYes
account_fkYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals key behaviors: it performs a withdrawal, the final amount may differ, and it returns a payment_id. But with no annotations, it lacks details on authentication requirements, error cases, or side effects beyond the parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat messy with the 'Step 3.' reference and mixed structure. It is functional but not optimally organized; could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description covers purpose, parameters, and key behavioral notes. However, it omits prerequisites like needing a quote, and does not detail the JSON output structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description carries full burden. It provides clear explanations for each parameter, including format for mobile, type clarification for account_fk, and source for quote_id and token.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool withdraws ZAR to OTT Mobile supported providers, and it distinguishes itself from sibling tools like ai__withdraw_to_ott_quote and ai__withdraw_to_ott_query by positioning it as 'Step 3' that performs the withdrawal based on a quote_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions that this is step 3 after obtaining a quote, and warns about potential amount differences. However, it does not explicitly state when not to use it or clearly contrast with alternatives like withdraw_to_bank.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdraw_to_ott_queryAInspect

Queries the state of an OTT Mobile withdrawal

Step 4. Optional. Queries the state of an OTT Mobile withdrawal using the payment_id from withdraw/to_ott @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which the funds were withdrawn @param payment_id: The payment_id returned from withdraw/to_ott

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
api_keyYes
account_fkYes
payment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are empty, so the description carries full burden. It correctly implies a read-only operation without side effects. It notes that account_fk is a database ID and may not be 0, adding useful context. However, it lacks details on error handling, rate limits, or authentication beyond token.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with a title, step info, parameter list, and return type. It is somewhat verbose and could be more front-loaded; the step numbering and parameter list add clarity but could be condensed without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to detail return values. It covers the purpose, prerequisites, and all parameters adequately. It could mention potential error states, but overall it provides sufficient context for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides meaningful explanations for all four parameters (api_key, token, account_fk, payment_id), including important notes on account_fk being a database ID. This adds significant value beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Queries the state of an OTT Mobile withdrawal', which is a specific verb (queries) and resource (state of withdrawal). It distinguishes itself from siblings like withdraw_to_ott and withdraw_to_ott_quote by focusing on querying state using payment_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Step 4. Optional' and specifies that it uses the payment_id from withdraw/to_ott, providing clear context on when to use it. It does not explicitly mention when not to use it, but the optional step designation implies it may be skipped.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai__withdraw_to_ott_quoteAInspect

Generates a withdrawal quote to a OTT Mobile supported provider

Step2. Generates a withdrawal quote to a OTT Mobile supported provider On successfully submission a quote_id will be returned, use with /withdraw/to_ott @param api_key: The api key allocated to your application @param token: The wallet_api_token provided by /access/login @param account_fk: The account_fk (this is a database ID (int) not an account address (str) and may not be 0) The account_fk from which the funds will be withdrawn @param provider_id: The provider_id returned from withdraw/ott_providers_list @param amount: The amount to be withdrawn from the account_fk, in its native currency.

@return: a json object
ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes
amountYes
api_keyYes
account_fkYes
provider_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It states the tool generates a quote and returns a quote_id, but does not mention side effects, expiration of the quote, or that no funds are actually moved. While it explains parameters, it lacks detail on the quote's validity or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise but contains redundancy (the first sentence is repeated). The parameter list is well-structured with @param tags. Minor duplication could be removed for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's role in a two-step process (quote then withdraw) and identifies the next step. However, it does not describe the output schema contents (e.g., quote_id, expiry, fees) even though an output schema exists. Overall, it is nearly complete for a quote-generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description provides thorough explanations for all 5 parameters, including the distinction that account_fk is a database ID not an account address, the source of provider_id, and the currency of amount. This adds significant value beyond the basic schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a withdrawal quote for OTT Mobile providers, specifies that a quote_id is returned for use with /withdraw/to_ott, and distinguishes it from siblings like withdraw_to_ott (which uses the quote) and withdraw_ott_providers_list (which lists providers).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions that Step2 is generating the quote and that the resulting quote_id should be used with /withdraw/to_ott, providing workflow guidance. However, it does not explicitly state when to use this tool versus alternatives or mention prerequisites like a valid provider_id from the list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources