@melis-ai/x402-tools-mcp
Server Quality Checklist
Latest release: v0.1.2
- Disambiguation4/5
Most tools have distinct purposes, but there is overlap between linkrisk/linksafe (both URL safety) and docconvert_pdf/pdf_render (both PDF generation). Descriptions help differentiate, but ambiguity exists.
Naming Consistency2/5Naming is inconsistent: some tools use underscores (list_services, docconvert_text), others are compound words without separators (cacheserve, markdownopt, promptguard). No clear pattern, making it harder for agents to predict names.
Tool Count4/517 tools cover a broad utility set (caching, conversion, notifications, security, scraping). The count is reasonable for the scope, though slightly on the higher side but not excessive.
Completeness4/5The server covers diverse operations (CRUD-like for services, caching, conversions, notifications, security, and web extraction). Minor gaps exist (e.g., no batch operations), but overall it feels comprehensive for a utility toolkit.
Average 3.3/5 across 17 of 17 tools scored. Lowest: 2.7/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
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.
Add a glama.json file to provide metadata about your server.
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, the description bears full burden. It mentions cost ($0.05 USDC) and output (synthesized answer with citations), but lacks details on required permissions, rate limits, data handling, or potential side effects. The behavioral profile is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads cost and clearly states the tool's purpose. Every word earns its place, with no redundancy or unnecessary detail.
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 tool's complexity (web research synthesis with citations), the description is insufficient. It lacks information on output format specifics, error handling, parameter 'depth' semantics, and any constraints (e.g., source quality, time boundaries). The absence of annotations and output schema further increases the need for a richer description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It only mentions 'Pass a query', which relates to the 'query' parameter, but does not describe the 'depth' parameter, its enum values (quick/deep), or their implications. This is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs multi-source web research synthesis and returns a synthesized answer with citations. It is a specific verb and resource, but does not explicitly differentiate from sibling tools like scrapepay or structextract, which are more about extraction than synthesis.
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?
No guidance is provided on when to use this tool versus alternatives. The description implies usage for web research synthesis, but does not mention when not to use it or suggest other tools for different scenarios.
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?
The description includes cost information ($0.002 USDC) but lacks details on failure modes, rate limits, or what constitutes a 'known chat ID'. With no annotations, the description carries the full burden but 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with cost and action. It is concise, but the structure is flat with no breakdown or additional context.
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 low parameter count and lack of output schema or annotations, the description is incomplete. It lacks details on input format, expected behavior, and error handling, making it insufficient for confident agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the description does not explain the parameters. It only implies that chat_id should be a known ID but doesn't describe format or constraints. The schema provides minimal information.
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 action (Send), the resource (Telegram message), and the context (to a known chat ID). It effectively differentiates from sibling tools like notifyrelay_email and notifyrelay_webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'known chat ID' implying a prerequisite but provides no explicit guidance on when to use this tool versus alternatives. No when-to-use, when-not-to-use, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: cost ($0.005 USDC), domain restrictions, and rate limits. However, it does not cover other important aspects like idempotency, delivery guarantees, or error behavior. With no annotations, the description carries the full burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at one sentence plus a note, but it is incomplete. It could include essential param details without becoming verbose, so it earns a mid-range score.
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 simplicity of the tool (3 required params, no output schema) and absence of annotations, the description is incomplete. It lacks parameter descriptions and does not explain return values or errors, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. With 0% schema coverage, it fails to explain parameter formats, semantics, or constraints. It does not describe the 'to', 'subject', or 'body' fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a transactional email, specifying the action and resource. It distinguishes from sibling tools like notifyrelay_telegram and notifyrelay_webhook, but could be more explicit about the transactional 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 for transactional emails and mentions constraints (allowlisted domains, rate limiting), but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description bears full responsibility. It states the operation is a POST, but does not disclose if the call is idempotent, destructive, rate-limited, or whether authentication is required. The allowlist restriction is noted but lacks detail on how it is enforced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence, front-loading the core action and constraints. However, the inclusion of pricing in brackets is slightly distracting but does not detract much.
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 no output schema and complex parameters (nested object, required secret for signing), the description is insufficient. It does not explain return values, error handling, or how to configure the secret for HMAC signing. The allowlist domain restriction is vague.
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 coverage is 0%, so the description must add meaning. While it mentions 'HMAC signing' hinting at the secret parameter, it does not explain target_url format, payload structure, or the relationship between params. The description adds minimal value beyond the schema.
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 action (POST a JSON payload to a public URL) and key characteristics (optional HMAC signing, allowlisted domains). It effectively distinguishes this webhook tool from siblings like email or telegram notification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., notifyrelay_email or notifyrelay_telegram). The only constraint mentioned is 'Allowlisted domains only', but no context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral disclosure burden. It mentions the underlying technology (Headless Chromium) and output format, but does not disclose limitations like rate limits, timeouts, or failure modes. Incomplete for a paid tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) and front-loads essential info (cost, technology, output). No wasted words, though it could add brief parameter details without losing conciseness.
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 no output schema and no annotations, the description lacks completeness. It explains the output format (base64 PNG) but omits error handling, supported URL details, and behavioral constraints. Overall insufficient for a tool with 3 parameters.
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%, and the description does not explain any parameters. While 'url' is self-explanatory, 'width' and 'fullPage' are ambiguous and undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it takes a PNG screenshot of any public URL using Headless Chromium. It is specific about the action and resource, and while not explicitly distinguishing from siblings, the name and context make its purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for public URLs but provides no guidance on when not to use it or alternatives (e.g., using pdf_render for PDF output). Lacks explicit exclusions or context.
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?
Discloses key behavioral traits: pricing model ('Charges only on successful scrape'), compliance (robots.txt enforced), and safety (SSRF-safe). With no annotations provided, these details add significant value beyond the minimal description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with pricing, which is efficient. However, it omits critical parameter explanations, so the conciseness comes at the cost of completeness.
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?
With 5 parameters, no schema descriptions, and no output schema, the description is incomplete. It does not explain what the tool returns or how parameters work, leaving the agent with significant ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fails to elaborate on any of the 5 parameters (url, format, selector, wait_for, timeout_ms). The agent must infer meaning from parameter names alone, which is insufficient.
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?
Clearly states 'Web extraction via Playwright', specifying verb and resource. Additional context like pricing, robots.txt enforcement, and SSRF-safety distinguishes it from sibling tools such as screenshot or web_synthesise.
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?
No guidance on when to use this tool over alternatives. While it mentions charging only on success, it does not explain scenarios for choosing scrapepay over web_synthesise or screenshot.
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 provided. The description discloses the cost and output format but omits important behavioral details: whether the operation is synchronous, size limits, error behavior, or authentication requirements. With no annotations, the description should carry the burden, but it falls short.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that includes cost, purpose, and output format. It is front-loaded and contains no unnecessary words or repetition.
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 simple conversion tool with 3 parameters and no output schema, the description covers the basic functionality. However, it leaves gaps: no mention of error handling, response structure, or performance characteristics. Given the number of sibling tools, it does not help the agent distinguish usage scenarios.
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 adds that 'from' can be 'html' or 'md', and 'content' is the input. However, it lacks details like acceptable content length, encoding, or formatting requirements. The 'to' parameter is constrained to 'pdf', which is evident from the schema. The description adds minimal value.
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 converts HTML or markdown to PDF and returns base64-encoded PDF. The verb 'Convert' and the resource 'HTML or markdown to PDF' are specific. It distinguishes from sibling tools like docconvert_text (which converts to text) and pdf_render (likely for rendering existing PDFs).
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?
No guidance on when to use this tool versus alternatives like docconvert_text or pdf_render. The cost is mentioned but not in the context of decision-making. There is no 'when to use' or 'when not to use' advice.
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 mentions 'Lightweight' but does not disclose limitations, error handling, idempotency, or output format characteristics. This is insufficient for a tool with no safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one short sentence) and front-loads cost and purpose. However, it could be structured to separate cost, purpose, and examples. Still, it efficiently conveys core 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 tool has 3 unannotated parameters, no output schema, and no sibling differentiation, the description is incomplete. It lacks details on allowed values, error behavior, content size limits, and result format, which are critical for correct invocation.
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?
With 0% schema description coverage, the description should compensate. It hints that 'from' and 'to' take format strings (e.g., md, html, json, csv) but does not list accepted values, provide examples, or clarify constraints. 'content' is self-explanatory but still under-specified.
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 performs format conversion between specific formats (md↔html, json↳csv) and uses verbs like 'transcoding'. It differentiates from sibling tools like docconvert_pdf by stating 'Lightweight content transcoding', implying text-based conversions.
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 includes a cost hint ('[$0.001 USDC]') which guides cost-aware usage, and implies formats by listing examples. However, it does not explicitly state when to use this tool vs alternatives like docconvert_pdf, or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 mentions cost and token reduction, but does not disclose error handling, size limits, behavior when both url and html are supplied, or output format details. This is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, with no fluff. It front-loads the core action and benefit. A slightly more structured approach (e.g., bullet points) could improve scannability, but it is already efficient.
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 absence of output schema, annotations, and schema descriptions, the description is insufficiently complete. It does not explain what 'LLM-ready markdown' entails (e.g., formatting, metadata), nor does it cover error cases or rate limits. The tool's behavior is under-specified for reliable agent invocation.
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?
The schema has 0% description coverage, so the description must compensate. It adds that the two parameters are alternatives ('Pass a url OR html field'), but it does not clarify constraints (e.g., URL format, required HTML structure) or how to choose between them. This adds minimal value over the raw schema.
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: 'Convert URL or HTML to clean LLM-ready markdown.' It includes a specific benefit ('~70% token reduction') and distinguishes it from sibling tools like docconvert_text and docconvert_pdf, which handle other conversions.
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 indicates to pass 'a url OR html field,' which gives basic usage guidance. However, it does not explicitly state when to use this tool over siblings like scrapepay or structextract, nor does it provide conditions for avoidance or prerequisites.
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 provided, so description carries full burden. It discloses return format (valid:true/false with correction hint) and cost ($0.001 USDC), but doesn't specify if the tool is read-only or any side effects. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, but the cost prefix is somewhat extraneous. One sentence suffices, though it could be better organized.
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 simple validation function and no output schema, the description covers the core purpose and basic return value. However, it lacks details on correction hint format or parameter nuances, making it minimally complete.
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 fails to explain what the 'schema' and 'response' parameters expect beyond schema types. No elaboration on format or constraints, leaving the agent underinformed.
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 validates LLM output against a JSON Schema, with a specific verb (validate) and resource. It distinguishes from siblings like docconvert_text or promptguard by focusing on JSON Schema conformance.
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?
No guidance on when to use this tool versus alternatives. The sibling tools list includes many unrelated services, but the description provides no context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 cost ($0.49 USDC) and underlying engine (Playwright), but omits details on behavior when both url and html are provided, error handling, rate limits, or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a cost prefix, efficiently conveying core information. However, a slightly more structured breakdown (e.g., separate cost, action, and comparison) could improve readability.
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 lack of annotations, output schema, and parameter descriptions, the description is incomplete. It does not explain what happens when both parameters are provided, the PDF output characteristics, or any limitations, leaving significant gaps for the agent.
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?
The input schema has 0% description coverage, and the description only generically mentions 'URL or HTML' without clarifying whether they are alternatives, how they interact, or any constraints on format or size.
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 converts URL or HTML to PDF using Playwright, and distinguishes itself from the sibling docconvert_pdf by claiming higher fidelity for complex pages.
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?
It implies a use case (complex pages needing high fidelity) via comparison with docconvert_pdf, but lacks explicit guidance on when not to use this tool or how it compares to other siblings like screenshot.
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?
The description includes a cost annotation ('[$0.002 USDC]') which is a behavioral trait. However, no annotations are provided, and the description does not mention other behaviors like destructive actions, authentication, or rate limits. It partially fulfills the burden with cost info.
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 sentence that includes cost, purpose, and list of extractables. Every word is informative, and it is front-loaded with the most critical information. No fluff.
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?
The description covers the basic purpose and extractable items but lacks details on the output JSON structure, error handling, or edge cases. Given no output schema, the description should ideally describe the return format more thoroughly.
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?
The input schema has 2 parameters with 0% schema description coverage. The description lists the enum values for the 'extract' parameter (tables, links, etc.), adding meaning beyond the schema. However, it does not describe the 'html' parameter beyond being 'raw HTML', leaving some gap.
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 verb 'Extract' and the resource 'structured JSON from raw HTML', listing specific extractable elements (tables, links, etc.). This distinguishes it from sibling tools like scrapepay or web_synthesise that may have different focuses.
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?
No guidance on when to use this tool vs. alternatives. Sibling tools such as scrapepay or web_synthesise are not mentioned, and there is no indication of when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses cost ($0.01 USDC) and methods, but does not state whether the tool fetches the URL (potential side effects), what the output format is, or if it is read-only. Significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads cost and methods, with comparative statement. No waste; efficient and to the point.
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 this is a paid tool with no output schema, the description lacks details on what the tool returns (e.g., a boolean, score, or report). Also does not explain when to use this over other siblings besides linkrisk. Incomplete for a tool that costs money.
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 coverage is 0% (no description on the 'url' parameter). The description only implies the parameter is a URL via 'URL safety check'. While the parameter is self-explanatory, the description adds minimal additional meaning beyond the parameter name.
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?
Description clearly states it is a 'definitive URL safety check' using specific methods (Playwright sandbox, VirusTotal, redirect tracing) and distinguishes from sibling 'linkrisk' by claiming 'More thorough than linkrisk'. Verb+resource+scope well-defined.
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?
Provides clear context by stating 'More thorough than linkrisk', implying this tool should be used when a more thorough check is needed. However, lacks explicit when-not-to-use or other alternatives beyond linkrisk.
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 provided, so description must fully disclose behavior. It only lists checks without stating if the operation is read-only, the response time, or privacy implications. The term 'lightweight' hints at speed but lacks specificity.
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 after cost indicator, front-loaded with key information. Every word earns its place with no redundancy.
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?
No output schema, so description should indicate return value. It only lists what is checked but not the format of the risk profile (e.g., score, flags). Adequate for a simple tool but leaves some ambiguity.
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?
Only one parameter 'url' with no schema description. The description adds context that the URL is for risk checking, which is helpful but minimal. Baseline is 3 given low schema coverage, but it doesn't provide format or constraints.
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?
Description clearly states it produces a URL risk profile, listing specific checks (phishing, redirects, domain age, IP reputation), and distinguishes from siblings like 'linksafe' by focusing on risk profiling.
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?
Directly advises 'Use before visiting unknown URLs', providing a clear use case. However, it does not mention when not to use or explicitly differentiate from the sibling 'linksafe'.
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 must fully disclose behavior. It mentions scoring with dimensions and a cost of $0.002 USDC, but does not explain what 'flagged dimensions' are, the impact of sensitivity, or return format beyond a number. Additional details would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the purpose, followed by a concise usage instruction and cost note. Every word contributes value, and there is no redundant or tangential 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?
Given the tool has two parameters, no output schema, and no annotations, the description provides essential usage intent and cost, but lacks details on output structure, sensitivity options, and potential side effects. It is adequate for basic usage but not fully complete.
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 add meaning. The description only addresses the 'prompt' parameter ('untrained input' and 'run on any user-provided prompt'). The 'sensitivity' parameter with enum values is not explained at all, leaving ambiguity about its effect.
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 verb 'score', the resource 'untrusted input for prompt injection risk', and the output range (0-100) with flagged dimensions. It also provides context (run before passing to LLM). This distinguishes it from sibling safety tools like linkrisk or linksafe, which target URLs.
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 explicitly says 'Run on any user-provided prompt before passing to a downstream LLM', clearly indicating when to use the tool. It does not list alternatives or when not to use, but the context is sufficient for most agents.
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?
Describes caching behavior (returns cached if recent, fetches otherwise) and includes cost, but no annotations are provided to supplement behavioral traits like auth or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence that conveys purpose, behavior, and usage context without any waste.
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 simple caching fetch tool with no output schema and few parameters, the description covers core behavior. Could mention limitations like max URL length or supported protocols.
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 has two parameters with 0% description coverage. Description only implies url and caching (ttl_seconds is hinted but not explicitly connected to the parameter). Minimal added value.
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?
Description clearly states it fetches a URL with caching, and distinguishes from siblings which are unrelated tools like list_services and docconvert_text.
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?
Explicitly advises 'Use before any fetch that might be repeated', providing clear context for use, though no exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It describes a read-only operation (returns catalogue) with no mention of side effects or restrictions. For a simple list tool, this is adequate, but could be more explicit about being non-destructive.
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?
Two sentences, no wasted words. The key instruction is front-loaded. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters, no output schema, and a simple read operation, the description is complete. It tells what the tool returns and the recommended usage order. No gaps.
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?
There are no parameters, and schema coverage is 100%. The description adds value by specifying what the return contains (prices, descriptions, endpoints), which is beyond the schema. Baseline for 0 parameters is 4.
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 returns the catalogue of available services with specific fields (prices, descriptions, endpoint URLs). It also instructs to call it first to introspect, making its purpose unambiguous and distinct from sibling tools.
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 explicitly says 'Call this first to introspect what is available,' providing clear guidance on when to use it. While it doesn't state when not to use or list alternatives, the instruction is sufficient for a discovery tool.
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/mizukaizen/x402-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server