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.4/5 across 129 of 129 tools scored. Lowest: 1.3/5.

Server CoherenceC
Disambiguation2/5

With 129 tools, there is significant overlap, particularly among fund transfer methods (account_send, account_wire, crypto_spend, withdraw_to_bank, etc.). Descriptions help but do not fully resolve which tool to use for a given scenario, leading to possible misselection.

Naming Consistency3/5

Tools follow a prefix pattern (netfluid__, paywall__) and use underscores, but conventions vary: some are verb_noun (account_send), others noun_verb (fund_banks), and there are duplicates (email and send_email). The mix of styles reduces consistency.

Tool Count1/5

129 tools is far beyond the typical well-scoped range (3-15). This suggests overly granular API design, making it hard for agents to navigate and select appropriate tools efficiently.

Completeness4/5

The toolset covers a broad range of financial operations: wallet management, crypto, bridges, funding, withdrawals, and paywall subscriptions. Minor gaps exist (e.g., no account deletion or subscription cancellation), but overall the surface is reasonably complete for the domain.

Available Tools

131 tools
netfluid__access_pauseBInspect

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?

With no annotations, the description carries full burden. It states the tool blocks access and requires admin, but fails to disclose side effects, reversibility, or impact on ongoing operations. The term 'temporarily' hints at reversibility but lacks detail.

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 but contains redundancy (first two sentences repeat). The @param structure is clear. Could be tightened by removing the first 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?

Despite having an output schema (per context), the description does not explain the temporary nature, how to resume, or error conditions. It covers only the basic action, leaving gaps for confident 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%, so description must add value. It explains api_key as requiring admin privileges, useful context. For wallet_fk, it only restates the parameter name without additional constraints, providing minimal extra meaning beyond 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 temporarily blocks wallet access. It uses specific verb 'blocks' and resource 'wallet', and differentiates from siblings like netfluid__access_resume. However, the repetition of the same idea 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?

The description mentions the requirement for admin api_key, which is a prerequisite. It implies use for pausing and resume for unpausing, but does not explicitly state when to use or not use this tool compared to other pause-like tools (e.g., netfluid__account_pause).

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

netfluid__access_platform_assignBInspect

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 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?

Annotations are empty, so the description must disclose behavior. It mentions the assignment makes token retrieval easier but lacks details on side effects, permanence, overwriting, or required permissions. The repeated text does not add 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 is relatively short but contains a redundant repetition of the first two sentences. The @param style is clear but the duplication wastes space. 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?

Given 5 required params, no schema documentation, and no annotations, the description explains the core purpose and some parameters but lacks details on user_id and platform behaviors. The presence of an output schema reduces the need to describe return format, but behavioral completeness is still lacking.

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%, but the description adds @param docs for api_key, token, and wallet_fk, linking them to other endpoints. However, user_id and platform parameters are not described despite being required. The platform is implied from the text, but missing explicit parameter explanation.

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 assigns a wallet_fk to a channel user ID, specifying platforms (discord, telegram, whatsapp). This distinguishes it from sibling tools like netfluid__access_platform_login and netfluid__access_platform_wallet_list.

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 suggests using the tool to associate a wallet with a channel user to facilitate future token retrieval, but does not explicitly state when not to use it or compare with alternatives. The advice to prompt the customer provides some context.

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

netfluid__access_platform_loginBInspect

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

Retrieves a 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 token, it's a shortcut to the 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?

Given empty annotations, the description carries full responsibility. It discloses the single-attempt limit and the consequence of failure, but does not detail token properties (e.g., expiry, format) or other side effects. Some transparency but gaps remain.

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 with two identical sentences at the start. It could be condensed into a single clear statement. The @param and @return are standard but the body 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?

Despite having 2 parameters and no nested objects, the description lacks important context: prerequisites (e.g., wallet existence), token lifecycle, and output details (only says 'json object'). With output schema not provided, the description should elaborate on the return value.

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's @param lines add needed meaning. It clarifies that pin is numeric and 5-digit, and wallet_fk is the identifier. This adds significant value beyond the schema's raw 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 retrieves a token using wallet_fk and PIN, and positions it as a shortcut. It distinguishes from siblings like 'assign' or 'pause' by focusing on token retrieval, but doesn't explicitly contrast with similar tools like netfluid__session_2_token.

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 a critical usage constraint: only one attempt allowed, and failure requires sending the user back to the website. It implies when to use (when you have wallet_fk and PIN), but lacks explicit when-not-to-use or alternatives among siblings.

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

netfluid__access_platform_wallet_listAInspect

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 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

Behavior3/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 discloses the read-only nature (retrieves) and a precondition for success, but does not detail failure modes, authentication, 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.

Conciseness4/5

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

The description is reasonably concise but contains a repeated sentence (first line appears twice). The parameter documentation is well-structured, but could be more tightly 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?

The description covers the core operation and preconditions, but lacks detail on the return value beyond 'a json object'. With many similar wallet list siblings, more specificity on what the JSON contains (e.g., wallet_fk) 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?

Despite 0% schema description coverage, the description includes clear, meaningful explanations for both parameters: user_id is defined as 'the chat, channel user-id specific to this chat customer' and platform lists possible values 'discord, telegram, whatsapp'.

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 retrieves a list of wallets associated with a specific channel and user ID, and explains that the wallet_fk can then be used to get a token. This distinguishes it from other wallet-related sibling tools by the platform-specific 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 provides a precondition: the wallet_fk must have been previously assigned. It also hints at the follow-up action (getting a token). However, it does not explicitly compare with sibling tools like wallet_accounts_list or wallet_assets_list.

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

netfluid__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?

No annotations are provided, so the description must disclose behavioral traits. It mentions returning sensitive data like private key and personal information, but omits security implications, authorization requirements, or error behavior. The incomplete sentence about preference 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 contains repetition ('Recovers the Netfluid wallet's private key from a set of 24 keywords' appears twice) and an incomplete sentence. While not overly long, the structure 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?

The description covers the purpose, output fields, and parameters, but given the sensitive nature of private key recovery, it lacks details on error conditions, security, or prerequisites. The presence of an output schema partially mitigates missing return descriptions.

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 effectively explains both parameters: api_key as the application's key, and words as space-delimited recovery words. This adds critical 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 it recovers the Netfluid wallet's private key from 24 keywords. It provides a specific verb and resource, distinguishing it from siblings like 'access_pause' and 'access_resume', though it does not explicitly differentiate from 'wallet_mnemonic'.

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 lacks explicit guidance on when to use this tool versus alternatives. It mentions 'It's preferable that the person trying to recover' but the sentence is incomplete, leaving context unclear. No when-not or alternative tools are referenced.

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

netfluid__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

Behavior1/5

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

With no annotations, the description carries full burden. The contradictory first line (claiming it blocks access) misrepresents core behavior. Additionally, it fails to disclose what happens if the wallet is already resumed, error conditions, or side effects. This undermines 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 includes a contradictory first line that is not only unnecessary but harmful. The remaining two sentences (parameter descriptions) are concise, but the overall text is not lean due to the misleading opening. Every sentence should earn its place; this one does not.

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 (not shown) and two parameters, the description lacks important context: return format, behavior for already active wallets, error messages, and idempotency. It only covers privilege requirements, leaving significant gaps for an agent to use correctly.

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 add meaning beyond the schema. It does so by explaining the purpose of each parameter: 'api_key: The api key with administrator privileges' and 'wallet_fk: The wallet_fk to resume'. This clarifies their roles effectively.

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 is the opposite of 'Resumes access to a paused wallet' mentioned later. This contradiction severely misleads the agent about the tool's purpose, making it unclear despite the second sentence providing correct intent.

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 states that the endpoint requires an api_key with administrator privileges, offering some guidance on access conditions. However, it does not differentiate from its sibling 'netfluid__access_pause' or specify when to use this tool instead of alternatives like 'netfluid__account_resume' which might also resume access.

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

netfluid__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?

With no annotations, the description must disclose behavioral traits. It only mentions the PIN length constraint and lists parameters. It does not explain side effects, authentication needs, error handling, or response details, leaving significant gaps.

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

Conciseness2/5

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

The description is duplicated, containing two identical paragraphs. It could be condensed to a single sentence. The param descriptions are verbose and 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'. It omits crucial context such as security implications, error scenarios, or any behavioral details that are not covered by annotations. The tool performs a sensitive operation and requires more complete documentation.

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 meaning to all four parameters beyond the schema, clarifying that api_key is an application key, token and wallet_fk come from /access/login, and new_pin must be 5 numeric digits. This compensates for the 0% schema description 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 changes the wallet PIN, specifies the constraint that it must be 5 digits, and provides an example. The purpose is specific and distinct from siblings, as no other tool appears to change wallet PIN.

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 prerequisites mentioned. The description only explains what the tool does, not when to invoke it.

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

netfluid__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

Behavior3/5

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

With no annotations, the description carries the burden. It implies a read-only, non-destructive operation by stating 'public information' and lists return fields, but does not disclose any additional behavioral traits such as authentication 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.

Conciseness4/5

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

The description is concise at two sentences, economically stating purpose and return format. However, the '@return' line is somewhat redundant given the presence of an output schema.

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?

Considering the tool's simplicity, the output schema existence, and low schema coverage, the description provides minimal context. It lists returned fields but omits contextual details like default behavior or error cases.

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 single parameter 'account_fk' is described merely as 'associated with an account_fk', which is redundant with the schema. With 0% schema description coverage, the description fails to add meaningful semantic value beyond the parameter name and type.

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 public information associated with an account_fk' and lists specific fields (address, commodity, currency, type), distinguishing it from many siblings but not explicitly from similar account info 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 netfluid__account_info or netfluid__account_address, leaving the agent to infer usage based solely on the description's scope.

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

netfluid__account_addressCInspect

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

Behavior2/5

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

With empty annotations, the description carries full burden. It indicates validation and read-like behavior but does not explicitly state if it is read-only, if authentication is required, or if there are side effects. The minimal description leaves significant behavioral gaps.

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 and front-loaded with the core action, which is good for conciseness. However, it omits important details that could be included without much bloat, making it too terse for its own good.

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 existence of an output schema, the description does not need to detail return values, but it fails to provide sufficient context about the tool's role among many account-related siblings. The validation purpose is clear, but the overall completeness is lacking.

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 0% coverage, and the description adds no meaning to the single parameter 'account_address'. There are no format hints, examples, validation rules, or constraints provided beyond the parameter 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 the action (validates and verifies existence) and the resource (Netfluid account address), explicitly distinguishing from blockchain addresses. However, it does not differentiate from similar sibling tools like netfluid__account_info or netfluid__account, and the return type is only hinted at as 'a json object' without specifics.

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 netfluid__account or netfluid__account_info. There is no mention of prerequisites, context, or conditions that would help an agent decide to invoke this tool.

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

netfluid__account_aliasAInspect

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) @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 discloses that a confirmation ('yes/no') is required before execution, implying an interactive step. However, with no annotations present, it fails to elaborate on other behavioral aspects like idempotency, permissions, or side effects. The confirmation note is useful 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.

Conciseness4/5

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

The description is structured with a brief initial sentence followed by parameter documentation in a pseudo-JSDoc format. It is moderately concise and avoids unnecessary verbosity, though the repetition of 'Sets a friendly name/alias' is slightly redundant.

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

Completeness3/5

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

The description provides parameter details and a behavioral note about confirmation, but lacks information about return values (only 'json object'), error handling, rate limits, or what happens if the alias already exists. For a simple write operation, 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.

Parameters5/5

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

All four parameters (api_key, token, account_fk, alias) are described with meaningful context beyond the schema. Notably, it clarifies that account_fk is a database ID (not address) and cannot be 0, and advises using unique aliases. This adds significant value since schema coverage is 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 the action ('Sets a friendly name/alias') and the resource ('account'). It also mentions a confirmation step, which adds clarity. However, it does not explicitly differentiate from sibling tools, many of which also involve account operations.

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 other account-related tools like 'netfluid__account_info' or 'netfluid__account_address'. The description lacks context about prerequisites or scenarios.

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

netfluid__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?

Discloses that purchase requires confirmation and debits FIAT balance. No annotations exist, so description carries burden. Lacks details on error conditions, idempotency, 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?

First sentence is repeated unnecessarily. Param listing is structured but not particularly concise. Could be shortened 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?

Output schema exists so return values need not be explained. Covers purpose and parameters, but lacks prerequisites (e.g., sufficient balance) and error scenarios. 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?

Schema coverage is 0%, but description provides meaningful explanations for all four required parameters, including clarifying that account_fk is a database ID not an address. Adds critical context beyond type 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 it purchases a digital asset from FIAT balance, distinguishing from related actions like sell or swap. However, does not explicitly differentiate from sibling netfluid__account_buy_telco.

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 provides no explicit guidance on when to use, prerequisites, or alternatives. No comparison to sibling tools.

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

netfluid__account_buy_telcoBInspect

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

Behavior2/5

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

With empty annotations, the description bears full responsibility for behavioral disclosure. It indicates a confirmation step ('Confirm (yes/no) before executing') but does not clarify whether the tool itself prompts confirmation or requires pre-confirmation. No details on side effects, auth requirements beyond parameters, or response format are provided, despite the output schema existing.

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 ('Purchases airtime by converting currency to minutes and seconds' appears twice). It mixes a narrative opening with docstring-like parameter descriptions, which is functional but not optimally concise. The key constraint (confirmation) is 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?

Given the tool has 5 required parameters, no annotations, and an output schema, the description covers the basic purpose and parameters reasonably well. However, it lacks usage context, behavioral details (e.g., error handling, rate limits), and does not explain the return value beyond '@return: a json object'. The output schema exists but is not leveraged in the 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 input schema has 0% description coverage, but the description compensates with detailed parameter explanations, especially clarifying that 'account_fk' is a database ID (int) not an address, and specifying decimal precision for 'amount'. 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.

Purpose4/5

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

The description clearly states that this tool purchases airtime by converting currency to minutes and seconds, which aligns with the tool name 'netfluid__account_buy_telco'. The mention of 'Confirm (yes/no) before executing' adds specificity. However, the purpose is not explicitly differentiated from sibling tools like 'netfluid__account_buy', though the 'telco' suffix implies the 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?

The description provides no guidance on when to use this tool versus alternatives such as 'netfluid__account_buy' or other account-related tools. There is no mention of prerequisites, exclusions, or contextual triggers.

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

netfluid__account_chargeBInspect

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?

With no annotations, the description bears full responsibility. It discloses PIN requirement and confirmation step, but lacks details on side effects, idempotency, error handling, or rate limits. The return is only described as 'a json object', leaving behavioral gaps for a financial 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, wasting words. The parameter list is clear but could be integrated more smoothly. Front-loading is good, but overall conciseness is average.

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 (7 params, financial charge), the description covers basic actions but lacks details on the confirmation workflow, return value structure (despite output schema existing), and error conditions. 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?

Despite 0% schema description coverage, the description includes @param lines for all 7 parameters, adding useful semantics (e.g., clarifying account_fk is a database ID and not allowed to be 0, and pin is the account PIN). This 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 the tool charges an account using QR-code or NFC card, specifying the verb 'Charges' and resource 'account'. It differentiates from siblings by mentioning the specific method (QR/NFC) and PIN requirement, though it does not explicitly distinguish from similar tools like netfluid__account_pay.

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 'Confirm (yes/no) before executing' but does not explain when to use this tool over alternatives or provide context for when it should not be used. No guidance on prerequisites or exclusions is given.

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

netfluid__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?

No annotations provided, so description carries full burden. It describes a read operation but does not confirm idempotency or side effects. It lacks details on authentication, rate limits, or error handling. The warning about account_fk being an int is helpful 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.

Conciseness3/5

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

The first line is repeated ('Returns detailed account information.' appears twice), wasting words. The parameter documentation is clear but could be formatted more compactly. The structure is adequate 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?

An output schema exists, so return values are covered. However, the description does not explain what 'detailed' entails or when to favor this over other account info tools. It also does not mention that the tool requires prior authentication tokens.

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 clear, detailed explanations for all three parameters, especially account_fk ('database ID not address, may not be 0'). This adds significant meaning beyond the bare schema, compensating for 0% schema 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 detailed account information and balances, using the verb 'returns' and specifying the resource 'account information'. However, it does not distinguish from sibling tool netfluid__account, which may have 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. It does not mention prerequisites, context, or exclusions. The description assumes the agent knows when to call it.

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

netfluid__account_merchant_voucher_issueAInspect

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

Behavior3/5

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

Annotations are empty, so description must carry burden. It mentions it performs a FIAT withdraw and issues a voucher, implying mutation. But lacks details on side effects, irreversibility, or prerequisites beyond 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?

Two sentences plus param docs; efficient and front-loaded with action. Minor redundancy but overall 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?

Covers purpose, params, and condition. Lacks detail on response beyond 'JSON object' and doesn't reference output schema. Missing error handling or relationship to 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?

Schema coverage is 0%, so description adds essential meaning: api_key, token, account_fk (with DB ID and non-zero constraint), amount. Could include units or precision but 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 the action (issue a voucher) and resource (Netfluid voucher) with context of a FIAT withdraw. It distinguishes from sibling tools like quote and redeem, but doesn't explicitly differentiate, so it's slightly lacking.

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 some guidance: 'Only applicable on FIAT balances' and clarifies account_fk is a DB ID not zero. But no explicit when-to-use or alternatives among siblings.

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

netfluid__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

Behavior4/5

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

The description mentions it returns commission and charged amount, and implies a non-destructive quote operation. It lacks explicit statement of no side effects or required permissions, but is sufficient given 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.

