AlgoVoi MCP Server
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation4/5
Most tools have distinct purposes, such as create_payment_link for hosted checkout and generate_ap2_mandate for agent-to-agent payments. However, the three challenge-generation tools (generate_ap2_mandate, generate_mpp_challenge, generate_x402_challenge) could be confusing due to overlapping concepts of payment challenges, though their specific protocols help differentiate them.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern with snake_case, such as create_payment_link, verify_payment, and list_networks. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
Tool Count5/5With 11 tools, the server is well-scoped for handling blockchain payments and verifications. Each tool serves a clear function, such as payment creation, verification, and network listing, without feeling excessive or insufficient for the domain of payment processing and validation.
Completeness5/5The tool set provides comprehensive coverage for the payment domain, including creation (e.g., create_payment_link), verification (e.g., verify_payment, verify_ap2_payment), and support tools (e.g., list_networks, verify_webhook). There are no obvious gaps, as it covers multiple payment protocols and lifecycle stages from initiation to confirmation.
Average 3.9/5 across 11 of 11 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- 1 of 2 community issues answered or closed in the last 6 months
- 1 commit in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- 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 of behavioral disclosure. It mentions the return value ({verified: true}) but lacks details on error handling, rate limits, authentication requirements, or what happens if verification fails. This is insufficient for a verification tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose, parameters, and output without any wasted words. It is appropriately sized and front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of verifying on-chain transactions, no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It lacks details on error responses, behavioral traits like idempotency or side effects, and doesn't fully compensate for the missing parameter documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds some semantic context: it explains that 'tx_id' is an 'on-chain transaction ID' and 'resource_id' relates to a 'resource's declared amount' and 'tenant's payout address'. However, it doesn't fully document all three parameters (e.g., 'network' is only implied by context), leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('verify') and resource ('MPP receipt'), specifying it checks if a transaction paid the declared amount to the tenant's payout address. This distinguishes it from sibling tools like 'verify_payment' or 'verify_webhook' by focusing on MPP receipts and on-chain transaction IDs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 'verify_payment' or 'verify_ap2_payment', nor does it mention prerequisites or exclusions. It only states what the tool does without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the output (short token and public URL) and payment options, which adds useful context beyond the input schema. However, it lacks details on permissions, rate limits, error handling, or whether the operation is idempotent (though the idempotency_key parameter hints at this). The description is adequate but misses key behavioral traits for a payment creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core action and efficiently covers the output and payment methods without unnecessary details. Every part of the sentence adds value, making it concise and easy to parse for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations, no output schema), the description is moderately complete. It explains what the tool does and the output format, but lacks details on return values (since no output schema exists), error conditions, or integration context. For a payment tool, this leaves gaps in understanding full behavior, though it covers the basics adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description adds no additional parameter semantics beyond what the schema provides, such as explaining relationships between parameters or usage examples. It implies parameters like amount and network but doesn't elaborate, so the baseline score of 3 is appropriate given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Create a hosted AlgoVoi checkout URL'), identifies the resource (payment link), and distinguishes this from sibling tools like verify_payment or list_networks by focusing on creation rather than verification or listing. It specifies the output (short token and public URL) and payment methods (USDC or native tokens).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 prepare_extension_payment or other sibling tools. It mentions the tool's function but offers no context about prerequisites, typical use cases, or exclusions, leaving the agent to infer usage solely from the tool name and parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 discloses the verification outcome format but lacks critical behavioral details: whether this requires authentication, rate limits, network latency expectations, error conditions, or what happens with unconfirmed transfers. For a verification tool with zero annotation coverage, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence efficiently conveys purpose, parameters, and outcome with zero waste. Front-loaded with the core action ('verify'), followed by parameter context and return value. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters, no annotations, and no output schema, the description is minimally complete for a verification tool. It covers the basic purpose and return format but lacks behavioral transparency details. The absence of output schema means the description should ideally explain more about response structure beyond {verified: true}.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only 'proof' has a description). The description adds meaningful context: 'proof' is clarified as 'Base64 payment payload from X-Payment header' (matching schema) and 'network' is implicitly explained through the verification context. With 2 parameters and partial schema coverage, the description compensates adequately but doesn't detail network enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('verify'), resource ('base64-encoded x402 payment proof'), and outcome ('returns {verified: true} if the proof corresponds to a confirmed on-chain transfer to the tenant's payout address'). It distinguishes from siblings like 'verify_payment' by specifying the x402 proof type and network verification context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (verifying payment proofs against networks) but doesn't explicitly state when to use this tool versus alternatives like 'verify_payment' or 'verify_ap2_payment'. It mentions the tenant's payout address but provides no guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool returns parameters for frontend use and requires a subsequent verification step, which is useful behavioral context. However, it lacks details on permissions, rate limits, error handling, or whether this initiates a payment vs. just preparing parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first clause, followed by essential behavioral details. Both sentences earn their place by explaining what the tool does and how its output is used, with zero redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter payment tool with no annotations and no output schema, the description is moderately complete. It covers the purpose and high-level workflow but lacks details on parameter meanings, return format, error cases, or security considerations. The mention of verification is helpful but insufficient for full context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does 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 mentions 'Algorand / VOI only' which partially explains the 'network' enum, but does not clarify the meaning of 'amount', 'currency', or 'label' parameters. The description adds minimal semantic value beyond what the bare schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('prepare an in-page wallet-extension payment'), the resource (payment parameters), and the supported blockchains (Algorand/VOI only). It distinguishes from sibling tools like 'create_payment_link' by focusing on wallet-extension integration rather than link generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for in-page wallet-extension payments on specific blockchains. It explicitly mentions the follow-up action ('verify with verify_payment + tx_id'), but does not specify when NOT to use it or name alternatives among siblings like 'create_payment_link' for different payment methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the return value format ({verified: true}) and the verification logic (checking amount and recipient against a mandate), but it doesn't mention error conditions, rate limits, authentication needs, or what happens if verification fails. This is a partial disclosure for a 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose, parameters, and outcome without unnecessary words. It's front-loaded with the main action and result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a verification tool with 3 parameters, no annotations, and no output schema, the description provides basic purpose and return format but lacks details on error handling, behavioral constraints, and full parameter guidance. It's minimally adequate but has clear gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (2 out of 3 parameters have descriptions). The description adds context by explaining that 'mandate_id' comes from 'generate_ap2_mandate' and 'tx_id' is submitted by a paying agent, which clarifies semantics beyond the schema. However, it doesn't detail the 'network' parameter beyond the enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('verify an AP2 payment') and the outcome ('returns {verified: true} if the on-chain transaction satisfies the mandate's amount and recipient'). It distinguishes this from siblings like 'verify_payment' or 'verify_mpp_receipt' by specifying AP2 payments and mandate-based 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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to check if a transaction meets a mandate's criteria, but it doesn't explicitly state when to use this tool versus alternatives like 'verify_payment' or 'verify_mpp_receipt'. No exclusions or prerequisites are mentioned, leaving some ambiguity about context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it's a read-only verification operation (implied by 'verify', 'returns status'), distinguishes between on-chain and hosted-checkout verification methods, and mentions the return value. However, it lacks details on error handling, rate limits, or authentication needs, which are important for a payment tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with two sentences that efficiently convey purpose, usage, and behavior without redundancy. Every sentence adds value, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is moderately complete for a verification tool. It covers the core functionality and parameters but lacks details on output format (beyond 'paid/unpaid status'), error cases, or integration context, which could be important for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters fully. The description adds marginal value by explaining the conditional logic (if tx_id is supplied vs. otherwise) and linking token to create_payment_link, but does not provide additional syntax or format details beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('verify', 'returns') and resources ('payment', 'checkout token', 'paid/unpaid status'). It distinguishes from siblings by focusing on payment verification rather than creation or other verification types, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool (to verify payment settlement) and includes conditional usage based on tx_id presence. However, it does not explicitly state when not to use it or name alternatives among siblings, such as verify_ap2_payment or verify_mpp_receipt, which could be relevant for different payment types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the output ('WWW-Authenticate and X-Payment-Required headers plus the challenge_id') and the tool's role in payment gating, but lacks details on error handling, rate limits, or authentication requirements, leaving 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose and outputs without unnecessary details, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of payment challenges and no output schema, the description adequately covers the tool's function and outputs. However, it could be more complete by including information on error cases or the format of the generated challenge, though it's sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description does not add any additional meaning beyond the schema, such as explaining parameter interactions or usage examples, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Generate an IETF MPP...402 challenge') and the resource ('that an API server can return to gate a resource'), distinguishing it from siblings like 'generate_ap2_mandate' or 'generate_x402_challenge' by specifying the exact protocol and output headers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('to gate a resource'), but does not explicitly mention when not to use it or name alternatives among siblings, such as 'generate_x402_challenge', which might serve a similar purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 tool generates a response and returns specific outputs (header value and payload), but lacks details on rate limits, authentication needs, error handling, or what happens if parameters are invalid. It adds some context about the payment workflow but misses behavioral traits like performance 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first sentence, followed by essential usage steps. Every sentence earns its place by explaining the tool's function and the subsequent workflow without redundancy, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description adequately covers the tool's purpose and usage in context. It explains the return values (header and payload) and ties into sibling tools, but could be more complete by detailing error cases or output format specifics, which are missing from structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly (e.g., resource as URL/identifier, amount_microunits with USDC example, network with enum and default). The description does not add meaning beyond the schema, such as explaining parameter interactions or use cases, so it meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates an x402 Payment Required response for gating a resource, specifying it returns header value and full payload. It distinguishes from siblings like verify_x402_proof by focusing on generation rather than verification, and uses specific technical terms (e.g., 'spec v1', 'X-Payment-Required header').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('for gating a resource') and provides clear alternatives: after generation, the client must pay and re-send with X-Payment header, then verify with verify_x402_proof. This gives a complete workflow context, distinguishing it from sibling tools like create_payment_link or verify_payment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It effectively describes the tool's behavior: it verifies a signature using HMAC-SHA256 against a server-configured secret (from an environment variable), returns a structured result with validity and parsed payload, and clarifies that the secret is never passed as a tool argument. This covers key operational aspects without 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded, consisting of a single sentence that efficiently conveys the tool's purpose, behavior, and output. Every part of the sentence earns its place by providing essential information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (verification with cryptographic operations), no annotations, and no output schema, the description does a good job of explaining the verification process, secret handling, and return structure. However, it could be more complete by detailing error cases or the format of the parsed JSON payload, which is not covered by structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (raw_body and signature) adequately. The description adds minimal value beyond the schema by mentioning the secret is from an environment variable and not a tool argument, but does not provide additional syntax or format details for the parameters. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('verify') and resource ('AlgoVoi webhook HMAC-SHA256 signature'), and distinguishes it from siblings by focusing on webhook verification rather than payment or challenge operations. It explicitly mentions what the tool does: verifying a signature against a server secret.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to verify webhook signatures) and implicitly excludes usage for other verification tasks like payments or proofs handled by sibling tools. However, it does not explicitly state when not to use it or name specific alternatives, which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It does well by explaining what the tool returns ('mandate object and its base64 encoding for the AP2-Payment-Required header') and the subsequent workflow. However, it doesn't mention potential errors, rate limits, or authentication requirements, which would be helpful 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with just two sentences that each earn their place. The first sentence explains the core functionality and return values, while the second provides crucial workflow guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a payment mandate generation tool with no annotations and no output schema, the description does well by explaining the return format and workflow. However, it could benefit from mentioning error conditions or what happens if parameters are invalid, especially given the financial context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 5 parameters. The description doesn't add any additional parameter semantics beyond what's in the schema. This meets the baseline expectation when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Generate an AP2 v0.1 PaymentMandate'), the resource ('for agent-to-agent payment'), and distinguishes from siblings by mentioning 'verify_ap2_payment' as a follow-up action. It provides a complete picture of what the tool does beyond just the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('for agent-to-agent payment') and when to use an alternative ('After the paying agent submits on-chain, call verify_ap2_payment to confirm'). It provides clear sequencing guidance that helps the agent understand the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It successfully communicates that this is a read-only operation (implied by 'List') and explicitly states it's an offline tool with no API call, which is valuable behavioral context about performance and network usage that wouldn't be in annotations anyway. It doesn't mention error conditions or response format details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place: the first explains exactly what the tool returns, and the second provides crucial behavioral context about it being offline. No wasted words, and the most important information (what it lists) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only information tool with no output schema, the description provides excellent context about what information is returned and the offline nature. It doesn't specify the exact return format (array of objects? structure?) which would be helpful given no output schema, but otherwise gives the agent enough to understand when and how to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema description coverage is 100% (though trivial since there are no parameters). The description appropriately doesn't waste space discussing parameters that don't exist. A baseline of 4 is appropriate for zero-parameter tools when the description focuses on what the tool does rather than parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('List') and resource ('blockchain networks AlgoVoi supports'), with explicit details about what information is included (asset IDs, decimals, CAIP-2 identifiers). It distinguishes itself from sibling tools which are all payment/verification related, making this a pure information retrieval tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this is an 'Offline tool — no API call,' which helps the agent understand when to use it versus making network requests. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools, though the distinction from payment/verification tools is obvious from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/chopmob-cloud/AlgoVoi-Platform-Adapters'
If you have feedback or need assistance with the MCP directory API, please join our Discord server