Modexia
OfficialAllows LangChain bots to execute secure cryptocurrency transactions and zero-fee micro-payments via Modexia's crypto infrastructure.
name: modexia-mcp version: 0.4.1 description: The official Model Context Protocol (MCP) server for autonomous AI Agents to interact with Modexia's crypto infrastructure. author: Modexia homepage: https://github.com/Modexia/ModexiaAgentpay tags:
mcp
web3
payments avatar: https://raw.githubusercontent.com/Modexia/ModexiaAgentpay/main/apps/mcp-server/assets/modexialogo.png config: type: stdio command: uvx args:
modexia-mcp skills:
nanopay
nanopay_activate
nanopay_deposit
nanopay_withdraw
nanopay_balance
submit_intent
get_intent
list_intents
open_channel
consume_channel
settle_channel
get_channel
list_channels
get_balance
get_history
transfer
cross_chain_transfer
smart_fetch prompts:
nanopay_usage_instruction
create_intent_payment_instruction
setup_microtransactions_instruction
create_payment_instruction resources:
modexia://docs/llms_context
Welcome to the Modexia AgentPay MCP Server (modexia-mcp). This server bridges the gap between Large Language Models and the real-world digital economy.
By integrating this standard Model Context Protocol (MCP) server into your AI stack (Claude Desktop, LobeChat, Dify, or custom multi-agent swarms), you instantly equip your AI Agents with a programmatic Smart Contract Wallet.
Instead of your agents hitting 402 Payment Required errors and failing, they can now autonomously negotiate paywalls, purchase premium data, execute zero-gas microtransactions via Circle Gateway, and trade compute resources with other agents in high-frequency vault channels.
Modexia gives your AI a bank account, and MCP gives it the tools to use it.
What's New in v0.4.1
Circle Gateway Nanopayments (x402) This release brings full agentic support for gas-free, sub-cent microtransactions directly to the MCP level.
nanopay— Fetch an x402-protected URL and automatically negotiate the payment using EIP-3009 offline signatures. Includes inline auto-refill logic.nanopay_activate— One-time activation for the agent.nanopay_deposit/nanopay_withdraw— Manage gateway funds directly from the main wallet.nanopay_balance— Track the True Available Balance (Gateway deposits minus pending/unsettled signatures).Structured Error Handling — The MCP tools now pass back structured
ModexiaPaymentErrorcodes (e.g.,INSUFFICIENT_MAIN_BALANCE) so the LLM can reason about failures and take corrective action.
Related MCP server: remit.md MCP Server
Previous: What's New in v0.3.0 (Intent-to-Pay)
Intent-Based Payments (v2) Execute standard USDC payments through a strict compliance pipeline with rich feedback.
submit_intent— Create a signed intent, validate against policies, and execute on-chain.get_intent/list_intents— Audit trail and tracking.
Features
Circle Gateway Integration: Direct programmatic access to Circle's USDC nanopayment infrastructure.
Gas-Free Microtransactions: Send payments as low as $0.000001 with zero blockchain fees.
EIP-3009 Offline Signatures: Secure, off-chain payment authorizations that prevent double-spending.
Intent-Based Routing: Strict policy enforcement, daily spend limits, and cryptographic audit trails.
Automated Paywall Negotiation: Automatically detect
402 Payment Requiredheaders and fulfill them inline.Smart Auto-Refill: Seamlessly top-up gateway balances from the main wallet when funds run low.
Exposed MCP Components
Tools
Tool Name | Description |
| Auto-negotiate and pay for |
| One-time activation command to enable Circle Gateway nanopayments for the agent. |
| Deposit funds from the main agent wallet to the nanopayment Gateway. |
| Withdraw unused funds from the Gateway back to the main wallet. |
| Check the True Available Balance (Gateway deposits minus pending signatures). |
| Execute a standard USDC payment with compliance and policy enforcement. |
| Retrieve the status and compliance metadata of a previously submitted payment intent. |
| Fetch recent payment intents for audit trail review. |
| Lock funds into a smart contract for high-frequency micro-transactions. |
| Execute instant, gas-free micro-payments inside an open channel. |
| Close the vault and distribute funds on-chain. |
| Check the current capacity and state of a specific payment channel. |
| List all payment channels associated with the agent's wallet. |
| Retrieve the current USDC balance of the agent's primary Smart Contract Wallet. |
| Fetch the recent transaction history for the agent. |
| Execute a standard synchronous USDC transfer (v1). |
| Execute a cross-chain CCTP payment via Squid Router (e.g., Ethereum -> Akash). |
| Legacy HTTP auto-negotiation for HTTP-based Paywalls. |
Prompts
Prompt Name | Description |
| Best practices for funding the gateway and executing |
| Rules for structuring compliant payments, adding memos, and handling policy rejections. |
| Step-by-step guide on opening, consuming, and settling vault channels. |
| Standard rules for legacy idempotency-based transfers. |
Resources
Resource URI | Description |
| The complete Modexia Developer Protocol Guide with overarching economic rules for swarms. |
Configuration & Setup
This server requires a Modexia API Key to function. You can obtain one by creating a developer account at modexia.software.
Variable | Description |
| Required. Your Modexia developer key (e.g. |
| Optional. Overrides the API endpoint. Defaults to the Sandbox Environment. |
Using uvx (Recommended)
You can run this server directly in any MCP client that supports standard executable commands:
uvx modexia-mcpClaude Desktop
To use Modexia with Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"modexia": {
"command": "uvx",
"args": ["modexia-mcp"],
"env": {
"MODEXIA_API_KEY": "mx_test_YourApiKeyHere"
}
}
}
}Contributing to Open Source
We actively welcome community contributions to make this MCP server even better. Because it acts as the primary interface for autonomous AI agents, we heavily prioritize stability and strict prompt engineering.
Clone the Repo:
git clone https://github.com/Modexia/modexia-mcp.gitInstall Dependencies:
pip install -e .Run Locally: You can run the server in stdio mode for local testing via
python -m modexia_mcpSubmit PRs: Open a Pull Request targeting the
mainbranch.
Security Model
The Modexia MCP Server never exposes your private keys to the LLM context. The AI only has permission to trigger explicitly configured MCP tools. Policy limits (e.g., maximum daily spend, hourly caps) are enforced automatically on the Modexia backend. Even a hallucinating AI cannot drain your wallet above your predefined guards.
License & Support
modexia-mcp is an open-source tool governed by the MIT License.
Need help scaling your agent swarm or configuring your API keys? Access your developer dashboard and explore the docs at modexia.software.
Available Tools
18 toolsconsume_channelB
Execute an instant, gas-free micro-payment inside an already open channel. Call this as many times as needed while the channel is open.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| channel_id | Yes | ||
| idempotency_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It does reveal that payments are instant, gas-free, and repeatable. However, it omits side effects (like deducting from channel balance), failure modes, or what happens if the channel is not open.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and a clear usage note. Zero filler words, every phrase contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 3 parameters (2 required), no output schema, and no annotations, the description is too thin. It does not explain parameter semantics, idempotency, error handling, or return behavior. It is a minimal purpose statement, not a complete usage guide for a payment mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only indirectly implies 'amount' via 'micro-payment' and 'channel_id' via 'channel,' but provides no details about types, values, or the idempotency_key parameter. It does not compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Execute an instant, gas-free micro-payment inside an already open channel.' It clearly distinguishes the tool from open_channel and settle_channel by requiring an already open channel, though it does not explicitly name sibling alternatives like nanopay or transfer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Call this as many times as needed while the channel is open' gives clear context for repeated use during an open channel. It does not state when NOT to use it or compare with alternatives, so it misses explicit exclusion guidance for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cross_chain_transferA
Send a cross-chain CCTP payment natively to another blockchain using Squid Router.
Requires to_chain (e.g., '1' for Ethereum, 'akashnet-2' for Akash Network), to_token address,
and the recipient wallet address. Gas relaying on the destination is covered automatically!
Always provide an idempotency_key to prevent double charges.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| to_chain | Yes | ||
| to_token | Yes | ||
| recipient | Yes | ||
| idempotency_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It adds useful context: gas relaying is covered automatically and an idempotency key is recommended to prevent double charges. However, it does not disclose other important behaviors such as whether the operation is irreversible, what happens on success/failure, or whether it requires any authentication. Thus it provides some transparency but not a full picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each earning its place: the first states the core purpose, the second lists required parameters with a concrete example, and the third highlights the key operational note about gas and idempotency. It is front-loaded with the most important information and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description should explain return values and other operational details. It covers the basic invocation requirements and the gas behavior, but does not mention what the response contains (e.g., transaction hash), whether the source chain is inferred, or any fees/limits. It also says 'Always provide an idempotency_key' while the schema marks it optional, which is a minor inconsistency that reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It successfully explains the meaning of most parameters: to_chain with examples, to_token as an address, recipient as wallet address, and idempotency_key for preventing double charges. The only gap is 'amount,' which is not described beyond being required. Overall, it adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Send a cross-chain CCTP payment natively to another blockchain using Squid Router.' This clearly distinguishes it from the sibling 'transfer' tool (which likely handles same-chain transfers). It also names the protocol (CCTP) and router (Squid), leaving no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly tells when to use the tool: when a cross-chain CCTP payment is needed, as opposed to the sibling 'transfer' tool. It provides concrete examples for chain identifiers and notes that gas relaying is automatic, which helps set expectations. However, it does not explicitly state 'use this instead of transfer' or mention any excluded scenarios, so it falls short of a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceA
Retrieve the current USDC wallet balance for the Agent's Smart Contract Wallet.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. The verb 'retrieve' implies a read-only operation, but the description does not explicitly state that it has no side effects, requires no special permissions, or what the return format is. It is adequate for a simple getter but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that is front-loaded with the verb 'Retrieve' and the object. No unnecessary words or repetition. It earns its place efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema present, the description is fairly complete. It specifies the currency (USDC), the wallet type (Agent's Smart Contract Wallet), and the temporal aspect ('current'). It does not mention network or chain, but that might be implied by the tool's context or output schema. Overall sufficient for a simple read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100% (trivially). With no parameters to document, the baseline is 4. The description does not add parameter details because none exist. This is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves 'the current USDC wallet balance for the Agent's Smart Contract Wallet.' The verb 'retrieve' and the specific resource (USDC wallet balance) make the purpose immediately clear. It distinguishes from siblings like nanopay_balance by specifying the Agent's Smart Contract Wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use this to get the current USDC balance of the Agent's SCW. It implicitly tells the agent when to use it (when needing the SCW balance). However, it does not explicitly mention alternatives or exclusions, such as when to use nanopay_balance instead. That prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_channelA
Get the current status, deposit amount, and remaining balance of a specific payment channel.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It implies a read-only operation through 'Get' and lists the returned data, but it does not mention error behavior, authentication needs, or side effects. This is acceptable for a simple getter, but lacks the depth that annotations would normally provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main action and the three pieces of information retrieved. There is no superfluous text, making it efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter getter with no output schema, the description sufficiently covers the purpose and the data returned. It would be more complete if it mentioned potential errors or prerequisites, but the tool's simplicity makes the description adequate overall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, and the description does not explain the channel_id parameter at all. While the parameter name is self-explanatory, the description should compensate for the schema's lack of context, such as where to obtain a channel_id or its format, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves data for a specific payment channel: status, deposit amount, and remaining balance. The verb 'Get' and resource are explicit, and it distinguishes itself from siblings like list_channels or get_balance by focusing on a single channel's detailed state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given on when to use this tool versus alternatives like list_channels or get_balance. The context of 'specific payment channel' implies usage for channel-level details, but there is no direct comparison or exclusion, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyC
Fetch the recent transaction history for the authenticated agent.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the action and scope, but does not communicate whether the operation is read-only, requires any permissions, how pagination works, or what response to expect. This is a significant gap for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It directly states the purpose, making it appropriately concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description is incomplete for a tool that likely returns a complex history object. It does not specify what 'recent' means, how limit affects results, or the structure of the returned data. The simple one-liner is insufficient for an agent to invoke correctly without relying on guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (limit) with a default of 5 and no description. The tool description does not explain the meaning of the limit parameter, leaving its behavior entirely undefined. With 0% schema coverage, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool fetches recent transaction history for the authenticated agent, using a specific verb and resource. It distinguishes from sibling tools like get_balance or transfer, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives, nor any conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intentA
Get the status and details of a previously submitted payment intent.
| Name | Required | Description | Default |
|---|---|---|---|
| intent_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. As a get operation, the read-only nature is evident, but the description does not elaborate on error behaviors, required permissions, or what 'details' include. It is minimally transparent but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the action and resource. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema, but the description does not specify what 'details' means or how status is represented. Given the simplicity, the description is adequate but lacks enrichment about return values or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for intent_id (0% coverage), but the description clarifies that the parameter refers to a previously submitted payment intent. This adds meaningful context beyond the naked schema, even though only one parameter exists and is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves status and details for a previously submitted payment intent, with a specific verb ('get') and resource ('payment intent'). It implicitly distinguishes from sibling tools like list_intents by focusing on a single intent identified by id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (after submitting an intent) but provides no explicit guidance about alternatives or when not to use it. It does not reference sibling tools or exclusions, so context is only weakly conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_channelsB
List all payment channels associated with the authenticated agent's wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'List' implies a read-only operation, and 'authenticated agent' indicates authentication is required. However, it does not disclose details like pagination behavior, ordering, or whether any state is affected. For a simple listing tool this is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence containing all essential information. Every word contributes to the purpose, and there is no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The core purpose is clearly stated, but the description is thin for a tool with no output schema and no annotations. It does not explain what a 'payment channel' entry looks like, what the limit parameter does, or how this relates to siblings like get_channel. Given the low complexity of the tool, this is a minimum viable description but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single optional 'limit' parameter with no description (schema coverage 0%). The description does not mention 'limit' at all, nor does it explain how results are paginated or capped. The meaning is inferable from the name and type, but the description fails to add any parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a specific resource ('payment channels'), with a clear scope ('associated with the authenticated agent's wallet'). This clearly distinguishes it from sibling tools like get_channel (which fetches a single channel) and list_intents (which lists a different resource type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives such as get_channel or get_history. There is no mention of 'use this to see all channels' or 'use get_channel for a single channel'. The context is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_intentsB
List the most recent payment intents with their status and details.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that results are the most recent intents including status and details, which implies a read-only operation. However, it does not mention potential caveats such as authentication requirements, rate limits, pagination behavior, or error handling, so coverage is partial but not negligible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that starts with the action verb and contains only essential information. Every word adds value, and there is no redundancy or unnecessary detail. It is appropriately sized for a simple list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and no output schema, yet the description still leaves gaps. It mentions 'status and details' but doesn't specify what fields constitute 'details' or how the list is ordered (beyond 'most recent'). It also omits any default limit behavior. While adequate for a basic listing, it is not fully complete for an agent without prior context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'limit' parameter at all. The parameter is only defined by its name and default value, which offers minimal semantic value. The description fails to compensate for the lack of schema documentation, leaving the agent to guess that 'limit' likely controls the number of returned items.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (payment intents), and includes scope (most recent) and content (status and details). It is specific and understandable, but it does not explicitly differentiate from sibling tools like get_intent or get_history, so it doesn't earn a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as get_intent for a single intent or get_history for transaction history. There is no mention of prerequisites, exclusions, or appropriate contexts, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nanopayA
Fetch an x402-protected resource and automatically pay using Circle Gateway nanopayments. Gas-free, instant, supports payments as low as $0.000001 USDC. Use this for sub-cent API calls and premium data purchases.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| method | No | GET |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It adds valuable traits: 'Gas-free, instant, supports payments as low as $0.000001 USDC.' However, it omits important behaviors such as whether activation is required, what happens on payment failure, and whether the tool uses an existing nanopay balance. This leaves gaps for a payment-related tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of three short, information-dense sentences. It front-loads the core purpose, then adds key differentiators, and ends with target use cases. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters, no annotations, and no output schema, the description covers the core function and use case. However, it leaves important gaps: it does not state what the tool returns, prerequisites like nanopay activation, or failure behavior. Given the payment-involved nature, these omissions affect completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'url' or 'method' parameters. While 'url' is implicitly understood as the resource endpoint, 'method' (likely an HTTP verb) is entirely unexplained. The description fails to compensate for the lack of parameter details in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Fetch an x402-protected resource and automatically pay using Circle Gateway nanopayments.' This distinguishes it from sibling tools like smart_fetch by highlighting the automatic payment aspect. The purpose is unambiguous and well-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: 'Use this for sub-cent API calls and premium data purchases.' It gives specific use cases but does not explicitly name alternatives or state when not to use the tool. This is helpful but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nanopay_activateA
Enable Circle Gateway nanopayments for this agent. Must be called once before using nanopay, nanopay_deposit, or nanopay_balance. Idempotent — calling again returns the existing activation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses idempotency ('calling again returns the existing activation') and its prerequisite role. It does not mention auth requirements or error conditions, but for a zero-parameter activation tool, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the primary purpose, then usage requirement, then idempotency. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple activation tool, the description covers the essential context: what it does, when to call it, and its idempotent nature. It does not describe the return value or failure modes, but given the lack of output schema and zero parameters, it is nearly complete; the omission of nanopay_withdraw slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is nothing to document. The description adds no parameter detail, but the baseline for zero params is 4, and no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Enable Circle Gateway nanopayments') and the scope ('for this agent'). It distinguishes this tool from sibling tools like nanopay, nanopay_deposit, and nanopay_balance by positioning it as the activation prerequisite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool: 'Must be called once before using nanopay, nanopay_deposit, or nanopay_balance.' However, it omits nanopay_withdraw from the list of dependent tools, which is a minor gap given the sibling list includes that tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nanopay_balanceA
Get the agent's Circle Gateway nanopayment balance (separate from main wallet balance).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool retrieves a balance but doesn't disclose return format, units, potential errors, or prerequisites. For a simple read operation, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence that is front-loaded with the action verb and contains no redundant information. Very concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no parameters, but the description lacks information about return value format or units. However, it clearly differentiates the nanopayment balance from the main wallet balance, giving sufficient context for the agent to decide when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers argument needs; the description correctly focuses on the return value and purpose. Per the guideline, zero params receive a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'agent's Circle Gateway nanopayment balance', and explicitly distinguishes it from the main wallet balance, which differentiates it from the sibling tool get_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'separate from main wallet balance' provides context that this tool is for the nanopayment balance, implying that get_balance handles the main wallet. No explicit alternative is named, but the guidance is clear for the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nanopay_depositA
Deposit USDC from the agent's main wallet into the nanopayment Gateway. This is an on-chain transaction. After depositing, nanopayments are gas-free.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the transparency burden. It discloses 'This is an on-chain transaction,' which conveys key behavioral traits like network confirmation and likely fees. However, it does not mention approval requirements, reversibility, or failure conditions, leaving some important behavior undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the purpose, and every word adds value. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, this description is mostly sufficient: it gives the operation, the on-chain nature, and a key consequence. It could mention post-deposit steps (e.g., whether activation is required) but is not critically incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the description does not explain the 'amount' parameter at all. It only says 'USDC' in the purpose, leaving units, precision, and any constraints to be inferred. This fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Deposit USDC from the agent's main wallet into the nanopayment Gateway.' It specifies the verb, resource, source, and destination, and distinguishes from siblings like nanopay_withdraw by the direction of funds.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case by stating 'After depositing, nanopayments are gas-free,' which tells when this tool is beneficial. However, it does not explicitly name alternatives or exclusions (e.g., 'use nanopay_withdraw to withdraw'), so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nanopay_withdrawB
Withdraw USDC from the nanopayment Gateway back to the agent's main wallet.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without revealing side effects, prerequisites, fees, or failure conditions—important gaps for a withdrawal operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the purpose without unnecessary words. It is well-structured and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter withdrawal tool, the description covers the core action but lacks details about potential requirements (e.g., active channel, sufficient balance) or its relationship to sibling tools. It is minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'amount' parameter with no description, and the tool description does not elaborate on its units, format, minimums, or constraints. The agent must infer semantics solely from the parameter name and the tool's implicit context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Withdraw), the asset (USDC), the source (nanopayment Gateway), and the destination (agent's main wallet). This specific verb+resource combination distinguishes it from sibling tools like transfer or nanopay_deposit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for when to use the tool—when withdrawing USDC from the gateway to the main wallet—but does not explicitly mention alternative tools or exclusions. It implies usage rather than stating 'use this instead of X'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_channelA
Open a high-frequency micro-payment vault channel with on-chain deposit.
Blocks funds for the specific provider, allowing instant, gas-free payments via consume_channel.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | ||
| deposit_amount | Yes | ||
| duration_hours | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses the key behavioral trait that funds are blocked for a specific provider and that payments become gas-free, but it omits important operational details such as duration handling, settlement process, and return value, leaving noticeable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first names the operation and the second explains the consequence (blocking funds, gas-free payments). No wasted words, 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a reasonable overview of the tool's purpose and immediate effect, but given the lack of output schema and annotations, it misses key context: how the channel is later closed, the role of duration_hours, and what a successful call returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only covers provider ('specific provider') and deposit ('on-chain deposit'), while duration_hours is completely unmentioned, and the description provides no units or format for deposit_amount.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Open a high-frequency micro-payment vault channel'), and distinguishes it from siblings by mentioning the on-chain deposit and its connection to consume_channel. This clearly differentiates it from tools like settle_channel and list_channels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly positions this as a setup step for high-frequency micro-payments and explicitly references consume_channel as the follow-up action. However, it does not explicitly state when not to use it or mention alternatives like nanopay_deposit, so it just misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settle_channelA
Settle an open micro-payment channel, paying the provider, and refunding the remainder back to you.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does reveal the primary effects (paying the provider, refunding the remainder) and implies the prerequisite that the channel be open. However, it omits important details such as whether the settlement is irreversible, what happens if the channel is not open, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the action and front-loads the core purpose. Every word adds value, with no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's financial impact and the absence of an output schema or annotations, the description is somewhat thin. It doesn't explain how to discover the channel ID, what the return value is, or whether the action is reversible. For a one-parameter operation, it is minimally adequate but not rich enough for full autonomous decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides no information about the channel_id parameter. Since the schema has 0% description coverage and the only parameter is not elaborated, the agent gets no extra meaning about how to obtain or format the channel ID, which is a notable gap even though the parameter name is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('settle') and the resource ('open micro-payment channel'), and goes further to specify the financial outcomes: paying the provider and refunding the remainder. This distinguishes it from sibling tools like open_channel and consume_channel, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage scenario: settling an open channel. It does not explicitly mention when to use this tool over alternatives like consume_channel or get_channel, nor does it provide exclusions. The context is clear but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_fetchA
Fetch an external resource via HTTP. If the resource responds with a 402 Payment Required and a WWW-Authenticate header, this tool will automatically negotiate and pay the invoice via Modexia AgentPay, then retry the request with the cryptographic proof of payment.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly discloses the critical side effect: automatic negotiation and payment of invoices via Modexia AgentPay when a 402 with WWW-Authenticate is received. This is a significant behavioral trait (potential monetary cost) that would otherwise be unknown. However, it omits other behaviors like timeout, response format, or what happens on non-402 errors, which prevents a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action ('Fetch an external resource via HTTP') followed by the conditional payment behavior. Every sentence adds essential information without redundancy or filler. It is concise yet complete in its own scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior (fetch + auto-pay) but lacks an output schema and does not describe what the tool returns, error handling, or prerequisites. Given the tool can trigger payments, additional context would be expected for safe usage. Still, the unique payment flow is adequately described, earning a mid-level score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has minimal descriptions (0% coverage), and the description does not compensate by explaining the 'url' or 'method' parameters. It does not specify that 'method' likely requires an HTTP verb (GET, POST, etc.) or provide any allowed values. The overall fetch concept is clear, but parameter-level semantics are left entirely to the agent's inference, which is insufficient given the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Fetch an external resource via HTTP'. It also distinguishes itself from all financial sibling tools (get_balance, transfer, etc.) by describing its unique payment negotiation behavior on 402 responses. The verb 'fetch' plus resource 'external resource via HTTP' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage whenever an external HTTP fetch is needed, especially when the resource may require payment. It does not explicitly mention alternatives or when not to use the tool, but the context of sibling tools (all financial/channel operations) makes this the obvious HTTP fetch tool. The lack of exclusions is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_intentB
Submit an intent-based payment (v2 API). Creates a signed intent token, submits it through the validation pipeline, and returns a rich result with compliance metadata (policy limits, daily spend, balance). Always provide a memo describing why you are making this payment.
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | ||
| amount | Yes | ||
| recipient | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does disclose a multi-step process (token creation, submission, validation pipeline) and the type of result (compliance metadata), adding some value. However, it omits critical side effects such as whether funds are deducted, whether the action is reversible, or what permissions are required, leaving the safety profile incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first sentence states the purpose, the second explains the mechanism and output, and the third provides a critical usage requirement. No unnecessary words are present, and each sentence contributes distinct value. A slight improvement could be adding a warning about side effects, but that does not significantly hurt structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description offers useful context about the process and return metadata (policy limits, daily spend, balance), which is helpful given the absence of an output schema. Yet it lacks decision criteria for choosing this tool over sibling tools, does not clarify parameter formats, and fails to mention prerequisites or limitations. The description is adequate but leaves notable gaps for an agent to safely invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning only for the memo parameter ('describing why you are making this payment'), which is useful. However, it provides no additional semantics for 'amount' (units, currency, precision) or 'recipient' (address format, account ID), leaving those parameters underdefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Submit an intent-based payment') and elaborates with a specific mechanism (creates a signed intent token, submits through validation pipeline). It also names the result (compliance metadata). However, it does not explicitly distinguish this from sibling tools like 'transfer' or 'nanopay', leaving some ambiguity about when this resource is the right choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It only offers a memo-related instruction ('Always provide a memo'), which is a parameter usage tip, not a tool-selection criterion. There is no mention of when not to use it or which sibling tool would be more appropriate for simple transfers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transferA
Send a standard Modexia payment (USDC) to a recipient. Recommended to always provide an idempotency_key to prevent double charges. Optionally provide a memo to explain the reason for the payment (visible in audit trail).
| Name | Required | Description | Default |
|---|---|---|---|
| memo | No | ||
| amount | Yes | ||
| recipient | Yes | ||
| idempotency_key | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds valuable context: idempotency_key prevents double charges and the memo is visible in the audit trail. However, it does not disclose other behaviors such as reversibility, fees, or failure handling, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the core purpose. Every sentence contributes information (what it does, idempotency recommendation, memo option) with zero redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and key parameter advice, but it lacks details on return values, failure modes, or prerequisites. Given the absence of an output schema and annotations, the tool would benefit from noting what the response contains or any required setup, making it only moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It adds meaning for memo (reason, audit trail) and idempotency_key (prevents double charges), but provides no additional semantics for recipient or amount beyond the schema's names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a standard Modexia payment (USDC) to a recipient, using a specific verb and resource. It distinguishes itself from sibling tools like cross_chain_transfer and nanopay by specifying 'standard' and the USDC currency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (standard USDC payments) but does not explicitly mention alternatives or exclusion conditions. It provides usage advice for parameters (recommend idempotency_key, optional memo) but lacks guidance on when to choose this over cross_chain_transfer or nanopay.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
18 tool updates
v0.4.1- First observed
consume_channel - First observed
cross_chain_transfer - First observed
get_balance - First observed
get_channel - First observed
get_history - First observed
get_intent - First observed
list_channels - First observed
list_intents - First observed
nanopay - First observed
nanopay_activate - First observed
nanopay_balance - First observed
nanopay_deposit - First observed
nanopay_withdraw - First observed
open_channel - First observed
settle_channel - First observed
smart_fetch - First observed
submit_intent - First observed
transfer
TDQS
Tools are largely distinct, covering different payment mechanisms (standard transfers, cross-chain, channels, intents, nanopayments). Some overlap exists between transfer and submit_intent, and between smart_fetch and nanopay, but descriptions clarify their different triggers and protocols.
Most tools follow a consistent verb_noun or resource-specific pattern (get_*, list_*, *channel, nanopay_*). Minor deviations like 'smart_fetch' and standalone 'nanopay' break the convention slightly, but overall naming is predictable and readable.
At 18 tools, the server is slightly on the heavier side of the ideal 3-15 range, but each tool addresses a distinct payment capability (standard, cross-chain, channels, intents, nanopayments), so the count feels justified for the scope.
The tool surface covers the full payment lifecycle for multiple payment methods: balances, transfers, history, channel open/consume/settle, intents, and nanopay management. Minor gaps exist (no cancel for regular transfers, no single-transfer detail retrieval), but these are not critical for core workflows.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Keyless non-custodial crypto payments for AI agents: payment links and tip jars, no API key.
Complete financial infrastructure for AI agents — payments, lending, escrow & more.
MCP server for AI agents to discover campaigns by humans and donate USDC directly on Base.
Give your AI agent an x402 wallet: discover and pay for services in USDC, or earn from your own.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables AI agents to interact with cryptocurrency ecosystems through wallet management, trading operations (swaps, DCA, limit orders), staking, and multi-chain support starting with Solana.37GPL 3.0
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to perform financial transactions such as direct payments, escrows, and bounty management using natural language with zero code integration. It provides a comprehensive suite of tools for fund streaming, subscriptions, and reputation tracking to facilitate secure agent-to-agent commerce.22MIT
- AlicenseNot gradedqualityCmaintenanceAI-to-AI marketplace MCP server with 46 tools — swap 65+ crypto tokens on 7 chains, rent GPUs, trade 25 tokenized stocks, on-chain escrow (Solana + Base), DeFi yields, sentiment analysis, wallet monitoring, and image generation. Supports USDC payments across 14 blockchains.MIT
- AlicenseAqualityDmaintenanceAn MCP server for USDC payments on Base, enabling AI agents to check balances, send payments, generate payment requests, and view transaction history.41MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Modexia/modexia-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server