Conciseness5/5

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

The description is well-structured with a brief intro, step indication, parameter list, and return type. No unnecessary words, clear formatting.

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 4 required params and existence of an output schema, the description covers purpose, parameters, and return basics. It could detail the output object more, but output schema likely fills that 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?

Schema coverage is 0%, but the description includes detailed @param blocks for all 4 parameters, adding context beyond the schema (e.g., token source, account_fk constraints, amount decimals).

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 performs a quote for issuing a Netfluid voucher as a merchant, using specific verbs and resource. It directly distinguishes from sibling tools like issue and redeem.

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 explains this is step before issuing a voucher, implying when to use it. However, it does not explicitly state when not to use or provide alternative tools.

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

netfluid__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 the description must carry full transparency burden. It only says 'Redeems' implying state change, but provides no details on side effects, idempotency, error behavior, or destructive potential.

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 with a clear action statement followed by parameter details. The account_fk explanation is slightly verbose but helpful. Overall no wasted sentences.

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 parameters, empty annotations, and an output schema (assumed present), the description covers param semantics well but lacks output details beyond 'a json object', and does not address error handling or preconditions.

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, meaningful explanations for all 4 parameters. Notably, account_fk clarifies it's an integer ID not a string address, and voucher_code provides format example. This fully compensates for the schema gap.

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 'Redeems a Netfluid voucher,' which is a specific verb+resource. However, it does not differentiate from sibling tools like netfluid__account_merchant_voucher_issue or netfluid__account_merchant_voucher_quote, though the tool name itself is distinct.

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. It does not mention prerequisites (e.g., voucher must be issued), restrictions, or scenarios where this tool should not be used.

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

netfluid__account_mintAInspect

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?

The description discloses costs, asynchronous nature, and confirmation requirement. However, annotations are empty, so the description should add more detail about potential errors, side effects, or permissions. It provides moderate 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 is somewhat repetitive (the first sentence appears twice) and could be more concise. It is front-loaded with purpose but includes redundant text.

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 (5 params, async, costs) and the presence of an output schema, the description covers the core operation well. It is missing error handling details but is largely 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 does not include parameter descriptions (0% coverage), so the description compensates by explaining each parameter's purpose and default values. This 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?

The description clearly states the tool mints a new account of a specified type into a wallet, mentions confirmation and costs. It is specific about the operation but does not differentiate from sibling tools like netfluid__account or netfluid__account_buy.

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 a 'Confirm (yes/no) before executing' guideline and notes asynchronous behavior, but it lacks explicit guidance on when to use this tool versus alternatives or conditions to avoid.

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

netfluid__account_pairBInspect

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

Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It discloses that the tool assigns a PIN (a mutation) but does not specify whether it overwrites existing PINs, requires special permissions, or has any destructive side effects. The 'Confirm' hint is informal and insufficient for an agent.

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 twice ('Assigns a PIN to an account for use by a QR-Code or NFC card'), wasting space. It is organized with parameter definitions but could be more concise. The repeated line and informal 'Confirm' note reduce 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?

Given the tool has 5 parameters, an output schema (though not detailed in description), and no annotations, the description covers the basic purpose and parameters but lacks behavioral and output details. The return value is only mentioned as 'a json object,' which is insufficient for an agent to interpret results.

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, so the description must compensate. It documents all 5 parameters with explanations: pin format (5-digit numeric), expiry date format (YYYY-MM-DD HH:MM:SS GMT), and general descriptions for api_key, token, and address. However, the address parameter lacks an example format, preventing a perfect score.

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 'Assigns a PIN to an account' and the purpose 'for use by a QR-Code or NFC card.' It is specific about the resource and action, but does not explicitly differentiate from sibling tools like netfluid__account_unlock or netfluid__access_wallet_pin_change, which could also involve PINs.

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 includes a vague note 'Confirm (yes/no) before executing' but does not explain when to use this tool versus alternatives, nor does it provide prerequisites or exclusions. There is no guidance on when not to use it, which is problematic given the many sibling tools.

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

netfluid__account_pauseBInspect

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?

Annotations are empty, so the description carries the full burden. It discloses that the pause is temporary and administrative action is needed to undo. The lock parameter is explained as system locking. However, it omits details about whether inbound funds are still allowed, what error message to expect, or authentication/authorization requirements beyond the API key and token. Transparency is 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 front-loaded with the purpose and warning, but it redundantly repeats the first sentence. The parameter list is clear and structured, but the extra verbosity detracts from conciseness. Could be trimmed to one sentence for the 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?

The tool has moderate complexity with 4 parameters (one optional) and an output schema (not shown). The description covers the action, warning, and parameter meanings, but lacks discussion of error states, handling of invalid account_fk, and does not reference sibling tools like netfluid__account_resume. It is complete enough for basic use 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?

The input schema has 0% description coverage, but the tool description's parameter documentation adds significant meaning: it clarifies that account_fk is a database ID (not address) and cannot be 0, and that lock=1 makes the account system-locked. This compensates well for the bare schema, providing actionable guidance beyond just 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 'temporarily restricts an account from performing any function that would result in funds existing the account.' This is a specific verb+resource with scope. It distinguishes from siblings like netfluid__access_pause (which likely pauses access) by focusing on account-level fund moves. However, the sentence is repeated verbatim twice, slightly undermining 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 warns that the action 'Can only be undone by an administrator' and advises confirmation, giving context on when it's safe to use. However, it does not explicitly state when not to use this tool, nor does it mention alternatives such as netfluid__account_resume for reversing the pause. The guidance is present but incomplete.

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

netfluid__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?

Annotations are empty, so the description must fully disclose behavior. It states the action (charging a transaction fee) and a confirmation step, but fails to mention side effects (e.g., balance deduction, reversibility), authorization requirements beyond token, rate limits, or error states. For a financial transaction, this is insufficient.

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 brief opening line and then a repeated line 'Charges the account a transaction fee.' The @param block is systematic but takes up space. Some redundancy (same line twice) reduces conciseness. It is adequate but not lean.

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 (e.g., netfluid__account_charge, netfluid__account_send, netfluid__account_pause), the description lacks contextual differentiation. It does not explain what distinguishes this 'pay' action from similar account operations. An output schema exists but is not referenced. Incomplete for complex domain.

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 with @param explanations for all 5 parameters. It clarifies that account_fk is a database ID (not an account address), and token comes from /access/login. These add meaning beyond the raw schema types and requirements, enabling correct invocation.

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 'Charges the account a transaction fee.' The verb 'charge' and resource 'account' are specific, and it identifies the charge as a transaction fee, which adds purpose beyond the name. However, it does not distinguish this from sibling tools like netfluid__account_charge, which may also charge the account for other reasons.

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. The mention 'Confirm (yes/no) before executing' hints at a procedural step but does not clarify appropriate usage contexts or exclusions. Sibling tools like netfluid__account_charge, netfluid__account_buy, etc., are not referenced, so the agent lacks decision support.

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

netfluid__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?

With no annotations provided, the description carries full burden for behavioral disclosure. It reveals that the operation is irreversible by the user (requires admin to undo) and implies a confirmation step. Yet it omits details about error handling, preconditions (e.g., account must be paused), and specific permissions required.

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 core sentence appears twice. While the parameter documentation is structured with @param tags, the duplication wastes space. The return type is minimally documented as 'a json object'. The description 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?

The description covers the primary purpose and parameter semantics but lacks details on expected output, error scenarios, and whether the account must already be paused. Given the tool has no annotations and an output schema is present but not described, the description is insufficient for an agent to fully understand the tool's behavior.

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 zero documentation, so the description adds crucial meaning for all three parameters. It explains the source of 'api_key' and 'token', and provides detailed guidance for 'account_fk', distinguishing it from an account address and specifying it must be an int not zero. 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 action: 'Resumes full trading capability for an account that has been previously paused.' It uses a specific verb ('resumes') and resource ('account'), and it distinguishes itself from sibling tools like 'netfluid__account_pause' by referencing the opposite state.

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 that the action 'can only be undone by an administrator' and that the user should 'confirm (yes/no) before executing,' providing important contextual warnings. However, it does not explicitly state when to use this tool versus alternatives or provide any exclusion criteria.

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

netfluid__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?

No annotations provided, so description must cover behavioral traits. It discloses the confirmation requirement but lacks details on side effects, permissions, or prerequisites. Adequate but not comprehensive.

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 a redundant repetition of the first sentence. JSDoc style adds structure but could be more concise. Adequate but has room for improvement.

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 only states '@return: a json object' without further details. With 5 parameters and no output specification, the description is somewhat incomplete. No info on error cases or return 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 description compensates by explaining all 5 parameters. Provides clear context, especially for account_fk (distinguishing from address). Some descriptions are minimal but sufficient.

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 the tool sells a digital asset and returns proceeds to FIAT balance. This distinguishes it from sibling tools like account_buy and 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 Guidelines3/5

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

Mentions a confirmation step ('Confirm (yes/no) before executing') but does not provide explicit guidance on when to use this tool versus alternatives or any exclusions.

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

netfluid__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

Behavior3/5

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

With no annotations, the description partially discloses behavior: it explains the conversion to destination currency, cross-wallet capability, and optional beneficiary saving. However, the mention of 'Confirm (yes/no) before executing' is vague—does it require a second call? No details on potential destructive effects or authentication requirements beyond the parameter list. Overall, adequate but not complete.

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 repetitive content (two near-identical paragraphs) that could be merged. The param block is well-structured but adds length. While not excessively long, the repetition wastes space. The structure is logical 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?

Given no annotations, 8 parameters, and an existing output schema, the description fails to explain the return value beyond 'a json object'. The confirmation behavior is left unclear. For a financial transfer tool, more detail on response format, error handling, and confirmation workflow is needed to be 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?

The description includes a detailed @param block that explains all 8 parameters, clarifying key distinctions (e.g., account_fk is a database ID, destination is an address string, save is boolean). Since schema description coverage is 0%, the description fully compensates, providing essential 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 'Sends FIAT from this account to another Netfluid account', specifying the action, resource, and destination. It distinguishes from sibling tools like netfluid__account_buy or netfluid__account_wire by focusing on inter-account FIAT transfer. The mention of 'Confirm (yes/no)' adds slight ambiguity 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?

The description does not provide guidance on when to use this tool over alternatives. There is no indication of prerequisites, limitations, or comparison with similar tools like netfluid__account_wire or netfluid__account_pay. The feature descriptions (save as beneficiary, cross-wallet) are present but no strategic usage advice.

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

netfluid__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?

Despite empty annotations, description discloses charging, geographical restrictions, delivery uncertainty, and charing per 160 characters, offering good 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.

Conciseness4/5

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

Description is detailed with structured parameter list, but could be slightly more concise; still effectively presents info in readable format.

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 usage destinations, charging mechanism, parameter details, and return type; could mention output schema specifics but otherwise 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?

With 0% schema coverage, description fully compensates by explaining each parameter's purpose, format, and constraints (e.g., account_fk type and source, mobile format, message charging).

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 the verb 'sends' and resources 'Mobile SMS' and 'account', with additional context about charging and confirmation.

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?

Specifies limited destinations and non-guaranteed delivery, providing clear usage context; lacks explicit alternatives but sufficiently guides when to use.

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

netfluid__account_statementBInspect

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

Behavior2/5

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

Annotations are empty, so description bears full burden. Does not disclose whether the call is read-only, has side effects, rate limits, or authentication requirements beyond parameter names. No behavioral traits beyond '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.

Conciseness4/5

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

Front-loaded with purpose, then clearly structured parameter list. Somewhat verbose but each sentence adds value. No redundancy.

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 documentation is thorough, but return value description is minimal ('a json object'). With output schema existing but not described, agent lacks knowledge of response structure. Missing details on expected 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?

Schema description coverage is 0%, but description documents all 5 parameters with type hints, defaults, and context (e.g., account_fk is DB ID, start_date format). Adds significant meaning beyond 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 detailed account FIAT statement from a start date. Specific verb 'returns' and resource 'account FIAT statement'. Does not explicitly differentiate from siblings like account_info or accounts, but the FIAT focus is distinct.

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 retrieving account statements with date range and row limit. Provides default values but no explicit guidance on when to use vs 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.

netfluid__account_swapBInspect

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

Behavior2/5

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

With no annotations, the description carries full disclosure burden. It reveals the need for confirmation and FIAT handling, but omits security, rate limits, error states, or reversibility. The behavioral disclosure is insufficient for a swap tool.

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 but contains redundancy ('Swaps one digital asset for another on an account level' appears twice). The Javadoc block is structured but could be more streamlined.

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 7 parameters and 6 required, the description provides no detail about the return value beyond '@return: a json object'. No output schema is provided, so the description should hint at return structure (e.g., transaction ID, status). This gap makes it incomplete for a complex financial operation.

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 explaining all parameters in Javadoc style, including that account_fk is a database ID, note is optional, and 0 represents FIAT. This adds significant meaning beyond the schema's type-only properties.

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 swaps digital assets on an account level and explains the FIAT representation via 0. However, it does not differentiate from sibling swap or buy/sell tools (e.g., netfluid__crypto_swap, netfluid__account_sell).

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,' implying an interactive step, but provides no explicit guidance on when to use this tool versus alternatives like netfluid__crypto_swap or netfluid__account_sell. Usage context is only implied.

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

netfluid__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?

No annotations are present, so the description carries full burden. It states the tool returns a JSON object and that the data is typically static, but does not disclose authentication requirements (api_key), rate limits, idempotency, or side effects. The minimal disclosure hinders an agent's ability to anticipate behavior.

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: 'Lists all account types' appears twice. It front-loads the core purpose, but the repetition wastes space. It could be reduced to a single clear sentence with optional details following.

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 (one param, no output schema details needed), the description is minimally adequate. However, it lacks context like typical use cases, response format, or notes about the static nature of the data. An output schema exists but is not referenced.

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, so the description must compensate. It defines api_key as 'The api key allocated to your application', adding meaning beyond the raw schema (which only specifies type string). However, it does not indicate whether the key should be from a specific scope or provide format validation.

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 lists all account types and notes they are typically static information. However, it does not explicitly differentiate from sibling tools like netfluid__accounts (which likely lists actual accounts) or netfluid__account (which may get details for a specific account). The repetition of 'Lists all account types' adds no new 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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or scenarios where another tool would be more appropriate (e.g., when needing detailed account info vs. just types).

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

netfluid__account_unlockAInspect

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

Behavior4/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 the specific state change (status_fk from 10 to 1), the need for admin privileges, and a required confirmation step. This provides meaningful behavioral context, though it could mention reversibility 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 contains redundancy: 'Unlocks a locked account' appears twice. While it is not overly long, the repetition and the @param formatting (which duplicates info) could be streamlined. It is functional but 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 tool's simplicity (3 params, no nested objects, output schema exists), the description covers the status transition, parameter details, and confirmation requirement. It lacks output specifics beyond 'a json object' and doesn't mention error cases, but overall it is mostly 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?

The input schema has 0% description coverage, so the description fully compensates by detailing each parameter: api_key requires admin privileges, token comes from /access/login, and account_fk is a database ID (not address) that cannot be 0. This adds crucial meaning 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.

Purpose5/5

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

The description clearly states 'Unlocks a locked account (from status_fk=10 to status_fk=1)'. The verb 'unlocks' and resource 'account' are specific, and the status change distinguishes it from sibling tools like netfluid__account_pause or netfluid__account_resume.

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 implies the tool is used when an account is locked, and explicitly mentions a confirmation step ('Confirm (yes/no) before executing'). However, it does not explicitly state when not to use this tool or provide alternatives among siblings, which would improve guidance.

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

netfluid__account_wireBInspect

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

Behavior2/5

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

With no annotations, the description should fully disclose behavioral traits. It mentions a confirmation step and conversion, but omits critical details like balance deduction, required permissions, or potential failures (e.g., insufficient funds).

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 paragraphs overlap) and includes unnecessary text. The param list is structured but the introductory parts could be condensed.

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 and financial nature, the description covers parameter meanings but lacks context on prerequisites (e.g., account state, balances) and fails to distinguish from similar tools. The output schema exists, so return values are not needed, but completeness is still moderate.

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 descriptions add meaning: account_fk is clarified as a database ID, digital_asset_fk uses 0 for FIAT, and note is optional. This significantly aids parameter understanding 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?

The description clearly indicates it sends FIAT or digital assets to a blockchain address, with FIAT conversion mentioned. However, it does not explicitly distinguish from similar sibling tools like netfluid__account_send or netfluid__withdraw, 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?

The description provides context like FIAT conversion and account-blockchain association, but lacks explicit guidance on when to use this tool versus alternatives. No when-not or alternative recommendations are given.

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

netfluid__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?

Annotations are empty, so the description must disclose behavioral traits. It does not mention side effects, cost, rate limits, or whether the call is read-only. The return type is stated as 'a json object' but no details on possible failures or errors.

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 and uses a JSDoc-like structure. It is relatively concise, but the key sentence 'Performs a Gemini AI prompt' could be more precise. The param and return lines add structure, but front-loading of core purpose is minimal.

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 4 required parameters, empty annotations, and an output schema that exists but is not detailed in the description, the description provides basic information but lacks depth. No information on authentication steps beyond parameter hints, or on expected response structure.

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 compensates with @param lines. Each parameter gets a brief explanation (e.g., 'The api key allocated to your application'), which adds some meaning beyond types. However, no examples, formats, or constraints 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 states 'Performs a Gemini AI prompt' which clearly indicates the tool sends a prompt to Gemini AI. The verb 'performs' is slightly vague but the resource (Gemini AI) is explicit. Among many financial sibling tools, this is distinct, but the description does not highlight differences.

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. There are no prerequisites or contextual usage hints beyond parameter descriptions. The tool could be used for any Gemini interaction, but no exclusions or alternatives are mentioned.

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

netfluid__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, the description provides key behavioral details: wallet is minted with Solana, requires a human KYCed sponsor, process takes up to 30 seconds, and the agent must save wallet_fk and PIN. It also explains consequences of sponsor not being KYCed. This is more transparent than average.

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 long and contains duplicated paragraphs. The narrative and @param sections could be streamlined. Several sentences are repeated verbatim, wasting tokens and reducing readability.

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 the tool's purpose, required inputs, behavioral notes, and important post-use actions (save wallet_fk and PIN). Since an output schema exists, detailed return values are not needed. Minor omissions: no mention of error scenarios or prerequisites beyond sponsor KYC.

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 description includes detailed @param explanations for all 7 parameters, including format constraints (e.g., 5-digit PIN, e164 for mobile), suggestions for 'secret', and defaults for 'currency_fk'. This fully compensates for the missing 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 'Automated signup for autonomous agents' and explains that this tool creates a wallet for an AI agent. It distinguishes itself from sibling tools like 'automated_signup' by specifying that it is for autonomous agents rather than human wallets.

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 when to use (when an agent needs its own wallet and bank accounts) but does not explicitly state when not to use or compare with alternatives. It mentions the process takes up to 30 seconds, which is helpful, but lacks direct guidance on choosing this tool over siblings.

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

netfluid__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

Behavior3/5

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

Annotations are empty, so description carries full burden. It discloses the process can take up to 30 seconds and mentions the KYC follow-up. However, it does not detail side effects like account creation, idempotency, or potential failures beyond time.

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 somewhat lengthy due to parameter details but well-structured with @param tags and clear sections. Front-loaded with purpose. One redundant sentence ('Automated signup for new customers.' appears twice). Still effective.

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 and presence of an output schema, the description covers the signup workflow, parameter details, and post-signup actions. Could mention output fields or error scenarios, but overall sufficient.

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 has 0% description coverage, but the description provides detailed semantics for each parameter: secret (min 8 chars, unique, generation suggestion), pin (5 digits, use meaningful numbers), mobile (e164 format), currency_fk (logic based on nationality). 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.

Purpose4/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 positions it as the preferred method for signing up human customers. It does not explicitly differentiate from the sibling 'netfluid__signup' but implies a distinction by calling this one 'automated'.

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 states to use as preferred method for signup, and provides follow-up instructions: direct customer to KYC URL, and if more tries needed, use 'wallet_kyc_session_create'. Provides clear when-to-use and alternative.

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

netfluid__beneficiaries_listCInspect

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, and the description only states 'returns a json object'. It does not disclose whether the operation is read-only, what side effects occur, or any authentication requirements beyond parameter hints.

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 lines are identical repetitions. The parameter descriptions are inserted with @param annotations but are not well-structured. The overall description is longer than necessary without adding proportional value.

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 parameter count (4) and no annotations, the description misses key context: relationship to sibling beneficiaries tools, authentication flow, and return format details (output schema exists but is not referenced). The description is minimally 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?

Schema coverage is 0%, so the description must compensate. It explains the meaning of wallet_fk and account_fk, including that account_fk can be 0 to return all wallet beneficiaries. However, the explanation is verbose and somewhat repetitive, and api_key/token are barely described.

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 'Lists all beneficiaries on this wallet or on this account', which clearly indicates the tool's purpose of retrieving beneficiaries. It differentiates from siblings like netfluid__beneficiary_add and netfluid__beneficiary_remove, though it is ambiguous whether it lists by wallet or 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 over alternatives like netfluid__beneficiaries or netfluid__wallet_accounts_list. The description does not mention prerequisites or context for invocation.

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

netfluid__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 are provided, so the description carries full burden. It only lists parameters and their meanings but does not disclose side effects, idempotency, rate limits, or authorization requirements beyond what is implicit in 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 repeats the first line unnecessarily. The parameter list is long but necessary given 8 parameters. Could be more concise, but structure is clear.

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?

All parameters are explained, but the return value is only described as 'a json object' which is insufficient. Behavioral aspects like error responses, idempotency, or duplication handling are missing. For a complex tool with 8 parameters, completeness is adequate but not thorough.

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 compensates fully by explaining each parameter's purpose and constraints (e.g., 'may not be 0', '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 the tool creates a beneficiary on a wallet or account. However, it does not differentiate from sibling tools like netfluid__beneficiaries_list or netfluid__beneficiary_remove.

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 some guidance on when to use wallet_fk vs account_fk, but no explicit instructions on when to use this tool versus alternatives, nor any prerequisites or error conditions.

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

netfluid__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?

The description is contradictory (delete vs create). Annotations are empty, so the description should be clear. It fails to disclose whether the action is destructive or not, and the behavior is ambiguous.

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 and contains contradictory statements. The first two sentences directly conflict, wasting space. Parameter docs are helpful but poorly integrated.

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 4 required params and an output schema (not shown), the description should clarify input constraints and return value. It only partially explains parameters but fails to resolve the core inconsistency. The output schema existence is not leveraged.

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 description provides parameter explanations (e.g., 'account_fk is a database ID not an account address'), which adds some value beyond the schema given 0% schema description coverage. However, the contradictory overall purpose undermines the semantics.

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 directly contradicts itself: the first line says 'Deletes a beneficiary' while the second line says 'Creates a beneficiary'. This makes the tool's purpose ambiguous and misleading. The title is null, so the description is the only source of purpose.

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?

No guidance on when to use this tool vs alternatives like 'netfluid__beneficiary_add' or 'netfluid__beneficiaries_list'. The description does not specify deletion or creation context, making it impossible to distinguish from siblings.

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

netfluid__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?

With no annotations, the description carries the full burden. It mentions a confirmation step and warns that only USDC is supported, with other tokens at risk of loss. This adds some behavioral context but does not cover idempotency, side effects, or failure modes. The description is adequate but not comprehensive.

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 (the first two lines say the same thing). The inclusion of 'Confirm (yes/no) before executing' is ambiguous and adds confusion. The @param section is well-structured but could be more concise overall.

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 8 parameters and no annotations, the description lacks details on prerequisites, error handling, output schema specifics, and what happens on success. It only states 'return: a json object'. The warning about tokens is useful, but overall completeness is low given the tool's complexity.

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 lines compensate well. They explain each parameter's purpose, give possible values for 'blockchain' and 'currency', and clarify that 'account_fk' is an int. This 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.

Purpose5/5

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

The description clearly states it creates a blockchain-to-blockchain bridge, which is the specific verb-resource combination. It differentiates from siblings like bridge_delete, bridge_list, and bridge_rename by focusing on creation. The supported token restriction is also mentioned, enhancing clarity.

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 implies usage for bridge creation but does not explicitly provide when-to-use vs alternatives. It mentions a confirmation requirement but lacks detailed guidance on prerequisites or conditions. However, the verb 'Creates' clearly indicates the action, and sibling names suggest separate tools for other bridge operations.

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

netfluid__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

Behavior3/5

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

The disclosure 'Deactivates' indicates a destructive action, and the confirmation note suggests a non-immediate execution. However, without annotations, the description lacks details on reversibility, side effects, or authorization needs.

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 efficient but contains a repeated line 'Deactivates the Bridge' both in the first sentence and as a header. The parameter list is clear, but the redundancy could be removed for greater 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 description notes a JSON return but does not explain the structure or success/error indication. Given the presence of an output schema, this is acceptable but leaves the agent guessing about response handling.

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 @param lines provide clear guidance on where to obtain each value (e.g., 'token: The wallet_api_token provided by /access/login'), adding 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.

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' using a specific verb and resource. It is distinct from sibling tools like bridge_list and bridge_rename, though it could further clarify what 'Bridge' refers to in this context.

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 'Confirm (yes/no) before executing', implying user interaction, but does not specify prerequisites, when to use versus alternative bridge tools, or required prior steps like retrieving the external_account_id from /bridge/list.

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

netfluid__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 the description carries the full burden. It describes the tool as a read operation (returns bridges), but does not disclose authorization requirements, rate limits, or potential side effects. No contradictions, but lacks behavioral details 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.

Conciseness3/5

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

The description is somewhat repetitive (first paragraph then similar second), but overall length is acceptable. It uses a structured parameter format, though it could be more concise by avoiding 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?

Given the presence of an output schema, the description does not need to detail return structure. It covers the core functionality and parameters, but lacks information on pagination, errors, or edge cases. Adequate but not exhaustive.

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 adds significant meaning: it explains each parameter's role, clarifies that account_fk is a database ID (not an address) and cannot be 0, and lists possible values for transfer_type. This goes well beyond the raw 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 returns bridges based on transfer_type, explaining the three types (on-ramp, off-ramp, blockchain) and their aliases. This distinguishes it from sibling tools like netfluid__bridge_blockchain or netfluid__bridge_off_ramp_ach_wire, which focus on specific types.

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 the tool is for listing bridges and notes that bridges are only available on blockchain accounts, but it does not explicitly state when to use this tool over more specific siblings. There is no mention of when not to use it or alternatives, leaving the agent to infer usage from context.

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

netfluid__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

Behavior3/5

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

Annotations are empty, so description carries full burden. It notes a confirmation step but lacks details on mutability, permissions, or consequences. Parameter source hints exist in param docs but not in main description.

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 (same sentence twice), mixes purpose with parameter docs, and is unnecessarily long. Key info appears first but structure could be optimized for quick scanning.

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 semantics are well covered, but missing high-level context: return value details (only 'a json object'), error handling, or workflow overview. Output schema exists but is not used to supplement.

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 documenting all 16 parameters with meaning, valid values, and defaults (e.g., destination_rail possible values). Some descriptions are basic but sufficient.

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 creates a blockchain-to-FIAT off-ramp in the USA for ACH/WIRE networks. It differentiates from sibling tools like netfluid__bridge_off_ramp_sepa by specifying geography and rail.

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., SEPA off-ramp, on-ramp). The mention of 'Confirm (yes/no) before executing' is a warning but not an explicit usage condition.

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

netfluid__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

Behavior3/5

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

Annotations are empty, so description must provide behavioral insight. It includes 'Confirm (yes/no) before executing', indicating required user confirmation. However, it does not disclose side effects, failure modes, or whether the operation is asynchronous.

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 front-loaded with the purpose and includes a well-organized parameter list. However, the first sentence is duplicated, adding slight 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 complexity (19 parameters, 14 required), the description covers all parameters and notes the return type. It lacks error handling or output schema details, but an output schema exists.

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 with detailed explanations for all 19 parameters, including conditional logic (e.g., first_name/last_name vs business_name) and type clarifications (e.g., account_fk is int, not string).

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 ('creates'), the resource ('blockchain (USDC) to FIAT off-ramp'), the geographic scope ('Europe'), and the bank account type ('SEPA'). It distinguishes from sibling tools like netfluid__bridge_off_ramp_ach_wire and netfluid__bridge_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 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 (e.g., netfluid__SEPA or netfluid__bridge_off_ramp_ach_wire). No mention of 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.

netfluid__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?

Discloses need for user confirmation and the limit of one virtual account per payment rail. However, with no annotations, the description does not cover aspects like idempotency, permission requirements, or cost implications.

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. While the @param block is clear, it could be more concise without loss of 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?

Given 9 parameters, no schema descriptions, and no annotations, the description covers essential parameter details and the return type (a json object). It lacks error handling or flow prerequisites but is adequate for an agent to invoke.

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 thoroughly documents each parameter with explanations, constraints (e.g., account_fk is int not address), and possible values for blockchain, currency, source_rail. Adds significant value beyond the raw 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?

Clearly states 'Creates a virtual account (SEPA/ACH/WIRE) to blockchain bridge.' The verb 'creates' and resource 'virtual account...bridge' are specific. Differentiates from sibling off-ramp tools which handle the reverse direction.

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 mentions 'Confirm (yes/no) before executing' but no guidance on when to use this vs other bridge tools (e.g., netfluid__bridge_off_ramp_ach_wire) or alternatives. No explicit context for selection among siblings.

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

netfluid__bridge_renameAInspect

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?

With no annotations, the description carries full burden. It adds only that confirmation is required, but doesn't clarify if confirmation is a parameter or separate step, nor disclose permissions, side effects, or error states.

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 ('Changes the Bridge's descriptive name.' appears twice). The parameter section is well-ordered 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?

Output schema exists, so return type is covered. Human explanation is vague ('a json object'). The confirmation mechanism is unclear (no confirm parameter in schema). For a simple rename, it's adequate but leaves 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?

Schema has 0% description coverage, so the @param documentation adds crucial meaning beyond names/types. Each parameter is briefly explained, e.g., 'api key allocated to your application'. Could be improved with format constraints for alias.

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', a specific verb+resource. It distinguishes from siblings like bridge_list (listing) and bridge_delete (deletion).

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 a prerequisite by mentioning 'found on /bridge/list' for external_account_id, but no explicit when-to-use, when-not-to-use, or alternative tools. The confirmation note is ambiguous.

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

netfluid__commodity_typesBInspect

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?

No annotations exist, so the description carries full burden. It only mentions it returns a JSON object but omits details on side effects, authentication expectations (api_key required but not described beyond schema), rate limits, or other behavioral traits.

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 main description is repeated verbatim ('Returns all authorised commodities' appears twice), which is redundant and wastes space. While the @param line is useful, the duplication 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?

Despite having an output schema, the description lacks behavioral transparency and usage context. For a simple list tool, it partially suffices but leaves gaps in when to use it and what constitutes an 'authorised commodity'.

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 explicitly explains the api_key parameter: 'The api key allocated to your application'. This adds meaning 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.

Purpose5/5

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

The description clearly states it returns all authorised commodities, using a specific verb ('Returns') and resource ('all authorised commodities'). It distinguishes from the sibling tool 'netfluid__commodity', which likely deals with a single commodity.

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 'netfluid__commodity', 'netfluid__currency_types', or other listing tools. 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.

netfluid__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

Behavior2/5

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

Annotations are empty, so description carries full burden. It mentions returning a JSON object but does not disclose any side effects, authorization requirements, or limitations. Behavioral traits are minimally addressed.

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, but the first sentence lacks a period and the second starts lowercase, indicating minor formatting issues. Nonetheless, it is efficient with no wasted words.

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 is somewhat incomplete: it mentions a 'referenced_tools' schema without explanation. Still, it conveys the core purpose adequately.

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 adds no parameter information, but none is needed. 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 it provides a link to compliance procedures and documentation, with a verb 'Provides' and resource 'compliance procedures'. It also mentions it gives reference information in a schema, distinguishing it from unrelated 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 on when to use this tool versus alternatives. Siblings include similar informational tools like netfluid__about, netfluid__privacy, netfluid__terms, but the description does not differentiate or specify scenarios.

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

netfluid__crypto_balanceCInspect

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?

With no annotations, the description must disclose behavioral traits. It only states it returns a balance, but does not mention that it is read-only, requires authentication, or any side effects. The parameter descriptions imply auth but do not explicitly state behavior.

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 but contains a duplicated first sentence ('Returns a crypto wallet address balance associated with an account_fk' appears twice), wasting space. The parameter docs are structured but the repetition detracts.

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 does not explain the output schema beyond 'a json object', leaving the agent uncertain about response structure. For a balance tool, fields like amount, currency, and address are important. Additionally, no blockchain network context is provided.

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 each parameter's purpose (api_key as allocated key, token as wallet_api_token, account_fk as database ID) adding value beyond the schema. This compensates well for the lack of schema documentation.

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 'Returns' and the resource 'crypto wallet address balance associated with an account_fk', distinguishing it from siblings like netfluid__crypto_token_balance. However, it could be more specific about the type of balance (native vs token).

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 netfluid__crypto_token_balance or netfluid__crypto_info. No context or prerequisites are mentioned beyond parameters.

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

netfluid__crypto_blockchainsAInspect

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

Behavior3/5

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

Description indicates a read operation ('list') but does not explicitly declare it as idempotent or side-effect-free. With no annotations, the burden falls on the description; it lacks details on authentication requirements beyond api_key, rate limits, or any possible side effects. The 'list' verb implies safe reading, but explicit confirmation would improve 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 contains redundancy: the same statement about listing blockchains appears twice. The docstring-style param and return annotations add structure but the repetition could be removed. It is not overly long, but could be more succinct.

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 tool is simple with one parameter and an output schema (present). The description explains the purpose and the returned blockchain_fk for later use, which is sufficient context. The presence of an output schema relieves the description from detailing return structure, making it complete enough for the task.

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 only parameter, api_key, is described as 'The api key allocated to your application,' which adds meaning beyond the schema's bare type specification. Since schema coverage is 0% but the description covers the parameter thoroughly, 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?

Description clearly states 'List all the system supported blockchains' with a specific verb and resource. It explains the output provides a blockchain_fk for later use, differentiating it from sibling tools like netfluid__crypto which likely deals with broader crypto operations. However, it could be more explicit about the exact meaning of 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 Guidelines3/5

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

Implicitly suggests using this tool to get a blockchain_fk for subsequent operations, but does not explicitly state when to use this tool vs alternatives like netfluid__crypto_digitalassets. No exclusion criteria or prerequisites beyond the api_key parameter.

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

netfluid__crypto_dex_swapBInspect

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 the description carries the full burden. It discloses DEX fees, unsupported token behavior, and a confirmation step. However, it lacks details on side effects, idempotency, rate limits, or network specificity, leaving gaps for safe agent usage.

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 some duplication (first line repeated in second paragraph) and could be more streamlined. The use of @param blocks is structured, but overall length could be reduced 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?

Covers basic swap operation, fees, and unsupported tokens. With an output schema present, return value detail is not required, but missing aspects like slippage, gas fees, or error handling make it somewhat incomplete for a complex crypto operation.

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 provides meaningful @param explanations for all six parameters, clarifying the account_fk as a database ID and the token addresses. This compensates well for the schema gap.

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 swaps a token for another using a DEX, and distinguishes it from digital assets. However, it doesn't explicitly differentiate from sibling swap tools like netfluid__crypto_swap or netfluid__account_swap, 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 guidance on when to use this tool vs alternatives. It mentions a confirmation step but doesn't explain when this swap is preferred over other swap methods or tools.

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

netfluid__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 description carries full burden. It only says 'List', implying read-only, but no explicit statement about side effects, permissions, or rate limits. Does not contradict annotations.

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 line twice, making it verbose. It uses a structured @param format but could be trimmed to one line 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?

Output schema exists but description does not list expected fields. It covers required parameters and states return type, but lacks explanation of what 'information' includes. Adequate but not comprehensive.

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 adds value by labeling each parameter. However, descriptions are basic and merely restate parameter names without deeper semantics like allowed values or 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?

Clearly states it lists digital asset information based on blockchain_fk and digital_asset_fk. However, it does not differentiate from siblings like netfluid__crypto_digitalassets or netfluid__crypto_info, which may have similar 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?

No guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description 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.

netfluid__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?

No annotations are provided, so the description carries the full burden. It states 'List all' but doesn't clarify if results are paginated, how many assets are returned, or if the operation is read-only. The return is described only as 'a json object', which 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 repetitive: the first sentence is nearly identical to the second. It includes the confusing and redundant phrase 'also applicable to to_digital_asset_fk'. The structure is not front-loaded and could be reduced to a single clear 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?

Despite the presence of an output schema, the description lacks details about what the returned JSON contains beyond a digital_asset_fk. It doesn't mention authentication requirements or any side effects. Given the large sibling set and the tool's role as a reference list, more context 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?

The input schema has no parameter descriptions (0% coverage), but the description explains that api_key is 'The api key allocated to your application', adding meaningful context. This compensates well for the schema gap.

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 lists all supported digital assets and returns a digital_asset_fk for later use. The verb 'list' and resource 'digital assets' are specific. It implicitly distinguishes from sibling 'netfluid__crypto_digitalasset_info' which likely provides details on a single asset.

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 netfluid__crypto_digitalasset_info or netfluid__crypto. The phrase 'also applicable to to_digital_asset_fk' is confusing and provides no practical usage advice.

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

netfluid__crypto_from_keyAInspect

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 conveys that the tool is read-only ('display only, no action is taken') and explains the priority between mnemonic and private key. However, it does not detail error behavior, response format, or any side effects, leaving gaps.

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 repetition of the first sentence and ends with a truncated phrase ('The suppo'), indicating poor structure. The parameter list is clear but could be integrated more concisely.

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 has 4 parameters and an output schema, the description covers purpose, parameter semantics, and basic behavior. However, it omits details about valid blockchain_fk values, error conditions, and any additional constraints beyond required parameters.

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 with Javadoc comments for all four parameters: api_key, blockchain_fk, private_key, and mnemonic, adding meaning about type ('urlencoded', 'keywords separated by a space') and purpose beyond the minimal 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 'Recovers any blockchain wallet from a private key or mnemonic' and adds 'display only, no action is taken', distinguishing it from sibling tools like netfluid__crypto_balance or netfluid__crypto_swap which perform different 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?

The description provides usage precedence ('use the mnemonic first, private key second') and states that one or the other must be provided, but does not explicitly mention when to use this tool over alternatives or any prerequisites beyond the parameters.

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

netfluid__crypto_infoCInspect

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?

No annotations provided, and the description does not disclose side effects, permissions, rate limits, or read-only status. Repeats the first sentence, adding no behavioral context.

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

Conciseness3/5

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

The description is structured with parameter list, but it contains unnecessary repetition (first two lines identical). It 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?

Given the complexity of sibling tools, the description lacks essential context about when to use, error conditions, and relationship to other crypto info tools. Missing usage guidance.

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 meaning: explains api_key as app key, token as wallet_api_token from /access/login, account_fk as database ID not account address and not 0. This compensates well for 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 that the tool returns a crypto wallet address and balances associated with an account_fk. However, it does not differentiate from sibling tools like netfluid__crypto_balance or netfluid__crypto_token_balance.

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. Missing prerequisites, exclusions, or conditional usage. Many crypto-related siblings exist, so this is a gap.

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

netfluid__crypto_optinBInspect

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

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 mentions a fee ('charge a fee or...') but the sentence is cut off. It does not state whether the operation is destructive, reversible, or requires specific permissions. The 'Confirm' step is mentioned but not detailed, leaving uncertainty about the execution 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 has redundancy (first line repeated), a cut-off sentence about fees, and the param docs are appended as a block. It could be more concise and better structured, but the param docs are helpful and somewhat organized.

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 is moderately complete. It covers purpose, prerequisites, and parameter meanings. However, it lacks details on the confirm step, fee implications, output content (vague 'json object'), and potential side effects, which are important for a tool with no annotations.

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 schema has 0% description coverage, but the description provides detailed explanations for each parameter via @param tags. It clarifies that account_fk is an integer ID not an address, and asset_id can be a contract address. This adds significant value 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?

The description clearly states the action ('Opts the blockchain wallet into a digital asset') and the resource (token). It also mentions the prerequisite nature. However, the 'Confirm (yes/no)' requirement is ambiguous and not fully explained, and the sibling tool 'optout' is not directly contrasted, which would enhance 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 provides context on when to use the tool ('typically required before the blockchain wallet will accept or hold this digital asset'). However, it lacks explicit guidance on when not to use it, what alternatives exist among the many siblings (e.g., optout), and how the 'Confirm' step works or is handled.

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

netfluid__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

Behavior5/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 discloses that the action opts out, requires confirmation, and warns about potential loss of value if balance is not zero. This is excellent transparency.

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 somewhat repetitive (first line repeats), but all content is relevant. Minor redundancy, but overall efficient and front-loaded with key action and warning.

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 number of parameters and complexity, the description covers prerequisites, warning, and parameter semantics. Output schema exists (though not detailed), so the minimal return description is acceptable. Nearly 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 the description adds detailed parameter descriptions. For example, it clarifies account_fk is a database ID and cannot be 0, and asset_id can be found from another endpoint. This adds critical 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 'Opts the blockchain wallet out of holding a digital asset.' and includes a confirmation step. This distinguishes it from siblings like netfluid__crypto_optin.

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 when-not guidance: 'Ensure that the blockchain wallet has a zero balance... before performing this action as value may be lost.' Does not explicitly name alternative tools, but the warning is clear about prerequisites.

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

netfluid__crypto_spendBInspect

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

Behavior2/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 only notes the need for confirmation but does not disclose other important behaviors such as irreversibility, potential fees, authentication requirements, or what happens to the sender's balance. This is insufficient for a financial transaction tool.

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 verbose and contains repetition (the first line appears twice). Parameter descriptions are detailed but could be more compact. It is somewhat structured with @param lines, but the overall length could be reduced 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 description includes a basic '@return: a json object' but since an output schema exists, this is acceptable. However, it lacks context on prerequisite conditions (e.g., sufficient balance, valid destination) and potential errors. For a complex operation with 7 parameters, more holistic context 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?

Input schema description coverage is 0%, so the description must compensate. It provides thorough explanations for all 7 parameters, including how to obtain values like asset_id from other endpoints and how to compute the amount with decimals. This adds significant meaning beyond the raw 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 it spends a digital asset to a destination blockchain address. This differentiates it from sibling tools like netfluid__crypto_swap (swap) and netfluid__crypto_balance (balance check). The verb 'Spends' is specific and the resource 'digital asset to a destination blockchain address' is precise.

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 'Confirm (yes/no) before executing' but does not provide guidance on when to use this tool versus alternatives like netfluid__account_send or netfluid__withdraw. There is no explicit when-not-to or mention of prerequisites, making it difficult for an agent to choose appropriately.

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

netfluid__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?

Annotations are empty, so the description carries the burden. It mentions DEX fees and forced DEX usage, and hints at a confirmation step. But it doesn't detail the confirmation mechanism, success/failure behaviors, or potential issues like slippage. With no annotation support, the disclosure is partial.

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 verbose and contains repetition (e.g., the first and third lines are nearly identical). It mixes behavioral notes with parameter docs. It could be more concise and structured better, e.g., separating usage guidance from parameter definitions.

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 of a swap operation and the presence of an output schema, the description misses critical details like error scenarios, slippage, deadline, and how the confirmation step works (since no confirmation parameter exists). It covers fees and DEX force but remains incomplete.

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%, yet the description provides detailed parameter explanations in pseudo-Javadoc form. It explains that account_fk is a DB ID, not an address, that digital_asset_fk values come from another endpoint, and what each parameter represents. 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.

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 using a DEX on the blockchain. It distinguishes itself from the sibling tool netfluid__account_swap by explicitly directing users to use that for non-DEX swaps. The verb 'swaps' and resource 'digital asset' 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?

It provides clear guidance to use /account/swap for non-DEX swaps, implying when not to use this tool. It also mentions a confirmation step before execution. However, it doesn't explicitly list all scenarios where the tool should or shouldn't be used.

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

netfluid__crypto_token_balanceCInspect

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

Behavior2/5

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

The description indicates a read operation without side effects, but with no annotations, it should disclose more—e.g., error handling, rate limits, or prerequisite authentication. It only clarifies the account_fk parameter type.

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 duplication (first two lines identical) and is longer than necessary. The parameter documentation could be integrated more concisely.

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 parameters and basic purpose, but lacks usage context and behavioral details. Given the presence of an output schema, return value is less critical, but overall completeness is 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?

Schema coverage is 0%, but the description provides detailed explanations for all four parameters, including the distinction between account_fk (database ID) and asset_id (contract address), and references other endpoints for token 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?

The description clearly states it retrieves a token balance on the blockchain using asset_id/contract address. It specifies it can handle tokens not supported by Netfluid, but does not explicitly differentiate from sibling tools like netfluid__crypto_balance, which might retrieve all balances.

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. The mention of 'even those not supported by Netfluid' hints at a use case, but no direct comparison with sibling tools or conditions for use.

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

netfluid__crypto_verifyAInspect

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

Behavior2/5

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

With no annotations, the description bears full burden. It states verification and balance retrieval but omits details on error conditions, required permissions, side effects, or what happens upon failure. The phrase 'if successful' hints at possible failures but does not elaborate.

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 redundant first sentence repeated verbatim. It wastes space without adding value. The @param and @return formatting is acceptable but could be more streamlined.

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 (3 required params, no nested objects) and the presence of an output schema, the description adequately covers inputs and basic behavior. However, it lacks examples or details on the output structure, which the schema may fill.

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 provide meaningful explanations (e.g., 'The api key allocated to your application', 'The blockchain_fk of the supported blockchain') beyond the schema's simple types. Schema coverage is 0%, so the description compensates well, though it could include accepted values or format hints.

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 verifies a blockchain address and returns its balance. This distinguishes it from sibling tools like netfluid__crypto_balance which likely only retrieves balance without verification.

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 any blockchain address verification but does not provide explicit guidance on when to use this tool over alternatives such as netfluid__crypto_info or netfluid__crypto_balance. No exclusion criteria or context about prerequisites are given.

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

netfluid__currency_cryptoBInspect

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?

Annotations are empty, so the description carries the full burden. It implies a live price retrieval but does not disclose any side effects, latency, error behavior, or whether the data is real-time. The ambiguous term 'based commodity' 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 has a duplicate opening sentence. The Javadoc-like formatting is clear but not elegantly structured. It could be more concise by removing the repetition.

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 no output schema provided and 0% schema coverage, the description is the sole documentation. It covers the basic purpose and parameters but lacks details on return format, error handling, or prerequisites, making it 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?

Despite 0% schema coverage, the description explains both parameters: 'api_key' as allocated key and 'code' with example crypto codes (BTC, ETH, etc.). This adds significant meaning beyond the schema, though it could include format requirements.

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 live price in USD for a crypto commodity, which is specific and matches the tool name. However, it does not distinguish from sibling tools like netfluid__crypto or netfluid__currency_rates, and it contains a duplicate sentence.

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 compared to alternatives. The description only explains what it does, leaving the agent to infer appropriate usage from the tool name alone.

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

netfluid__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?

With no annotations, the description must disclose behavior. It mentions 'live' but does not detail data freshness, rate limits, authentication requirements beyond api_key, or any side effects. 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 brief but contains a duplicate sentence. It is front-loaded but could be more efficient and better structured (e.g., removing repetition).

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 complexity of the sibling tools (many currency-related), the description lacks context for when to choose this tool. No error handling, return value details despite existing output schema, or example usage. Incomplete for discoverability.

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 only parameter api_key is described as 'The api key allocated to your application'. This adds meaning beyond the schema, which had no description. However, it does not explain format or acquisition. Adequate for a single common 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?

The description clearly states it returns a live forex price for a commodity in USD, using a specific verb and resource. However, it does not explicitly distinguish from related sibling tools like netfluid__currency_rates or netfluid__commodity.

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 context provided. The description lacks any usage direction beyond the basic purpose.

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

netfluid__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?

With no annotations, the description carries full burden for behavioral traits. It mentions live pricing and the return of 'our_rate', but does not disclose rate limits, error behavior, authentication details, or whether it is read-only.

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 of the first sentence. It could be more concise by removing the duplicate and front-loading key usage instructions.

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 but is not detailed in the description; the description only mentions 'a json object'. The tool serves a simple purpose, but lack of detail on supported commodities or response structure leaves 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?

The sole parameter api_key is explained as 'the api key allocated to your application', adding basic context. However, with 0% schema description coverage, more detail on key format or acquisition would improve usability.

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 live forex price for a commodity in USD, with specific mention of XAU and XAG in grams. However, it does not differentiate itself from sibling tools like netfluid__currency_forex or netfluid__currency.

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 using 'our_rate' for conversions, but lacks explicit guidance on when to use this tool versus alternatives like netfluid__currency_forex. No when-not-to-use or prerequisites are mentioned.

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

netfluid__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?

Annotations are empty, so the description bears full responsibility for behavioral disclosure. It only states the return type ('a json object') and mentions the api_key parameter. There is no discussion of rate limits, authentication requirements beyond the api_key, idempotency, error conditions, or performance implications.

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 and front-loaded with the purpose, but it repeats 'Returns all system currencies' twice unnecessarily. The structure is acceptable but would benefit from removing duplication and adding more focused 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?

Given the presence of an output schema, the description does not need to detail return values. It covers the single parameter adequately. However, it lacks information on error handling, required permissions, or behavioral traits that would help an agent fully understand the tool's constraints.

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 the api_key parameter: 'The api key allocated to your application'. This adds meaningful context beyond the schema's mere type declaration, clarifying the parameter's purpose.

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 all system currencies', providing a specific verb and resource. However, it does not differentiate itself from sibling tools like netfluid__currency, netfluid__currency_crypto, netfluid__currency_forex, and netfluid__currency_rates, leaving some ambiguity about its exact 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?

No guidance on when to use this tool versus alternatives. The description does not mention any context prerequisites, when not to use, or suggest alternatives among the many sibling currency tools.

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

netfluid__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

Behavior2/5

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

The description says 'Sends email' but does not disclose side effects, rate limits, auth requirements beyond parameters, or failure behavior. Annotations are empty so the description must carry the burden, but it only repeats the 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 and front-loaded, but the first sentence is duplicated, wasting space. The parameter list is well-organized as comments, but the overall structure could be tighter.

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 5 required parameters, no annotations, and many sibling tools (including netfluid__send_email), the description lacks context to distinguish from alternatives. It does not explain the return object beyond 'a json object', despite an output schema being available.

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, including encoding for message (base64 HTML) and format for subject (plain text). This adds significant value beyond the schema, though some details like the source of wallet_fk are missing.

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 verb and resource: 'Sends email to the wallet owner.' This is clear and actionable. However, it does not differentiate from the sibling tool 'netfluid__send_email', 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?

No guidance on when to use this tool versus alternatives like 'netfluid__send_email'. No prerequisites or usage context provided beyond the required parameters.

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

netfluid__feesBInspect

Provide the Netfluid fee structure @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 does not mention read-only nature, required authentication, or any side effects. The tool likely just returns data, but this is not confirmed.

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 to the point, with no wasted words. However, it could be slightly expanded to include usage context without sacrificing 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 minimally complete. It tells what the tool does but not enough for an AI to confidently select it among many siblings without additional context.

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, and schema description coverage is trivially 100%. The description adds no parameter-level detail, but none is needed. The mention of @return is redundant given the output 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 provides the Netfluid fee structure, using a verb and resource. However, it lacks specificity on the scope (e.g., global vs. user-specific fees) and does not distinguish from siblings like netfluid__wallet_fee.

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. With siblings like netfluid__wallet_fee and other fee-related tools, the description provides 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.

netfluid__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?

Empty annotations place full burden on description. The description does not disclose if the tool is read-only, has side effects, or requires specific permissions. It only briefly mentions behavior regarding blank fields and beneficiary references.

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, repeats itself ('Returns a list...'), includes an incomplete sentence ('Payments received... are au'), and mixes top-level description with parameter documentation in an unstructured way.

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 explanations are provided, and output schema exists, but the description lacks details on return value structure, pagination, error handling, and the scope of the list (e.g., whether it's filtered by account).

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 meaningful details for each parameter: api_key (purpose), token (source), and account_fk (type clarification and constraints). This fully compensates for 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 returns a list of bank accounts. However, it does not differentiate from sibling tools that may also return lists, and the description is repetitive.

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 includes instructions like 'Do not display blank fields' and 'Customer MUST provide the reference,' but does not specify when to use this tool versus alternatives or provide context for when it is appropriate.

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

netfluid__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

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 only quotes (no charge), the quote expiration of 10 minutes, currency (ZAR), auto-conversion, and a fee calculation (3.5% + 15% VAT on fee). It does not cover all behaviors (e.g., side effects, authorization requirements beyond params), but adds significant 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 mixes a narrative opening with @param annotations in a single block. It is not overly long but slightly verbose and lacks clear structure (e.g., separate sections). It is adequate but could be more concise and organized.

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 output schema existence, the description only says 'returns a json object' without detailing the quote's fields. It does not cover error conditions, prerequisites (e.g., need a wallet/account), or the quote's content structure. For a quote tool, this is a significant 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?

Schema coverage is 0%, so description must compensate. It provides detailed explanations for each parameter: api_key (application key), token (from /access/login), wallet_fk, account_fk (database ID, not address, from /wallet/accounts_list), and amount (with conversion and fee details). This adds substantial 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 clearly states the tool returns a quote for a VISA/Mastercard card charge, emphasizes it only performs a quote (no charge), and explicitly marks it as 'STEP 1' in the charging process, distinguishing it from the actual charge tool (netfluid__fund_card_recharge) 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 Guidelines4/5

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

The description explains the tool is the first step in charging a tokenised card, mentions the quote is valid for 10 minutes, and implies that subsequent steps involve charging (likely via a sibling tool). However, it does not explicitly state when not to use it or list alternatives beyond the implied context.

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

netfluid__fund_card_rechargeAInspect

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

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 the charge operation, associated fees (3.5% plus VAT), and automatic currency conversion to ZAR. It does not mention idempotency or error conditions, but the parameter documentation is thorough. No contradictions with empty annotations.

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 front-loaded with the main purpose in the first sentence. It includes a parameter list with clear formatting. Some redundancy exists ('STEP 2 Charges...' repeats the first line), but overall it is concise given the amount of necessary detail.

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 7 parameters, no annotations, and output schema existence, the description covers prerequisites, parameter details, fee structure, and confirmation step. It does not describe the return JSON format (though output schema exists) or mention rate limits, but for a financial tool, the provided information is substantial.

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 must fully document parameters. It does: each parameter is described with context, e.g., account_fk 'is a database ID (int) not an account address', wallet_card_id 'can be found with wallet/card_list', and amount includes fee and conversion details. 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.

Purpose5/5

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

The description clearly states 'Charges a tokenised Visa/Mastercard', which is a specific verb+resource. It distinguishes from sibling tools by mentioning prerequisites like using /card/quote and /fund/card_3D_secure_complete, implying it is a second step in a sequence.

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 prerequisites: 'use /card/quote before this end point' and 'The card must have been previously charged using /fund/card_3D_secure_complete'. It also mentions a confirmation step. However, it does not explicitly compare to alternative charge tools like netfluid__account_charge.

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

netfluid__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?

Discloses confirmation requirement ('Confirm (yes/no) before executing') and automatic currency conversion. No annotations exist, so description bears full burden; however, it lacks details on error conditions, idempotency, 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.

Conciseness4/5

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

Front-loaded with purpose, then constraints, then parameter list. Slightly verbose but well-organized; every sentence adds value.

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 core purpose and parameters well, but lacks error handling, prerequisites (e.g., having an account_fk), and the nature of the confirmation step (interactive vs parameter). Output schema exists, so return values are covered.

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 explicit explanations for all 5 parameters (api_key, token, account_fk, pin, mobile). Notably clarifies account_fk as database ID not address, and mobile as South African number, adding critical context.

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 starts with 'Funds an account with an OTT Voucher', clearly stating the verb and resource. It distinguishes from other funding tools by specifying OTT Voucher and geographic restriction to South Africa.

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 usage constraints: 'Only available in South Africa' and 'can only be redeemed against any currency account'. Mentions confirmation step but does not explicitly contrast with sibling tools like netfluid__fund or netfluid__fund_card_recharge.

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

netfluid__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?

Annotations are empty, so the description carries full burden. It mentions the output is a payment reference and describes customer usage, but does not disclose side effects, modification of state, permissions, or idempotency. The sentence 'All payments' is incomplete, reducing clarity.

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, with the same information stated multiple times (e.g., 'Returns a payment reference...' appears twice). It includes an incomplete sentence 'All payments' and 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 the presence of an output schema, the description does not need to detail return values. It covers geographic scope and parameter requirements, but the messy structure and incomplete text make it less than fully 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 includes detailed parameter documentation (e.g., api_key, token, account_fk with clarification that it's an int not string, amount excluding fees, reference as free text). 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.

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 payment reference for Pay@, a point-of-sale integration for retailers in South Africa and Botswana. It distinguishes itself from sibling funding tools by specifically mentioning Pay@.

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 Pay@ funding but does not explicitly compare to alternatives like fund_banks or fund_card. No when-not-to-use guidance is provided, only the general context of Pay@ integration.

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

netfluid__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. It explains the transaction type (funding via PayShap), geographic and currency constraints, and mentions returning bank details. However, it does not disclose side effects, idempotency, or authorization needs beyond parameter requirements.

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 (e.g., 'Funds an account with a PayShap payment' appears twice) and mixes plain text with @param/@return tags. While the information is useful, it could be streamlined.

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 and the presence of an output schema (not shown), the description covers essential context: purpose, regional/currency restrictions, and parameter meanings. It lacks only minor behavioral details but is sufficient for selection and basic use.

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 has 0% field descriptions. The description compensates by explaining each parameter: api_key, token, and account_fk, with a valuable note that account_fk is a database ID, not an address, and cannot be 0. This adds meaning beyond schema data 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 funds an account using PayShap, a South African instant payment method. It distinguishes from sibling fund tools (e.g., fund_banks, fund_card_quote) by specifying PayShap. However, the mention of returning bank details introduces slight ambiguity about the primary 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?

Provides usage context (South Africa, ZAR currency only) but does not explicitly state when not to use or mention alternative tools. Siblings include other fund methods, but no direct comparison or exclusion criteria are given.

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

netfluid__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?

Annotations are empty, so the description carries the full burden. It only states the tool pings and returns a JSON object, with no disclosure about safety (read-only, destructive potential), authentication requirements beyond api_key, or any side effects. For a simple health-check tool, minimal behavioral insight 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 is short but contains repetitive phrasing ('Pings the API' appears twice). It could be more concise by merging the first two sentences. The parameter documentation is structured but basic.

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 low complexity (single parameter, output schema exists), the description provides minimal context about the ping operation's purpose or expected behavior. It does not explain what a successful ping means or how to interpret the JSON response beyond the 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 description coverage, the description adds '@param api_key: The api key allocated to your application', which clarifies the parameter's purpose beyond the schema's type-only definition. This adds meaningful semantic value for one required 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?

The description clearly states the tool does a 'ping' to the API and returns a response object, with a specific verb and resource. While it does not differentiate from siblings, there is no other ping tool in the list, so it is adequately distinct.

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 does it mention prerequisites or exclusions. It simply states the action without contextual usage advice.

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

netfluid__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

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 the voucher is not redeemed (non-destructive), which is critical. However, it omits details on authorization requirements, rate limits, error handling, or what happens on invalid codes. The description adds some value but lacks depth.

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 (two sentences for purpose, plus param and return notes). It front-loads the primary purpose, then clarifies behavioral nuance, then documents the parameter. No unnecessary words.

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 (context signal: true), the description's minimal return note ('a json object') is acceptable. The description covers the key behavioral aspect (validation only) and parameter format. It could add typical response keys or error scenarios, but for a simple tool it is fairly 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 description must compensate. It adds format information: 'format is 4 sets of integers, e.g. 1234-4321-1234-4321', which goes beyond the schema (string type). This helps the agent understand expected input format.

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 'Performs a validation on a Netfluid voucher code' with a specific verb (validate) and resource (voucher code). It distinguishes from siblings by noting 'The voucher is not redeemed, only validated', which separates it from redemption tools like netfluid__account_merchant_voucher_redeem. The name also includes 'check' for clarity.

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 context that the tool is for validation only, not redemption. However, it does not explicitly mention when to use this tool over alternatives or list any exclusions. The sibling list is extensive but no guidance is given, so the agent must infer from the purpose.

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

netfluid__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?

With empty annotations, the description carries full burden. It mentions providing reference information but does not disclose whether the tool is read-only, has side effects, or requires specific permissions. The presence of an output schema is noted 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.

Conciseness3/5

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

The description is short but includes an awkward second sentence and a @return comment that belong in documentation comments rather than the description. It could be more polished.

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 existing output schema, the description adequately states the tool's purpose. It identifies the output as a JSON object with reference information, which is sufficient for a simple retrieval 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 tool has zero parameters, so the description does not need to explain parameter usage. The baseline score of 4 is appropriate as there is no missing parameter information.

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 explicitly states it provides Netfluid's privacy policy. While the mention of 'referenced_tools' schema is a bit confusing, the primary purpose is clear and distinguishes it from sibling tools like netfluid__about and netfluid__terms.

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., netfluid__about or netfluid__terms). The agent is left to infer usage context from the name alone.

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

netfluid__push_message_devicesCInspect

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?

The description only states it returns a list and a JSON object, with no behavioral traits disclosed. Annotations are empty, so the description carries full burden but fails to mention side effects, idempotency, error conditions, or output format details beyond '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 duplicates the first sentence ('Returns a list...this wallet' appears twice). It has a structured @param/@return format but the repetition wastes space. 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 has 3 parameters and no annotations, the description covers the basic purpose and parameter origins. However, it lacks details on pagination, error handling, or output schema (though output schema may exist). It is adequate but not 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?

Schema description coverage is 0%, so the description's @param lines add basic meaning: api_key is 'allocated to your application', token and wallet_fk are provided by /access/login. No constraints, formats, or examples are given. This is minimally helpful but not comprehensive.

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 list of devices registered for push messages on a wallet. The verb 'returns' and resource 'list of devices' are specific. While it does not explicitly differentiate from siblings like netfluid__push_message_send, the purpose is unambiguous.

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

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 beyond parameters, nor any context about when not to use it (e.g., if no devices are registered). This leaves the agent without decision support.

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

netfluid__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

Behavior2/5

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

With no annotations, the description only discloses the 160-character limit. It does not mention side effects, rate limits, authentication beyond token/wallet_fk, or other behavioral traits.

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 a duplicated line. It front-loads the main action, but redundancy 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?

Despite having an output schema, the description omits crucial context: target devices, prerequisites (e.g., registered device), error scenarios, and does not differentiate from similar tools.

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 adds basic meaning to parameters (e.g., token from /access/login). However, it lacks constraints like message max length or format for api_key.

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 'Sends a push message to customer' and mentions a 160-character limit, giving specific verb and resource. However, it does not differentiate from sibling tools like 'netfluid__push_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, no exclusions, and no prerequisites mentioned beyond parameter sources.

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

netfluid__send_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, 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?

Annotations are empty, so the description bears full responsibility. It only states the action ('sends email') without disclosing behavioral traits such as authentication requirements (implied by params), side effects, idempotency, or error behavior. 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 short but contains repetition (same sentence twice). The parameter list is clear but could be more compact. It is not verbose, but the duplication reduces efficiency.

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 5 required parameters, all documented only via brief inline comments, and an output schema present, the description is insufficient. It omits context like failure handling, default sender, or idempotency. The tool is simple but still incomplete.

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 the description adds brief semantics for each parameter (e.g., 'base64 encoded' for message, 'url encoded' for subject). However, the explanations are shallow and do not provide constraints or usage details beyond basic 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 clearly states the tool sends email to the wallet owner, using a specific verb and resource. It is distinguishable from sibling tools like netfluid__push_message or netfluid__text_message, but it does not highlight unique features or differentiate further.

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. There are sibling tools for messaging (e.g., netfluid__push_message, netfluid__text_message) but the description provides no context for selection or exclusion.

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

netfluid__sessionAInspect

Returns a 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?

With no annotations, the description carries full burden. It discloses the one-time-use behavior and invalidation of the session_key, which are important behavioral traits. No contradictions.

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 with three sentences, front-loading the core action and constraints. No wasted words.

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 is adequate. The return value is noted as 'a json object', which is sufficient given that the output schema exists.

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 explicitly states '@param session_key: The customer provided session_key', adding meaningful context to the 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?

The description clearly states the tool returns a token from a session_key, specifying the verb ('Returns') and the resource ('token'). However, it does not differentiate from the sibling tool netfluid__session_2_token.

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 a constraint ('Can only be called once per session_key'), which provides usage context. However, it does not specify when to use this tool versus alternatives like netfluid__session_2_token.

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

netfluid__session_2_tokenBInspect

Returns a 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

Behavior3/5

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

With no annotations, the description must carry the burden of behavioral disclosure. It mentions the one-time-use constraint (important) but omits other aspects like required authentication, 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.

Conciseness4/5

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

The description is short and to the point with minimal fluff. The @param and @return lines add structure but are somewhat redundant with the first sentence.

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 token exchange tool with an output schema, the description is minimally adequate. It does not explain how it fits into a broader workflow, error scenarios, or prerequisites.

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 is the sole source of parameter meaning. It adds 'customer provided' to session_key, which is mildly helpful but does not specify format or constraints 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 token given a session_key, which is specific and actionable. However, it does not differentiate from the sibling tool netfluid__session, which may perform a related function.

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 only provides a constraint (one call per session_key) but no guidance on when to use this tool versus alternatives or any prerequisites for calling it.

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

netfluid__skillBInspect

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?

No annotations are provided, so description must cover behavior. It indicates a read operation (returns file) and suggests the user should refresh tools, but does not disclose potential side effects or permissions 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 redundant line (same sentence repeated). Otherwise, it is concise but could be 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?

Given the presence of an output schema, the description does not explain what the SKILL.md file contains, how to interpret the version, or what 'refresh all mcp tools' entails. Leaves many unanswered questions for an update 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 tool has zero parameters, so the description need not add parameter info. 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?

Description clearly states the tool returns the latest version of the Netfluid SKILL.md file. It is a specific verb-resource pair, but does not clarify the content or purpose of the file, making it slightly less than a 5.

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 the tool is used for version checking and updating files, but it does not explicitly say when to use it versus other tools or provide exclusions.

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

netfluid__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?

With empty annotations, the description must convey behavioral traits. It only states the listing action, but does not indicate whether it is read-only, whether authentication via token and wallet_fk is required (implied by params), or any other side effects. The agent has no explicit safety indication.

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 fairly concise, but the first line is unnecessarily repeated. The parameter explanations are well-structured. Minor inefficiency prevents a perfect score.

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 has an output schema, the description only vaguely mentions 'a json object' without summarizing the output structure. It also does not clarify the scope of 'available' accounts (e.g., user-specific or global). The core function is clear, but additional 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?

Despite 0% schema description coverage, the description provides meaningful explanations for all three parameters: api_key, token, and wallet_fk are clarified as authentication credentials from login, adding context beyond their names and 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 'Lists all the available telecommunications accounts', using a specific verb ('lists') and a distinct resource ('telecommunications accounts'), differentiating from sibling tools like netfluid__accounts and netfluid__wallet_accounts_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 account-listing siblings. There is no mention of prerequisites, filtering capabilities, 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.

netfluid__telco_bundlesCInspect

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?

No annotations are provided, so the description must fully disclose behavior. It only states it lists bundles and returns a JSON object, with no mention of whether it is read-only, side effects, pagination, or rate limits. The word 'Lists' implies read-only but is not explicit.

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 suffers from unnecessary repetition of the same sentence. It includes docstring-style param and return notes, which is clear but could be more streamlined. It is not overly long 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?

Given a simple schema and presence of an output schema, the description is still too minimal. It lacks information on output structure, potential edge cases, or how the list behaves (e.g., sorting, limits). The description does not fully compensate for the lack of annotations.

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 coverage is 0%, so the description should add meaning. It mentions the api_key parameter as 'The api key allocated to your application,' which is trivial and adds no constraints or format details beyond the schema field 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 the tool lists all available telecommunications bundles, which is a specific verb and resource. However, it does not differentiate from sibling listing tools like netfluid__telco_accounts, but the distinct resource (bundles) makes the purpose 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, such as netfluid__telco_accounts for specific account details. 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.

netfluid__termsAInspect

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?

With no annotations, the description carries the full burden. It only states it 'provides a url' and returns a JSON object, without disclosing potential side effects, authentication requirements, or any behavioral traits beyond the basic action.

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

Conciseness5/5

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

Two sentences that are concise and front-loaded with the core purpose. Every sentence is necessary and informative, with no wasted words.

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 basic functionality for a simple tool, but it lacks details about the output schema structure or potential error states. Given the existence of an output schema, the description could still provide more context on what the URL 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?

The tool has zero parameters, so the input schema is trivial. The description adds value by confirming it returns a JSON object and referencing the 'referenced_tools' schema, which is sufficient for a parameterless tool.

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 a URL to fetch Netfluid's terms and conditions. The verb 'provides' and resource 'url for terms of service' are specific and distinguish this tool from siblings (e.g., netfluid__privacy, netfluid__account).

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 retrieving terms of service but offers no explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

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

netfluid__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 are empty, so the description must fully disclose behaviors. It only mentions authentication requirements and returns a JSON object. No information about rate limits, pagination, side effects, or read-only nature 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 is concise but contains a repetitive sentence. It is front-loaded with the main purpose, but the param and return details are standard. Could be more streamlined.

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 is adequate for a simple list tool, but it does not explain what 'detailed list' entails or mention output schema details. With an output schema assumed, it's acceptable, but missing specifics like pagination or field descriptions.

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 description must add meaning. It provides brief explanations for each parameter (e.g., 'The api key allocated to your application'), which adds some value but lacks depth and does not fully compensate 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 it provides a detailed list of accounts in a wallet and mentions the account_fk for later use. However, it does not explicitly distinguish from the verbose sibling tool 'netfluid__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?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites beyond authentication, or exclusions.

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

netfluid__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?

With no annotations, the description carries full burden. It only notes potential slowness and that it returns JSON. No disclosure of read-only nature, authorization requirements (beyond params), or other 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 first two sentences are redundant, repeating the same information. The @param lines are structured but the overall description could be more compact. Every sentence should add unique value.

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 is vague about return value ('a json object') despite having an output schema. It lacks details on what the list contains, pagination, limits, or error handling. For a list operation that may take time, more completeness 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?

Despite 0% schema description coverage, the @param lines add meaningful context: 'api_key' is described as allocated to the app, 'token' and 'wallet_fk' are explained as coming from /access/login. This helps the agent understand parameter origins.

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. The 'verbose' suffix hints at more detail compared to sibling 'netfluid__wallet_accounts_list', but no 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 vs alternatives. The mention of 'may take some time' implies use when detailed info is needed and latency is acceptable, but lacks explicit when-not or alternative references.

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

netfluid__wallet_assets_listBInspect

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?

With no annotations, the description carries full burden. It states the tool is for display only, indicating a read operation, but does not disclose authentication requirements beyond parameters, rate limits, or details about the 'async defined per user grouping'. Some behavioral aspects are left unclear.

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, with two similar paragraphs. The parameter descriptions are helpful but could be integrated more efficiently. It could be more concise without losing essential 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 that an output schema exists (indicated by context signals), the description does not need to cover return values. However, it lacks details about pagination, error handling, and what constitutes a 'detailed list'. It is adequate but has gaps for a list tool with authentication.

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 add meaning. It provides descriptions for all four parameters (api_key, token, wallet_fk, blockchain_fk), explaining their roles. This compensates well for the lack of schema descriptions, though it could be more precise about types and 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 it provides a detailed list of assets available to the wallet, for display only, and filterable by blockchain. It distinguishes from sibling wallet tools like wallet_accounts_list or wallet_card_list by focusing on assets. However, it does not explicitly differentiate from other asset-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 Guidelines3/5

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

The description implies it is for display purposes only ('For display only'), suggesting it is not for transactional use. However, it lacks explicit guidance on when to use this tool versus alternatives, and no when-not-to-use or prerequisite information beyond the parameters.

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

netfluid__wallet_card_listBInspect

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

Behavior3/5

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

Annotations are empty, so the description must carry the burden of behavioral disclosure. It states it returns a JSON object and implies it is a read operation. It does not disclose potential error responses, rate limits, or any side effects, but the core behavior is communicated.

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 line twice, which is redundant. It uses a Javadoc-style format that is clear but could be more concise without the 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?

Given the tool is a simple list operation and an output schema exists (though not shown), the description covers the basic input and output. However, it lacks details on whether the list is paginated, sorted, or filtered, which could be important for an agent using it.

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 comments add minimal value beyond the schema. It explains the origin of 'token' and 'wallet_fk' (from /access/login) and that 'api_key' is allocated to the app, but does not specify formats 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 list of tokenised Visa/Mastercard(s) associated with the wallet. This is a specific verb+resource, but it does not differentiate from sibling tools like 'wallet_card_remove' or 'wallet_accounts_list', though the purpose is still 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. There is no mention of prerequisites beyond the parameters themselves, and no exclusions or usage context provided.

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

netfluid__wallet_card_removeBInspect

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

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 notes the removal action and a confirmation step, but does not mention reversibility, permissions, side effects, or what the returned JSON object contains. For a mutation tool, this is insufficient.

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 removal sentence is duplicated). The param list is clear but the repeated sentence wastes space. Overall it is fairly concise but could be tightened.

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 4 required parameters and no schema descriptions, the description covers the inputs adequately (sources) but lacks usage scenarios, error behavior, and details about the output JSON. It is moderately complete for a removal 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 adds @param lines explaining each parameter's source (e.g., 'wallet_api_token provided by /access/login'). This provides critical context beyond the raw schema, though it lacks format 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 action ('Removes a tokenised Visa/Mastercard(s)') and the resource ('associated with this wallet'). It also mentions the confirmation step. However, it does not distinguish from sibling removal tools like beneficiary_remove.

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 includes a hint about confirmation but no guidance on when to use this tool versus alternatives. No explicit when-not-to-use or prerequisites are given beyond the parameter descriptions, which are more for semantics.

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

netfluid__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 no annotations, the description carries full burden. It only says 'Returns' and 'Performs a search', implying a read operation, but does not disclose side effects, authentication requirements, error behavior, or data freshness.

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 includes unnecessary repetition ('Returns the wallet white label domain' twice). The @param format is structured but could be merged into a more concise narrative.

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 5 parameters and no annotations, the description provides basic context but leaves ambiguity about what a 'white label domain' is and how the search works. Presence of output schema partially mitigates missing return details.

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 description adds value by explaining each parameter (e.g., account_fk is an int not address, payat_reference excludes merchant code). However, explanations are brief and some parameters like wallet_fk are only named.

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 the wallet white label domain' which is a clear purpose. However, it repeats the same sentence twice, and among many wallet-related sibling tools, it does not differentiate itself beyond the specific domain retrieval.

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 netfluid__wallet_accounts_list or others. It mentions searching on any one parameter but does not clarify which parameter is appropriate in different contexts.

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

netfluid__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 bears full responsibility for disclosing behavior. It only states the function, omitting crucial details like whether it is read-only, requires authentication (implicit from params but not stated), side effects, 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 description repeats the first sentence and uses a structured @param format, which aids readability. However, the repetition is unnecessary, and the @return is trivial. It is adequate but not optimally 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 has 4 required parameters and no enums or nested objects, the description is functional. It explains the parameters but lacks usage examples, output schema details, or context about fee calculation logic (e.g., what the fee depends on). 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 schema has 0% description coverage, but the description includes @param annotations explaining each parameter's purpose (e.g., 'api_key: The api key allocated to your application'). This adds significant meaning beyond the raw schema. The return is minimally 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 'Calculates the transaction fee given an amount,' specifying the verb and resource. However, it does not differentiate from sibling tools like netfluid__fees, which might also compute fees. The purpose is clear but lacks context for 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?

The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or conditions. It simply describes the action, leaving the agent to infer appropriate usage.

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

netfluid__wallet_google_auth_listBInspect

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

Behavior2/5

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

There are no annotations, so the full burden falls on the description. It states the return type and content but lacks details on side effects, security, or prerequisites beyond parameter sources. Behavioral context is 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 repetitive (identical first two sentences). The @param and @return sections are well-structured, but the duplication wastes space. 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 a simple read operation with an output schema, the description covers the return fields (Secret, URL, QR-Code) and explains their purpose. However, it does not mention error handling, authentication requirements, or rate limits, leaving some gaps for a tool without 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?

While schema coverage is 0%, the @param lines add value by specifying where to obtain the token and wallet_fk (from /access/login). This provides context beyond the schema, but the api_key parameter lacks additional explanation.

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 Google Authenticator registration with Secret, URL, and QR-Code. The purpose is well-defined and distinguishes this tool from the sibling netfluid__wallet_google_auth_verify.

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 its use for retrieving GA registration details to set up TOTP. However, it does not provide explicit guidance on when not to use it or mention alternatives like the verify tool.

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

netfluid__wallet_google_auth_verifyAInspect

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?

With no annotations, the description must disclose behavioral traits. It only states that the tool verifies an OTP but omits critical details such as side effects (e.g., enabling 2FA), idempotency, rate limits, or error behavior. The description is too brief to adequately inform the agent of operational 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 is relatively short but contains repetition ('Verifies an OTP...' appears twice) and an incomplete sentence at the end. The @param sections are well-structured but the main text could be more concise and complete.

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 confirms the tool's purpose and parameter meanings, and notes a prerequisite. However, it does not describe the return value structure (though an output schema exists), error handling, or further context about enabling 2FA. For a 4-parameter verification tool, it is moderately complete but has 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?

The @param sections in the description provide meanings for all four parameters: api_key, token, wallet_fk, and otp. Since the input schema has 0% description coverage, the description compensates by explaining each parameter's origin and purpose. However, it lacks specifics such as format or constraints for the otp value.

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 an OTP against the customer's Google Authenticator App', identifying the specific action (verify) and resource (OTP via Google Auth). It distinguishes from sibling tools like 'netfluid__wallet_google_auth_list' which lists configurations.

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 prerequisite: 'The wallet must be configured to generate OTPs, see /wallet/google_auth_generate.' It also implies that 2FA is not enabled until after verification. However, it does not provide explicit guidance on when to use this tool versus alternatives, nor 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.

netfluid__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?

With empty annotations, the description must fully disclose behavioral traits. It only states that the tool checks verification status and lists required parameters, but does not mention whether the operation is read-only, destructive, requires specific authentication levels, or has rate limiting. The description also fails to explain what the returned JSON object contains beyond being a generic placeholder.

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 unnecessarily repetitive—the first two sentences are identical. It could be a single sentence. Additionally, the parameter documentation is placed after the redundant statement rather than being front-loaded. The structure wastes the user's attention.

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 set of sibling tools (over 100), minimal context is provided. The tool's role in the wallet KYC workflow is unclear. The output schema exists but the description only says '@return: a json object', which is insufficient to understand the response structure or 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 input schema has 0% coverage, meaning no descriptions in the schema itself. The description compensates by documenting each parameter: 'api_key' (explained as key for the application), 'token' (described as wallet_api_token from /access/login), and 'wallet_fk' (also from /access/login). This provides meaningful context beyond the raw 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's purpose: checking whether a wallet/customer has been verified successfully. It uses a specific verb ('Checks') and resource ('wallet/customer'). However, it repeats the same sentence twice without distinguishing from the sibling tool 'netfluid__wallet_kyc_check_lite', which likely performs a similar but lighter 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 is provided on when to use this tool versus alternatives like 'netfluid__wallet_kyc_check_lite' or when not to use it. There is no context for prerequisite actions or conditions.

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

netfluid__wallet_kyc_check_liteCInspect

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 must cover behavioral traits. It states it's a check (likely read-only) and returns JSON, but does not explicitly confirm non-destructive behavior or mention any side effects. No information on authentication requirements beyond the parameters themselves.

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 verbatim ('Checks whether the wallet/customer has performed an ID document scan and AML check'). This wastes space. The parameter list is functional 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 (not shown), the description only says 'returns a json object' without specifying structure or possible values. No details on what the KYC status means or how to interpret results. For a simple tool, more context is needed for proper agent 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?

The description includes docstring-style parameter explanations (@param lines), providing meaning beyond the input schema which has no descriptions. However, these are minimal: 'The api key allocated to your application' etc. With 0% schema coverage, the description compensates adequately.

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 ID document scan and AML check are performed. The verb 'checks whether' indicates a read operation, but lacks differentiation from sibling netfluid__wallet_kyc_check. The 'lite' in the name suggests a lighter version, but no explicit distinction is made.

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 netfluid__wallet_kyc_check. The description does not specify prerequisites or scenarios where this check is appropriate. Sibling tools exist with similar purposes, but no usage context is provided.

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

netfluid__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 empty annotations, the description discloses cost, URL return, mobile direction, and callback behavior. It lacks detail on session duration or idempotency but covers key operational aspects.

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 duplicated opening paragraph and is longer than necessary. While param definitions are clear, redundancy reduces 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 5 required params lacking schema descriptions, the description explains purpose, prerequisites, parameter details, and return behavior. Output schema exists and is not required to be detailed.

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 fully explains all 5 parameters with source, meanings, and example values for profile, including callback instructions.

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 KYC session, specifies it's only for unverified wallets, and distinguishes from siblings like wallet_kyc_check which check status rather than create sessions.

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 warns against generating a link unless user requests it, mentions cost per session, and restricts use to unverified wallets. However, no explicit alternatives are listed.

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

netfluid__wallet_mnemonicBInspect

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

Behavior2/5

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

Annotations are absent, so description carries full burden. It warns about making the wallet owner aware of the phrase, but does not disclose if the action is destructive, requires specific permissions, or logs the retrieval. For a sensitive operation, more behavioral context 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 is longer than necessary due to duplication of the first sentence. The @param block is structured but verbose. It is front-loaded with the main purpose, but the redundancy 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?

Given the tool's simplicity and the presence of an output schema, the description provides the basic purpose and parameter info. However, it lacks details on security implications, whether the mnemonic is regenerated on each call, or other behavioral nuances. It meets the minimum but has 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?

Schema description coverage is 0%, but the description includes @param tags that explain each parameter: api_key, token (from /access/login), wallet_fk. These add meaning beyond the property names alone. However, the descriptions are concise and clear, so a 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 it returns the wallet's 24-word mnemonic phrase for secret recovery. This distinguishes it from sibling tools that handle accounts, cards, assets, etc. However, the first sentence is duplicated, reducing 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?

No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, caveats, or when not to use. The sibling set includes many wallet-related tools, but no comparison is provided.

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

netfluid__wallet_rbaBInspect

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?

No annotations are provided, so the description must convey behavioral traits. It only states it saves an RBA and requires confirmation, omitting details like idempotency, side effects, authorization needs, 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.

Conciseness4/5

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

The description is structured with a clear sentence followed by a parameter block. However, it contains a duplicate first line ('Saves a Recipient Bank Account...'), which is slightly redundant. Otherwise, it is appropriately sized.

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 (13 parameters, mutation), the description is fairly complete but lacks details on confirmation workflow, error responses, and prerequisites. The presence of an output schema reduces the need for return value documentation.

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 comprehensively documents all 13 parameters via @param tags, explaining their meaning and origin (e.g., 'wallet_fk provided by /access/login'), adding significant 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 it saves a Recipient Bank Account for withdrawals, but does not differentiate from similar sibling tools like netfluid__beneficiary_add which may have overlapping functionality. The purpose is specific and understandable.

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 lacks guidance on when to use this tool versus alternatives, such as netfluid__beneficiary_add or netfluid__wallet_rba_list. It mentions a confirmation step but does not explain 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.

netfluid__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?

Annotations are empty, so the description must disclose behavioral traits. It only states the return is a JSON object, with no mention of side effects, read-only nature, or other behaviors expected from a list 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 includes a redundant repetition of the first sentence. While overall clear, 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?

Relevant information is provided, but the description lacks details about the return format (though output schema exists) and does not give context on when to use this tool among many sibling list 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 description coverage is 0%, but the description compensates by providing docstring-style explanations for each parameter (api_key, token, wallet_fk), adding meaning 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 explicitly states the tool lists all Recipient Bank Accounts (RBAs) on a wallet, using a clear verb-resource combination. It distinguishes from sibling tools like netfluid__wallet_rba (singular) and other 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?

The description provides parameter details but no guidance on when to use this tool versus alternatives. No prerequisites, when-not-to-use, or context about sibling tools are mentioned.

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

netfluid__wallet_referral_codeAInspect

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?

With no annotations, the description carries full burden. It indicates a read operation ('Returns'), but lacks details on side effects, authentication requirements (though parameters include token), rate limits, or error handling. The description is minimally 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 redundantly repeats the first sentence. The parameter list is helpful but could be formatted more cleanly. The overall length is acceptable but contains some 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?

For a simple read operation with 3 parameters and an existing output schema (not shown), the description covers the basic purpose and parameters. However, it does not mention what the JSON return contains or possible errors, which could be helpful for an 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?

Despite 0% schema description coverage, the description includes a docstring-style explanation of each parameter: api_key, token, and wallet_fk. This adds significant meaning beyond the schema's type-only definitions. However, no further details like format or constraints are provided.

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 'Returns this wallet's referral code', using a specific verb ('Returns') and resource ('referral code'). Among siblings like wallet_accounts_list and wallet_assets_list, this tool is distinct in retrieving the 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?

No guidance is provided on when to use this tool versus alternatives like wallet_assets_list or wallet_voucher_list. The description does not mention any prerequisites or context for when this tool should be preferred.

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

netfluid__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 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?

No annotations exist, so description carries full burden. It describes the action (verify status, keep session alive) but omits details like behavior on invalid token or rate limits. Adequate for a simple verification tool.

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 contains a redundant sentence (first two sentences are identical). Could be more concise by removing the duplicate. Also includes an unchecked @return line that adds no value given output schema exists.

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?

With output schema present, return details are covered. Description covers what the tool does, when to use it, and parameter sources. Lacks explanation of response structure, but output schema compensates. Reasonably 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%, so description compensates by defining each parameter: 'api_key: The api key allocated to your application', 'token: The wallet_api_token provided by /access/login', 'wallet_fk: The wallet_fk provided by /access/login'. Adds meaningful context beyond bare 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?

Description states 'Verifies the status of the wallet token, while keeping the token session alive.' This is a specific verb and resource, clearly distinguishing it from sibling wallet tools that handle lists, cards, etc.

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 says 'Call this regularly to keep the token active,' providing clear usage frequency context. Does not specify when not to use or mention alternatives, but context is sufficient.

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

netfluid__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?

With empty annotations, the description carries full burden. It indicates a read operation but omits details like required auth scope, rate limits, pagination, error behavior, or whether the vault could be empty. No contradictory information exists, but disclosure 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 first sentence is repeated verbatim ('Lists all vouchers kept in this wallet's vault.'), wasting space. The @param and @return sections are standard but could be integrated more concisely. The overall structure is redundant.

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 complexity (3 required params, no enums, output schema exists but not detailed), the description lacks completeness. It doesn't explain the return format, pagination, or relationship to other wallet tools. With many sibling list tools, more context would improve selection accuracy.

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 add meaning. It includes @param lines that name the parameters (api_key, token, wallet_fk) and gives brief hints like 'the api key allocated to your application,' which adds some context beyond the bare type declarations. However, it doesn't specify formats or 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 'Lists all vouchers kept in this wallet's vault,' specifying the action (list) and resource (vouchers). It adds context about vouchers being issued by any account_fk in the wallet, distinguishing it from sibling list tools like netfluid__wallet_accounts_list or netfluid__wallet_assets_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 alternatives. It does not mention prerequisites, context, or when not to use it. The description only states what the tool does, 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.

netfluid__webhook_pauseBInspect

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

Behavior2/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 the tool 'pauses... from receiving events' but does not disclose any side effects, such as whether events are queued or lost, whether the pause is reversible (though implied by sibling netfluid__webhook_resume), or any required permissions.

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 front-loaded with the key action, but it repeats the same sentence twice, which is wasteful. The @param block is well-structured but the repetition 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?

The tool has three required parameters and an output schema (though not provided in detail), but the description only gives a vague '@return: a json object'. It lacks details on response structure, error conditions, or edge cases, making it incomplete for an AI agent to fully anticipate outcomes.

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% coverage, but the description includes a @param block that explains each parameter's purpose (e.g., 'the api key allocated to your application'). This adds significant meaning beyond the raw schema, compensating for the lack of schema-level 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 action ('pauses'), the resource ('webhook'), and the scope ('on this wallet'). It effectively distinguishes itself from sibling tools like netfluid__webhook_resume and netfluid__webhook_set, as those have different verbs or 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?

There is no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusion criteria. The description merely states the action without contextual usage advice.

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

netfluid__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 empty annotations, the description must disclose behavioral traits. It only says 'Resumes a webhook' without explaining idempotency, state requirements, or effects of resuming an already active webhook.

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 unnecessary duplication ('Resumes a webhook' repeated twice). This reduces efficiency, though the structure with @param lines is clear.

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 presence of sibling webhook tools and no annotations, the description is incomplete. It lacks details on return structure (though output schema may exist), error scenarios, or how resume relates to pause and set.

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 the @param lines add meaning: api_key is 'allocated to your application', token and wallet_fk are from /access/login. This provides some context, though wallet_fk remains vague (e.g., not explained as foreign key).

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 'Resumes a webhook', which is a specific verb-resource pair. However, it does not distinguish among sibling tools like netfluid__webhook_pause or netfluid__webhook_set, so it lacks sibling 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 is provided on when to use this tool versus alternatives like pause or set. There is no mention of prerequisites or context for use.

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

netfluid__webhook_setAInspect

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?

The description discloses that the webhook URL receives a PUT call with JSON when an event occurs, but lacks details on idempotency, overwrite behavior, or side effects. Annotations are empty, so the description carries the burden but falls short.

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 some redundancy (first line repeated) and a blank line but uses a clear @param format. 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 description explains the tool's purpose and parameter meaning but does not describe the output JSON object or possible side effects. Output schema exists but is not utilized.

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?

All four parameters have brief explanations (e.g., 'The api key allocated to your application') adding value beyond the schema, which has 0% description coverage. However, format constraints are missing.

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 'Sets a webhook on this wallet' and explains the behavior (receives a PUT call with JSON on events). This distinguishes it from sibling tools like pause, resume, and view.

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 vs alternatives. It is implied that this creates a webhook, but no comparison or prerequisites provided.

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

netfluid__webhook_viewCInspect

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?

Annotations are empty, so the description must fully disclose behavioral traits. It only states 'View' (implying a read operation) and 'returns a json object', but fails to mention side effects, authorization requirements, rate limits, or data sensitivity. The description lacks depth for safe agent 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 a duplicate line: 'View the webhook on this wallet' appears twice. This redundancy wastes space. The parameter documentation is structurally clear but the repetition 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?

For a simple read tool with an output schema (context indicates it exists), the description minimally covers what the tool does and lists required parameters. However, it lacks information about the output structure, error conditions, or when the webhook might not exist. It is adequate for basic selection but incomplete for robust use.

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 must compensate. It adds text for each parameter: api_key, token, and wallet_fk, explaining their source (e.g., 'provided by /access/login'). While this adds value, it does not detail formats, constraints, or typical values, leaving some ambiguity. Thus it is adequate but not thorough.

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 tool's description clearly states 'View the webhook on this wallet', specifying the verb (View) and the resource (webhook on this wallet). Among sibling tools like webhook_pause, webhook_resume, and webhook_set, this tool is distinctly identified as a read operation, making its purpose 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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios, or when not to use it, leaving the agent without 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.

netfluid__withdraw_ott_providers_listAInspect

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?

With empty annotations, the description carries the full burden. It only states the return type and parameter, but does not disclose any behavioral traits like read-only, permissions, rate limits, or side effects.

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

Conciseness3/5

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

The description is short but contains redundancy: 'Returns a list of supported providers' appears twice. The 'Step 1.' format adds clarity but 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?

Despite having an output schema (not shown), the description adequately conveys that an array of provider_id is returned. However, it lacks details on whether the list is exhaustive, paginated, or any conditions.

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 '@param api_key: The api key allocated to your application', which provides essential meaning beyond the schema's bare 'type: string'.

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 a list of supported providers, using the verb 'Returns' and specifying the resource 'list of supported providers'. It differentiates from siblings like netfluid__withdraw_to_ott_quote by indicating it is step 1 to obtain a provider_id.

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 'Step 1' and directs the agent to 'select one and use with /withdraw/to_ott_quote', providing clear guidance on when to use this tool and what to do next.

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

netfluid__withdraw_to_bankAInspect

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

Behavior3/5

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

No annotations exist, so description must carry behavioral info. It discloses confirmation requirement and currency payout behavior, but lacks details on side effects, failure modes, 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?

Mostly concise, but has repetition ('Withdraws to a bank account, anywhere world-wide.' appears twice). Parameter docs are structured and clear.

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 purpose, parameters, prerequisites, and confirmation. Output schema exists but not described; rule says description need not explain return values. Adequate for invocation.

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 thoroughly explains each parameter (e.g., account_fk is a database ID not zero, rba_fk from /wallet/rba_list, note optional). Adds critical context beyond raw 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?

Clearly states 'Withdraws to a bank account, anywhere world-wide.' with a specific verb and resource, and distinguishes from regional bank transfer tools like netfluid__SEPA and netfluid__ACH.

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 prerequisites (rba must be set) and mentions confirmation step, but does not explicitly compare with sibling tools like netfluid__withdraw or netfluid__withdraw_to_ott to guide selection.

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

netfluid__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

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 the withdrawal action, confirmation requirement, potential amount difference, and return of a payment_id. It does not detail authorization needs or side effects beyond the described behavior.

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, front-loaded with the action, and includes step info and param docs. Some redundancy (e.g., 'Step 3' repetition) but overall efficient.

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 and the presence of an output schema (not shown), the description covers the workflow, confirms behavior, and explains key aspects like amount discrepancy. It is sufficient for correct 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?

All five parameters are described in @param lines, adding context like account_fk being a database ID and mobile format. Schema coverage was 0%, so description compensates well. Minor omission: does not mention mobile can be null.

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, specifies it is step 3 after getting a quote, and returns a payment_id. It distinguishes itself from sibling tools like netfluid__withdraw_to_ott_quote and netfluid__fund_ott.

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 (yes/no) and warns that the final amount may differ from the quoted amount. It implies the tool should be used after obtaining a quote, but lacks explicit when-not-to-use instructions or detailed alternative guidance.

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

netfluid__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 describes a query (read-only) but lacks details on possible side effects, rate limits, or error handling. The statement 'Queries the state' is clear but minimal. Adequate but not rich.

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 front-loaded with the main purpose and uses a structured format with @param and @return. It is relatively concise, though some lines could be condensed. Overall efficient.

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?

With an output schema present (context signal), the description's minimal 'a json object' is acceptable. It covers the step context, optionality, and parameter sources adequately. Leaves little ambiguity 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 description coverage is 0%, so the description must compensate. It explains each parameter, including noting that account_fk is a database ID not an address, and that payment_id comes from withdraw/to_ott. This adds significant meaning beyond the schema's 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 'Queries the state of an OTT Mobile withdrawal', using specific verb and resource. It distinguishes from sibling tools like netfluid__withdraw_to_ott and netfluid__withdraw_to_ott_quote by context (step 4, optional).

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 says 'Step 4. Optional' and links to netfluid__withdraw_to_ott via payment_id, providing clear context for when to use. It does not explicitly state when not to use or list alternatives, but the usage context is well implied.

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

netfluid__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

Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It states the return value (a quote_id and JSON object) but does not specify whether the operation is read-only or has side effects. It also lacks information on authorization requirements, rate limits, or quote expiration. For a quote-generating tool, this is a significant gap.

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

Conciseness3/5

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

The description uses a structured @param and @return format, which aids readability. However, there is redundancy in the first two lines ('Generates... Step2. Generates...'). It 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.

Completeness4/5

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

The description covers the tool's purpose, input parameters, and return value (quote_id). It also mentions prerequisites like token from access/login and provider_id from a prior tool. However, it omits details like quote expiration, any idempotency, or error scenarios. Overall, it is fairly complete for a quote 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 fully compensates by explaining each parameter: api_key, token (source), account_fk (with caveat about ID vs address), provider_id (source), and amount (native currency). This provides crucial context 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 generates a withdrawal quote to an OTT Mobile supported provider, specifying the verb and resource. It distinguishes from siblings like netfluid__withdraw_to_ott (which uses the quote) and netfluid__withdraw_to_ott_query. However, the first two lines are redundant, 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?

The description explains that after a successful submission a quote_id is returned and should be used with /withdraw/to_ott, implying a sequential workflow. It also references provider_id from withdraw/ott_providers_list. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.

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

paywall__cost_per_fup_unitInspect

Returns the cost of a FUP token when performing a top-up. Customers may purchase additional workflow tokens on any subscription including the freemium tier The additional tokens do not extend the subscription period @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

paywall__customer_allowance_workflowBInspect

Returns the customer's available workflow allowance. @param customer_id: The customer's database id @return: a json object, containing the customer id in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

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 only discloses basic purpose and return structure. It does not mention that this is a read-only query, potential errors, or authentication requirements.

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 plus parameter/return documentation. Every part is useful, though the JSDoc style is slightly 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 existence of an output schema, the description adequately covers the return. However, it lacks information on error conditions, allowed values, or behavior when customer_id is invalid.

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 by explaining customer_id as 'The customer's database id', which clarifies its purpose beyond the schema's type 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 clearly states it returns the customer's available workflow allowance, specifying the verb and resource. However, it does not differentiate from sibling tools like customer_find or customer_get_credit_balance, which could be similar.

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 other customer-related tools. The description lacks any context about prerequisites, alternatives, or scenarios where 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.

paywall__customer_createAInspect

Creates a customer using the unique identifier (session_key). @param identifier: The customer's unique identifier, typically the session_id @param wallet_fk: The Netfluid wallet_fk to assign to the new customer, defaults to 0, can be set later @param account_fk: The Netfluid account_fk to assign to the new customer, defaults to 0, can be set later @param subscription_type_fk: The database subscription type, defaults to 1 the freemium subscription @return: a json object, containing the customer id in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_fkNo
account_fkNo
identifierYes
subscription_type_fkNo

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 present, so the description bears full responsibility. It correctly describes the creation action, lists all parameters with defaults, and explains the return format. This is transparent about the tool's effect (creating a customer), but could add more context about side effects, e.g., database writes or authorization requirements.

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 concise, with the main purpose stated upfront. The parameter documentation is inline but structured clearly (using @param tags). It could be slightly more compact by omitting defaults already in the schema, but overall it's well-organized and not verbose.

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 the tool has 4 parameters, no annotations, and an output schema (context signals indicate true), the description covers all essential aspects: what the tool does, each parameter's meaning and defaults, and the return value. No gaps are apparent.

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 the input schema having 0% description coverage (per context signals), the description itself documents each parameter thoroughly: identifier is the unique ID, wallet_fk and account_fk default to 0 and can be set later, subscription_type_fk defaults to 1 (freemium). 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 explicitly states it creates a customer using a unique identifier (session_key). This clearly differentiates it from sibling tools like paywall__customer_find (which searches) or paywall__customer_link_wallet_account (which links). The verb 'creates' and resource 'customer' 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 Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives, such as when to create vs. find an existing customer. It is implied that this is for new customers, but no exclusion criteria or mention of prerequisites (e.g., whether the session_key must be valid) are given.

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

paywall__customer_deduct_from_fupAInspect

Deducts a unit from the customer's available workflow allowance. Do not call this tool when the customer is requesting assistance related to the pay wall and its subscriptions. This tool should be called after each AI response that is not pay wall related. @param customer_id: The customer's database id @return: a json object, containing the customer_id and remaining fup token balance in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

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 return structure but lacks details on error conditions, idempotency, or prerequisites. The 'deducts a unit' implies success, but failure cases are omitted.

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 and well-structured with separate sections for purpose, usage, and parameters. The JSDoc-style @param and @return add clarity but slightly increase length.

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 single-parameter tool and existence of an output schema, the description adequately covers usage and return. Minor gaps in behavioral details prevent a higher score.

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 only parameter, customer_id, is described as 'The customer's database id', which adds meaningful context beyond the schema's bare integer type.

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 (deduct a unit) and resource (customer's workflow allowance). However, it does not differentiate from sibling tools like paywall__customer_allowance_workflow.

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?

Explicitly states when to call (after each non-paywall AI response) and when not to call (if customer is requesting paywall assistance). This provides clear usage context.

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

paywall__customer_findAInspect

Searches for a customer using the unique identifier (session_key). @param identifier: The customer's unique identifier, typically the session_id @return: a json object, containing the customer id in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes

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 the burden. It discloses that it returns a JSON with customer id, but does not state idempotency, safety, or error behavior. 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.

Conciseness5/5

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

Extremely concise: two sentences plus parameter doc. Front-loaded with purpose, no filler. Efficient.

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 an output schema exists, the description's mention of return value suffices. It explains the parameter and return structure, though lacks details on potential failures. Adequate for a simple lookup.

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 with a @param line explaining identifier is the unique identifier, typically session_id. Adds meaningful context beyond the schema field name.

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 'Searches for a customer using the unique identifier (session_key)', specifying the verb and resource uniquely. It distinguishes from sibling tools like customer_create or customer_deduct.

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. There are multiple paywall__customer_* tools, but no mention of when search is appropriate vs. other lookups.

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

paywall__customer_get_credit_balanceAInspect

Returns the customer's credit balance in currency. Credit balances are generated when overpaying for a subscription or when purposefully redeeming vouchers to pay for additional fup units @param customer_id: The customer's database id @return: a json object,in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_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 the full burden. It describes the return format ('json object,in the values object') and explains the origin of credits, but does not disclose auth requirements, rate limits, or whether the operation is read-only. Some transparency is provided but not comprehensive.

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, using two sentences plus structured param/return annotations. It is front-loaded with the main purpose and provides context efficiently. Minor improvement could be more formal structure, but it is effective.

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 (one parameter, no nested objects, output schema exists), the description is fairly complete. It explains the purpose, how credits arise, the required parameter, and the return format. Lacks error conditions or constraints, but overall 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%, so the description must compensate. It adds a clear description ('The customer's database id') for the single required parameter, which adds meaning beyond the raw schema type. This fully covers the parameter's semantics.

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 customer's credit balance in currency, with a specific verb and resource. It also explains how credit balances are generated, differentiating it from other customer-related tools like paywall__customer_get_invoices or paywall__customer_payment_history.

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 among the sibling tools. The description only explains what the tool does, without stating when it should be preferred or avoided.

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

paywall__customer_get_invoicesAInspect

Returns the customer's invoices. @param customer_id: The customer's database id @return: a json object,in the "values" object containing one or more data rows in an object array

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

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 all behavioral traits. It only mentions the return format (JSON with 'values' array) but omits whether the operation is read-only, idempotent, or error behavior (e.g., if customer_id is invalid). No mention of authentication 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: two sentences. The first states the purpose, the second briefly explains the parameter and return shape. No superfluous text, and the most important information is 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?

Given the output schema exists, the description does not need to detail the return type deeply, but it mentions the 'values' structure. However, it lacks context on how many invoices are returned (e.g., all, recent), whether pagination is supported, or any constraints. 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?

Schema description coverage is 0%, so the tool description adds crucial context: '@param customer_id: The customer's database id' clarifies the parameter's meaning beyond the schema's type-only definition. This adequately compensates for the missing 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 states clearly 'Returns the customer's invoices.' This specifies the action (returns) and resource (invoices for a customer), and the tool name confirms it. It is distinct from siblings like paywall__customer_payment_history which likely returns payment history rather than invoices.

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 vs. alternatives, such as paywall__customer_payment_history. No prerequisites or contextual usage hints are given, leaving the agent to infer appropriate use 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.

paywall__customer_get_linked_wallet_accountBInspect

Returns the customer's linked Netfluid wallet_fk and account_fk, if available. @param customer_id: The customer's database id @return: a json object, in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_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 carries the burden. It indicates a read operation that may return null if no link exists, but does not mention error behavior, side effects, or permission requirements.

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 uses Javadoc-style tags for param and return. It is front-loaded with the main action. Could be slightly more 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?

The output schema exists but is not described; the return mentions a 'values' object without details. Given the tool's simplicity, it is adequate but not thorough.

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 description adds value by explaining customer_id as 'The customer's database id'. However, it lacks details like valid ranges or 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 the verb (returns) and the resource (customer's linked Netfluid wallet_fk and account_fk), and notes 'if available'. It distinguishes from the sibling paywall__customer_link_wallet_account which creates the link.

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 other retrieval tools (e.g., netfluid__wallet_accounts_list). No exclusions or alternatives mentioned.

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

paywall__customer_log_paymentAInspect

Logs payment of an invoice, invoices may be paid in several micro payments. Only once the invoice is paid in full does the subscription activate. Any amount overpaid is saved towards credit for the next subscription @param invoice_id: The customer's database invoice_id @param amount_paid: The decimal amount paid @param customer_payment_reference: An optional payment reference @return: a json object, in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes
amount_paidYes
customer_payment_referenceNoPaid

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: it is a write operation that logs payments, supports partial payments, and handles overpayments by crediting. It also describes the return value.

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 and well-structured: a clear paragraph explaining the behavior followed by parameter documentation. Every sentence adds value without redundancy.

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 the existence of an output schema, the description adequately covers the return format and provides sufficient context about the payment logging process, including special cases like partial payments and overpayments.

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 adds @param documentation for all three parameters, clarifying the meaning of invoice_id, amount_paid, and the optional customer_payment_reference, compensating for the 0% schema description 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's purpose: 'Logs payment of an invoice.' It explains nuances like partial payments and overpayments, distinguishing it from sibling tools that handle payment history or alternative payment methods.

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 explains when to use the tool (logging micro payments) and provides context about invoice fulfillment and overpayment credits. However, it does not explicitly mention when not to use it 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.

paywall__customer_log_subscriptionAInspect

Creates a new subscription for the customer and generates a new invoice. @param customer_id: The customer's database id @param subscription_type_fk: The database subscription type @return: a json object, in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes
subscription_type_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 mentions creating subscription and generating invoice but omits side effects (e.g., overwriting existing subscriptions), prerequisites, or irreversibility.

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?

Extremely concise: one sentence for purpose, two lines for parameters, one for return. Front-loaded with the main action.

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, parameters, and return type, but lacks behavioral details and prerequisites. The return description is vague ('a json object, in the "values" 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 coverage is 0%, so description adds essential meaning: explains customer_id is the customer's database id and subscription_type_fk is the database subscription type. This goes 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.

Purpose5/5

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

The description clearly states it creates a new subscription and generates an invoice, with specific verb+resource. It distinguishes from sibling tools like paywall__customer_validate_subscription which only validates.

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. The description only explains what it does, not when it's appropriate or contraindicated.

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

paywall__customer_payment_historyBInspect

Returns the customer's payment history @param customer_id: The customer's database id @return: a json object, in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior2/5

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

Description only states it returns payment history. No annotations provided. No mention of authentication, rate limits, or whether it is a read-only operation.

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, front-loaded purpose, with JSDoc annotations. No unnecessary words.

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?

Description provides minimal information about return value (a JSON object with 'values'). With output schema existing, it's adequate but lacks detail about the content of payment history.

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 has one parameter with 0% coverage. Description adds meaning: '@param customer_id: The customer's database id' clarifies the parameter 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?

Clear verb 'Returns' and resource 'customer's payment history'. Distinct from sibling tools like paywall__customer_get_invoices or paywall__customer_get_credit_balance.

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 exclusions or prerequisites mentioned.

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

paywall__customer_subscription_statusCInspect

Returns the customer's current subscription status including the expiry_date @param customer_id: The customer's database id @return: a json object, containing the customer id in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

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. It only states basic functionality and does not disclose whether it is read-only, authentication requirements, 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.

Conciseness4/5

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

Description is short and includes param and return info in a structured way. No extraneous text, though can be slightly 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 an output schema, the description lacks differentiation from sibling subscription-related tools. It doesn't clarify what 'subscription status' includes or how it differs from validation.

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 explains customer_id as 'The customer's database id', adding meaning 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.

Purpose3/5

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

The description states it returns subscription status and expiry_date, but the return specification mentions only customer id, causing confusion. It does identify a specific resource but lacks precision about what exactly is returned.

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 paywall__customer_validate_subscription or paywall__customer_find. The description does not specify context or exclusions.

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

paywall__customer_validate_subscriptionCInspect

Returns the current state of a customer's subscription. @param customer_id: The customer's database id @return: a json object, with the current state of a customer's subscription, in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
customer_idYes

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 provided, the description must disclose behavior. It mentions the return format (JSON with 'values' object) but does not address side effects, authentication needs, error handling, or what happens for invalid customer IDs. The behavioral disclosure 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.

Conciseness4/5

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

The description is short and front-loaded with the purpose. The Javadoc-style param and return notes are efficient and add value without redundancy. Every sentence earns its place, though the return note could be 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 presence of an output schema, the description does not need to fully detail return values. It mentions the JSON structure with 'values' object, which is helpful. However, it lacks common error conditions and usage context, making it only minimally complete for a simple read 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?

Schema coverage is 0%, so the description must add meaning. It states '@param customer_id: The customer's database id', which clarifies the parameter beyond the schema's type-only definition. However, it adds no additional constraints or format details, making it adequate but not outstanding.

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 the current state of a customer's subscription, which is a specific verb and resource. It distinguishes from sibling tools like paywall__customer_create or paywall__customer_find, though it could be more explicit about what 'current state' includes.

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. Among siblings like paywall__customer_get_invoices or paywall__customer_log_subscription, there is no mention of context or exclusions.

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

paywall__delete_unpaid_invoiceAInspect

Deletes an unpaid invoice, updates payment history. The system allows unpaid invoices to be deleted. This means the subscription will likely revert to it's last state. Only works on unpaid invoices. @param invoice_id: The database invoice_id @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

Behavior4/5

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

The description discloses the side effect of reverting the subscription to its last state. With no annotations to rely on, this provides necessary behavioral context beyond the mere delete action.

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, front-loaded with the main action, and provides necessary details in a few sentences without redundancy.

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 the simple tool (one parameter), the description covers purpose, parameter meaning, behavioral effect, precondition, and return format (via @return). No gaps are present.

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 single parameter invoice_id is explained as 'The database invoice_id', adding meaning beyond the schema's type-only definition. This fully compensates for the 0% schema description 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 verb 'Deletes' and the resource 'unpaid invoice', and specifies a side effect 'updates payment history'. It is distinct from sibling tools, none of which delete invoices.

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 states the precondition 'Only works on unpaid invoices' and implies when to use. However, it does not provide alternatives or when not to use, which would improve guidance.

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

paywall__liveness_checkAInspect

Provides a tool to test the network availability of the API @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?

Annotations are empty, so the description carries full responsibility. It states the tool tests network availability and returns a JSON object, but does not disclose idempotency, safety, potential errors, or side effects. For a simple health check this is minimally adequate.

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 with no wasted words. The main purpose is in the first sentence. It is appropriately sized for a simple tool.

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 (not shown), the description does not need to explain return values. It omits prerequisites or usage tips, but for a liveness check the provided information is nearly 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?

There are no parameters, so schema coverage is 100%. The description adds context about the tool's purpose ('test network availability'), which adds value beyond the empty 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 specifies a clear verb ('test') and resource ('network availability of the API'), making the tool's purpose immediately obvious. It distinguishes itself from siblings like `netfluid__help_ping` by focusing on the paywall API specifically.

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. There is no mention of preconditions, recommended context, or exclusions. The description is purely functional.

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

paywall__pay_subscription_with_creditsAInspect

Accepts a subscription payment from the customers prepaid credit. These credits could have arrived from an over-payment or calling netfluid_wallet_transfer tool. The invoice_id is the result of a call to customer_log_subscription tool @param customer_id: The database customer_id @param invoice_id: The database invoice_id @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYes
customer_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; description gives minimal behavior beyond accepting payment and returning JSON. Does not disclose potential side effects like credit consumption or invoice status 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?

Concise with clear purpose first, then credit source, then param docs. Minor redundancy but overall well-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 parameters and return format, but lacks error handling, prerequisites (sufficient credits), or idempotency info. Competent but not exhaustive.

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 has 0% coverage; description adds meaning by explaining invoice_id comes from customer_log_subscription and customer_id is the database ID, adding value beyond 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?

Description clearly states it accepts subscription payment from prepaid credits, distinguishes from sibling tools that handle wallet or OTT voucher payments. Explains credit sources and invoice dependency.

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?

Implied usage when customer has prepaid credits and has created an invoice via customer_log_subscription, but no explicit when-to-use vs 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.

paywall__pay_subscription_with_ott_voucherAInspect

Accepts a subscription payment using an OTT Voucher PIN. If successful it will issue and make payment on a subscription invoice, which in turn will either extend or create a customer subscription. This is the preferred tool to use for activating subscriptions using OTT as a payment method @param identifier: The customer unique identified, hint: the session_id is normally also the mobile number @param ott_pin: The OTT voucher PIN, typically a 10-digit number @param subscription_type_fk: The database subscription_type, a number starting at 1, defaults to 1 @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
ott_pinYes
identifierYes
subscription_type_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 reveals the flow: accepts payment, issues/makes payment on invoice, extends/creates subscription. It also describes the return format as a JSON object with 'values'. However, it does not mention potential failure modes, error handling, or prerequisites like customer existence, which would enhance transparency.

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 @param and @return tags, front-loading the main purpose. It is informative but slightly verbose; the parameter hints could be more concise. However, the organization helps readability.

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 3 parameters, no enums, and an output schema (though not shown), the description covers the essential flow. It explains the return structure. It could mention prerequisites (e.g., customer must exist) or error cases, but overall it is fairly complete for a payment activation 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 coverage is 0%, so the description adds essential meaning: identifier is the customer unique ID (hint: session_id is normally mobile number), ott_pin is typically a 10-digit number, and subscription_type_fk is a database number starting at 1 with default 1. This significantly enriches 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 the verb 'accepts a subscription payment' and the resource 'OTT Voucher PIN', with details on issuing payment on an invoice and extending/creating a subscription. It distinguishes from sibling tools like pay_subscription_with_credits by specifying the OTT payment method.

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 states 'This is the preferred tool to use for activating subscriptions using OTT as a payment method', giving clear context for when to use it. It does not mention exclusions or explicitly state when not to use, but the context from sibling names (e.g., pay_subscription_with_credits) provides implicit differentiation.

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

paywall__pay_subscription_with_walletAInspect

Accepts a subscription payment from a tied Netfluid wallet and account. The customer's attached wallet's PIN is required to perform the transaction. @param identifier: The customer unique identified, hint: the session_id is normally also the mobile number @param from_wallet_pin: The assigned Netfluid wallet PIN, 5 digits as a string @param subscription_type_fk: The database subscription_type, a number starting at 1, defaults to 1 @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYes
from_wallet_pinYes
subscription_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?

Annotations are empty, so the description carries the full burden. It discloses that the wallet PIN is required and hints that the identifier is typically the mobile number. It mentions the return format (JSON with 'values' object). However, it does not discuss idempotency, error conditions, rate limits, or whether the transaction is reversible.

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 with three sentences. The first sentence states the purpose, followed by parameter descriptions. No superfluous content. The use of @param notation is acceptable but slightly technical; otherwise, structure is clear and efficient.

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 3 parameters (2 required), no enums, and an output schema, the description covers the purpose, all parameters, and return value. It adequately explains the identifier's nature. It could add more on error handling or idempotency, but it is largely complete for a payment 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 detailed inline parameter documentation: identifier (session_id typically mobile number), from_wallet_pin (5-digit string), subscription_type_fk (number starting at 1, defaults to 1). This fully compensates for the missing schema descriptions and adds valuable context.

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 accepts a subscription payment using a Netfluid wallet and account. It identifies the payment method (wallet), distinguishing it from sibling tools like paywall__pay_subscription_with_credits or paywall__pay_subscription_with_ott_voucher. However, the verb 'Accepts' is slightly vague; 'Pays' or 'Processes' would be more direct.

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 implies the customer must have a tied wallet and a PIN, but does not compare to other subscription payment methods. No when-not-to-use or prerequisites are mentioned.

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

paywall__purchase_add_on_unitsAInspect

Purchases addition subscription units. The systems use the available credit balances (if available) when no OTT voucher PIN is provided. When an OTT voucher is provided, the voucher is redeemed and the fup allocated to the customer. Any amount OTT voucher may be used. OTT Merchant Fees are 7%, these are deducted before the units are purchased. The total amount used in allocating FUP tokens = credit + (OTT amount - OTT Merchant Fee of 7%) This will work on any subscription including the freemium tier, meaning non-paying subscribers become pay-as-you-go customers Buying additional tokens does not extend your subscription period, it merely adds to your available tokens. @param customer_id: The database customer_id @param mobile: The customers mobile number, typically his session_id @param ott_pin: The OTT Voucher PIN, a 10-digit number @return: a json object, containing the results in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
mobileNo
ott_pinNo
customer_idYes

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 behavioral traits: credit balance usage, OTT voucher redemption, 7% merchant fee, FUP allocation formula, compatibility with freemium, and non-extension of subscription period. This is comprehensive and goes beyond a simple description.

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 paragraphs and @param tags, but contains some redundancy (e.g., explaining the formula twice). It is informative but could be slightly more concise without losing 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?

Given the complexity of the tool (3 params, no annotations, no output schema), the description is quite complete. It covers behavior, parameters, and return format. However, it lacks details on error responses or the structure of the 'values' object, which would enhance 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?

Schema coverage is 0%, so the description must compensate. It provides clear @param tags for all three parameters: customer_id (database ID), mobile (session ID), ott_pin (10-digit PIN). This fully explains the meaning and typical values 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 it purchases additional subscription units, explaining the behavior with credits and OTT vouchers. It distinguishes itself from sibling tools by specifying it works on any subscription tier and does not extend the subscription period.

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 explains when to use the tool (to purchase add-on units) and details the logic for credit vs. OTT voucher usage. It implicitly covers when not to use (e.g., if extending subscription period is desired), but lacks explicit comparison to alternative tools.

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

paywall__subscription_typesAInspect

Returns the available subscription types @return: a json object, containing the customer id in the "values" 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?

Annotations are empty, so description carries the burden. It mentions return format (JSON with customer ID in 'values'), but lacks details on authentication, side effects, or idempotency. Partially informative.

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

Conciseness5/5

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

Two-line description, minimal and front-loaded. Every sentence adds value, no 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?

Simple tool with no parameters and output schema exists. Description covers the basic purpose and return structure, sufficient for a retrieval operation.

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, so schema coverage is 100%. Baseline is 4 per guidelines. Description adds no parameter info since none exist.

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 available subscription types', which is a specific verb and resource. It distinguishes itself from sibling tools like paywall__customer_* which deal with customer operations.

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 context, prerequisites, or exclusions.

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

paywall__wallet_transferAInspect

Transfers amount from wallet_fk, account_fk to the system wallet This tool only transfers the amount, it does not activate or act on the transfer. The sending wallet's PIN is required to perform the transaction. Use it for account top-ups or if successful to log a customer payment. The benefit of using a Netfluid wallet is that Netfluid does not charge a fee on internal transfers, implying a cost saving. Funds received in the system account become credits on the customer account. These credits can then be used to purchase subscriptions @param from_wallet_fk: The sender Netfluid wallet_fk @param from_wallet_pin: The sender Netfluid wallet PIN @param from_wallet_account_fk: The sender Netfluid account_fk (not account address but the database account_fk) @param amount: The decimal amount to transfer @return: a json object, containing the OTT voucher amounts in the "values" object

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYes
from_wallet_fkYes
from_wallet_pinYes
from_wallet_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 responsibility. It explains the transfer action, requirements (PIN), and outcome (funds become credits). It also mentions it does not activate the transfer. However, it omits details on authorization, reversibility, error cases, and rate limits, leaving some gaps.

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 a single paragraph with clear sentences and a parameter list. It front-loads the core action. While not extremely terse, it avoids redundancy and each sentence adds value.

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 transfer action, requirement, and outcome, and mentions the return value (JSON with OTT voucher amounts). However, it does not address prerequisites (e.g., wallet existence), error handling, idempotency, or the fact that it returns voucher amounts (which seems contextually odd). Given the tool's complexity and the presence of an output schema (not shown), it is moderately complete but could be more 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 description includes inline parameter documentation (@param) for all four parameters, clarifying the field type for from_wallet_account_fk ('database account_fk') and specifying 'decimal amount'. This adds significant meaning beyond the schema, which only lists types and required status.

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 transfers an amount from a wallet to the system wallet, specifying the verb 'transfers' and the resource. It distinguishes from sibling tools by mentioning it's for internal transfers (no fee) and for account top-ups. However, it does not explicitly differentiate from other transfer tools like netfluid__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 Guidelines3/5

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

The description says to use it for account top-ups and logging customer payments, and notes the benefit of no fee. It does not provide explicit when-not to use or alternatives among siblings, though the context from purpose helps. The guidance is present but not exhaustive.

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