Skip to main content
Glama

Server Details

22 utility tools (x402 USDC on Base): currency, PDF, image, GDPR. Free health.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

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

MCP client
Glama
MCP server

Full call logging

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

Tool access control

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

Managed credentials

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

Usage analytics

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

100% free. Your data is private.
Tool DescriptionsB

Average 3.6/5 across 23 of 23 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a distinct purpose and target resource or operation. While some tools are thematically related (e.g., detect_secrets and classify_gdpr both analyze text), their specific outputs and use cases are clearly separated by names and descriptions.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (convert_currency, generate_uuid, validate_iban), and the noun_to_noun conversion tools (csv_to_json, html_to_text) form a consistent sub-pattern. The mix of verb_noun and X_to_Y is understandable and predictable, though not uniform.

Tool Count3/5

23 tools is on the higher end for a utility server, feeling like a grab-bag of many unrelated functions. While each tool is simple and serves a purpose, the count exceeds the typical well-scoped range, making it heavier than ideal.

Completeness3/5

The tool coverage is broad but scattered with no clear domain focus. Obvious complementary utilities are missing, such as URL encoding/decoding, YAML conversion, or PDF generation. However, within each small category, core operations are present, so agents can work around gaps.

Available Tools

23 tools
classify_gdprAInspect

Detect GDPR PII categories in text (email, phone, IP, name, location). Returns categories only, never actual PII values.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to scan for PII categories
Behavior4/5

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

With no annotations provided, the description must disclose behavior on its own. It explicitly states that it 'Returns categories only, never actual PII values', which is a crucial privacy-preserving trait. It also enumerates detectable categories, adding behavioral insight beyond the parameter schema.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the core purpose and immediately clarifies the key output constraint. Every phrase earns its place with no redundancy.

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

Completeness4/5

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

For a low-complexity tool with one parameter and no output schema, the description adequately covers what the tool does, what it detects, and what it returns (categories only). It could note edge cases like empty texts, but this is a minor gap given the simplicity.

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

Parameters3/5

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

The schema covers 100% of the single parameter with a clear description ('Text to scan for PII categories'). The tool description adds no additional parameter-level detail, but the schema is sufficient, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function: 'Detect GDPR PII categories in text' with specific examples of categories (email, phone, IP, name, location). This distinguishes it from sibling tools like detect_secrets, which focuses on secrets rather than PII categories.

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

Usage Guidelines4/5

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

The description implicitly conveys when to use this tool: whenever you need to identify types of personal data in text, without returning actual values. It does not explicitly name alternatives, but given the sibling list, no other tool performs a similar classification task, so clear context suffices.

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

convert_currencyAInspect

Convert an amount between currencies using cached ECB exchange rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget currency code (ISO 4217)
fromYesSource currency code (ISO 4217)
amountYesAmount to convert
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It does mention 'cached' exchange rates, which hints at potential staleness, but it does not disclose limitations like invalid currency handling, rounding behavior, or whether rates are updated. This is partial but not comprehensive behavioral transparency.

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

Conciseness5/5

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

The description is a single, efficient sentence that starts with the primary verb 'Convert' and provides the essential resource and data source without any wasted words. It is perfectly sized for its purpose.

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

Completeness4/5

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

Given the tool's simplicity (3 fully described parameters), the description adequately conveys the core function and data source. There is no output schema, so a note on return format would be nice, but the tool is straightforward enough that this absence does not hinder usability. The mention of caching adds important context for accuracy expectations.

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

Parameters3/5

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

The input schema already provides full descriptions for all three parameters (amount, from, to) with ISO 4217 codes and exclusivity constraints. The description adds the 'cached ECB' context but does not introduce any additional parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'convert' and the resource 'amount between currencies', and adds the specific data source 'cached ECB exchange rates'. This distinguishes it from sibling tools like convert_timezone and makes the tool's purpose unmistakable.

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

Usage Guidelines4/5

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

The description gives clear context by specifying it converts an amount between currencies, and the mention of 'cached ECB exchange rates' implies when it applies (currency conversion). No explicit exclusions are needed since there is no direct competing currency tool among siblings, and this context is sufficient for selection.

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

convert_timezoneBInspect

Convert a datetime between IANA timezones.

ParametersJSON Schema
NameRequiredDescriptionDefault
datetimeYesDatetime in ISO format (YYYY-MM-DDTHH:mm:ss)
to_timezoneYesTarget IANA timezone (e.g. Europe/Lisbon)
from_timezoneYesSource IANA timezone (e.g. America/New_York)
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states the core operation and omits any details about output format, handling of invalid timezones, DST adjustments, or error behavior. This leaves significant gaps for an agent to predict outcomes.

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

Conciseness4/5

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

The description is a single, concise sentence that delivers its message without fluff. It is appropriately sized for a straightforward utility, though it could slightly benefit from including return-format details, but that is not a conciseness penalty.

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

Completeness2/5

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

There is no output schema, so the description should explain what the tool returns. It does not state the output format or describe behavior for invalid inputs. For a conversion tool, this is a notable gap, making the description incomplete.

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

Parameters3/5

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

All three parameters are fully documented in the input schema with clear descriptions and examples (e.g., 'Europe/Lisbon', ISO format). The tool description adds no extra parameter-specific information, so the schema carries the burden, which it does adequately.

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

Purpose5/5

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

The description uses a specific verb 'Convert' and clearly identifies the resource: 'a datetime between IANA timezones'. This distinguishes it from sibling tools like convert_currency or decode_base64, leaving no ambiguity about its function.

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

Usage Guidelines3/5

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

No explicit guidance is given on when to use this tool instead of alternatives, nor any exclusions or prerequisites. The described functionality implies usage for timezone conversion, but lacks clear contextual direction.

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

csv_to_jsonBInspect

Convert CSV string to JSON array of objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesCSV string
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 only states the basic transformation, leaving ambiguous details such as header handling, delimiter rules, error behavior, and output formatting. No additional behavioral traits are disclosed.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no waste. It efficiently communicates the core functionality.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema, but the description does not fully compensate for the lack of output specification or edge-case behavior. It conveys the basic transformation but leaves gaps about the exact structure of the resulting JSON objects and possible error conditions.

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

Parameters3/5

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

The schema coverage is 100% with the parameter 'input' described as 'CSV string'. The tool description repeats this information without adding further semantic detail, so it does not exceed the schema baseline.

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

Purpose5/5

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

The description clearly states the tool converts a CSV string to a JSON array of objects, with a specific verb and resource. It also implicitly distinguishes from the sibling tool json_to_csv, which performs the reverse operation.

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives, nor any context about prerequisites or situations where it is appropriate. The usage is merely implied by the name and one-line description, offering no direction to the agent.

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

decode_base64BInspect

Decode a Base64 string to UTF-8.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesBase64 string to decode
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the output format (UTF-8) but does not disclose error handling, side effects, or safety profile. While the tool is a simple pure function, the description does not explicitly confirm this, leaving a transparency gap.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the essential action and result without any redundant or extraneous information. It is highly concise and well-structured.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description is mostly complete. It states the output as UTF-8, implying a string return value. While an explicit return type would improve completeness, the implication is strong enough for this straightforward utility.

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

Parameters3/5

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

The input schema fully describes the single parameter 'input' with 'Base64 string to decode', providing 100% coverage. The description adds no additional parameter semantics, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states 'Decode a Base64 string to UTF-8.' This clearly identifies the tool's purpose with a specific verb (decode), resource (Base64 string), and output format (UTF-8). It is unambiguous and easily distinguished from the sibling encode_base64.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives. It does not reference encode_base64 or other tools, leaving the agent without explicit usage context or exclusions. The absence of any usage direction places this at a score of 2.

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

detect_secretsAInspect

Detect hardcoded secrets, API keys, and credentials in text using pattern matching and entropy analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText, code, or configuration to scan for secrets
Behavior3/5

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

No annotations are provided, so the description bears full burden. It discloses the detection technique (pattern matching and entropy analysis) but does not state the return format, false positives, or whether it is read-only. This is a moderate gap for a detection tool.

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

Conciseness5/5

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

Single concise sentence, front-loaded with the action and object, no filler.

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

Completeness3/5

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

For a single-param tool with no annotations or output schema, the description covers purpose and method but omits what the tool returns (e.g., list of matches, flags). This is a notable gap for an agent to correctly use the output.

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

Parameters3/5

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

The text parameter is fully described in the schema as 'Text, code, or configuration to scan for secrets'; the description adds no additional parameter detail. With 100% schema coverage, baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the tool detects hardcoded secrets, API keys, and credentials in text, specifying the method (pattern matching and entropy analysis). This distinguishes it from all sibling tools, none of which perform secret detection.

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

Usage Guidelines4/5

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

The description implies usage context: scanning text/code/config for secrets. It does not explicitly exclude alternatives or mention when not to use it, but given the sibling list, no other tool overlaps with secret detection. Clear context without exclusions.

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

encode_base64AInspect

Encode a UTF-8 string to Base64.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesUTF-8 string to encode
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 of behavioral disclosure. It states the transformation but does not explicitly note that it is a pure function with no side effects, error behaviors, or return format details. While the operation is inherently non-destructive, the description leaves some behavioral aspects implicit.

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

Conciseness5/5

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

The description is a single, concise sentence that fully states the operation without any fluff or repetition. It earns every word and is easy to parse.

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

Completeness4/5

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

For a simple one-parameter utility, the description is adequately complete: it specifies the input type, the operation, and the output format (Base64). Given the lack of output schema and annotations, the description covers essential context, though it could explicitly mention that it returns the encoded string.

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

Parameters3/5

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

The input schema describes the only parameter as 'UTF-8 string to encode', which is exactly what the tool description repeats. Since schema coverage is 100%, the description adds no additional meaning beyond restating the parameter, meriting the baseline score of 3.

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

Purpose5/5

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

The description uses a specific verb 'Encode' and a clear resource: 'a UTF-8 string to Base64'. This precisely states the tool's function and naturally distinguishes it from sibling tools like decode_base64, which describes the reverse operation.

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

Usage Guidelines3/5

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

The description implies usage (encode any UTF-8 string to Base64) but gives no explicit guidance on when to use this versus alternatives, nor exclusions. It does not mention decode_base64 as the opposite tool. However, for a simple utility, the usage is self-evident from the name and description.

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

extract_pdf_textAInspect

Extract text content from a base64-encoded PDF document.

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfYesBase64-encoded PDF document
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 of explaining behavior. It states the core transformation (PDF to text) but does not mention limitations, edge cases, error handling, or the exact return format. This is adequate but not rich in behavioral detail.

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

Conciseness5/5

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

The description is a single, well-structured sentence that is front-loaded with the tool's primary function. Every word earns its place, and there is no redundancy or filler.

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

Completeness4/5

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

Given the tool's low complexity (one parameter, no nested objects) and lack of output schema, the description is mostly complete. It clearly states the input and the output concept, though it could be slightly stronger by explicitly mentioning return format or error conditions.

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

Parameters3/5

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

The schema describes the single 'pdf' parameter as a base64-encoded PDF, which matches the description exactly. Since schema description coverage is 100%, the description adds no additional semantic meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool extracts text from a PDF, which is a specific verb+resource combination. It is distinct from sibling tools like decode_base64 or html_to_text, so there is no confusion about its purpose.

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

Usage Guidelines3/5

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

The implied usage is when a base64-encoded PDF needs to have its text extracted, but the description provides no explicit guidance on when to use this tool versus alternatives or any exclusions. It relies on the tool name and sibling context for differentiation.

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

extract_url_metadataBInspect

Extract Open Graph metadata from a URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to extract metadata from
Behavior2/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It does not mention that the tool makes a network request, handles redirects, may fail on non-HTML URLs, or what happens when no Open Graph tags exist. This is a significant gap for a network-fetching tool.

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

Conciseness5/5

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

The description is a single concise sentence with no wasted words. It immediately conveys the tool's core function without any filler or repetition.

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

Completeness2/5

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

The tool has a single parameter and no output schema, so the description needs to explain what the expected return values are. It only says 'Open Graph metadata' without detailing which fields (e.g., title, image, description) will be returned or how they are structured. This leaves the agent guessing about the output shape.

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

Parameters3/5

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

The input schema already covers the only parameter ('url') with a description, so the baseline is 3. The tool description adds no new parameter-specific details; it only repeats the 'URL' concept. It does clarify that the URL is used for extracting Open Graph metadata, but this does not go beyond what the schema implies.

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

Purpose5/5

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

The description clearly specifies the action ('Extract') and the exact resource ('Open Graph metadata from a URL'). It distinguishes itself from sibling tools like extract_pdf_text and html_to_text by focusing specifically on Open Graph metadata.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative guidance is provided, but the specific mention of Open Graph metadata implies its intended use case (e.g., fetching social media preview data). This is enough for an agent to infer the basic scenario, but it lacks exclusions or comparisons with related tools.

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

generate_cspBInspect

Generate Content-Security-Policy header from structured directives input.

ParametersJSON Schema
NameRequiredDescriptionDefault
directivesNoCSP directives map, e.g. { 'script-src': ['self', 'nonce-abc123'] }
report_uriNoReport URI for CSP violations
report_onlyNoUse Content-Security-Policy-Report-Only header
Behavior2/5

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

With no annotations, the description must disclose behavior, but it only says it generates a header. It does not explain the output format (e.g., whether it returns the full header, how directives are serialized, or how report_only affects output). This leaves important behavioral details unspecified.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It communicates the core function efficiently and is easy to scan.

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

Completeness3/5

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

The tool has moderate complexity with a nested directives object and no output schema. The description covers the overall purpose but does not specify return value format or edge-case behavior (e.g., empty directives, conflicting flags). It is adequate but leaves gaps for an agent to infer.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional parameter semantics beyond what the schema provides, meeting the baseline of 3.

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

Purpose5/5

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

The description clearly states the tool's function: 'Generate Content-Security-Policy header from structured directives input.' It uses a specific verb (Generate) and resource (Content-Security-Policy header), and distinguishes itself from sibling tools like validate_cors and detect_secrets.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives, nor any exclusions or prerequisites. The description only states the purpose without any usage context.

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

generate_hashAInspect

Generate MD5, SHA-256, or SHA-512 hex digest.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesString to hash
algorithmYesHash algorithm: md5, sha256, or sha512
Behavior3/5

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

The description discloses that the output is a hex digest, which gives some insight into the return type. However, with no annotations, it does not mention purity, output casing, error handling, or whether the computation is local, leaving several behavioral aspects implied rather than explicit.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently states the tool's function and supported algorithms. It contains no unnecessary words or repetition, making it ideal for a simple tool.

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

Completeness4/5

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

For a two-parameter hash tool, the description is largely complete: it identifies the algorithms, implies the input type, and specifies the output format as a hex digest. Minor details like output case or empty-string behavior are not covered, but they are not critical for invoking a hash function.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters fully described in the schema. The description repeats the algorithm choices but adds no new constraints, format details, or examples, so it provides no additional semantic value beyond the schema.

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

Purpose5/5

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

The description clearly states the tool generates a hash digest and specifies the supported algorithms (MD5, SHA-256, SHA-512). This specific verb+resource combination distinguishes it from sibling tools like encode_base64 or generate_uuid.

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

Usage Guidelines3/5

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

The description implies usage for hashing strings with supported algorithms, but it does not explicitly state when to choose this tool over alternatives or mention exclusions. No comparison with sibling tools is provided, leaving the agent to infer context.

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

generate_uuidAInspect

Generate one or more UUID v4 values.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of UUIDs to generate (1-100, default 1)
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It states the operation and format (UUID v4), but does not specify the return shape (string vs array) or whether randomness is cryptographically secure. Since v4 is a well-defined standard, the behavior is mostly transparent, but minor gaps remain.

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

Conciseness5/5

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

The description is a single concise sentence that delivers the core purpose without any filler or redundancy. Every word contributes meaning, and the information is front-loaded.

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

Completeness4/5

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

The tool is low-complexity with one parameter fully documented in the schema and no output schema. The description sufficiently covers the core purpose. The only minor omission is the explicit return structure (e.g., array vs string when count=1), but overall the description is adequate for this simple utility.

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

Parameters3/5

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

The schema provides 100% coverage of the only parameter 'count', including type, range (1-100), and default (1). The description's 'one or more' adds no new semantic detail beyond what the schema already describes, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Generate one or more UUID v4 values' clearly states the action (generate), the resource (UUID v4 values), and the output scope (one or more). This is a specific and unambiguous statement that distinguishes it from sibling utilities, which are all unrelated tools.

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

Usage Guidelines3/5

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

The description does not provide explicit when-to-use or alternative tool guidance. However, the use case is self-evident for a UUID generator, and no competing sibling tool exists. The context is implied rather than explicitly stated.

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

healthAInspect

Health check. Returns server status and optional echo.

ParametersJSON Schema
NameRequiredDescriptionDefault
echoNoOptional string to echo back
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 behavior (server status and echo) but gives no details about response format, errors, or whether authentication is needed. This is minimal but not misleading.

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

Conciseness5/5

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

The description is extremely concise, using only two sentences with no unnecessary words. Everything contributes to the tool's purpose.

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

Completeness3/5

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

The tool is simple with one optional parameter and no output schema. The description gives the basic return behavior but lacks specifics about the status format or how the echo is returned. It's adequate but not rich.

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

Parameters3/5

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

The schema already describes the echo parameter fully, and the description merely repeats 'optional echo'. Baseline score of 3 because schema coverage is 100% and description adds no new meaning.

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

Purpose5/5

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

The description clearly states the tool's purpose as a health check that returns server status and optionally echoes a string. It distinguishes itself from sibling tools, which are all unrelated utilities.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool or alternative approaches. The description simply states what it does without indicating prerequisites or exclusions.

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

html_to_textAInspect

Strip HTML tags and decode entities to plain text.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesHTML string to convert
Behavior4/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 clearly states the behavioral transformation: stripping HTML tags and decoding entities. It does not disclose edge-case behavior (e.g., handling of script/style content or malformed HTML), but for a simple conversion utility the core behavior is sufficiently transparent.

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

Conciseness5/5

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

The description is a single, well-formed sentence that is front-loaded with the action and delivers the key information without any fluff. Every word contributes meaning.

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

Completeness4/5

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

For a simple, stateless conversion tool with one parameter and no output schema, the description is complete: it states the input and the transformation. It does not detail return value format, but that is implied by 'to plain text' and is unlikely to cause confusion.

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

Parameters3/5

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

The schema has one parameter with a description ('HTML string to convert') and 100% coverage. The tool description adds no additional meaning beyond the schema; it simply restates the purpose. This matches 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/5

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

The description uses a specific verb ('Strip') and resource ('HTML tags') plus the outcome ('decode entities to plain text'). It is unambiguous and distinct from sibling tools like markdown_to_html, which does the opposite conversion.

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

Usage Guidelines2/5

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

The description gives no explicit guidance on when to use this tool or how it compares to alternatives. No exclusions or alternative tool names are mentioned, leaving the agent to infer the use case solely from the tool name and description.

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

json_to_csvAInspect

Convert JSON array of objects to RFC 4180 CSV.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesJSON array string
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 only mentions the output conforms to RFC 4180, but it does not explain how edge cases are handled (e.g., non-array input, varying object keys, nested objects, or what the return value looks like). This is a significant gap for a data conversion tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that delivers the essential information without any wasted words. It is appropriately sized and immediately communicates the tool's function.

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

Completeness3/5

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

For a simple one-parameter conversion tool, the description covers the basics: input format and output standard. However, with no output schema and no annotations, it lacks details on return values and edge-case behavior, leaving some ambiguity for an agent.

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

Parameters4/5

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

The schema has 100% coverage for the single 'input' parameter, but its description is merely 'JSON array string'. The tool description adds clarity by specifying 'JSON array of objects', which refines the expected structure. This adds meaningful value beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Convert') and clearly states the resource and direction ('JSON array of objects' to 'RFC 4180 CSV'). It distinguishes itself from sibling tools like csv_to_json by explicitly indicating the conversion path, 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 Guidelines3/5

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

The description implies the tool is used when you need to convert a JSON array to CSV, but it provides no explicit guidance on when to use it versus alternatives (e.g., csv_to_json) or any exclusions. The usage context is inferred from the purpose rather than stated directly.

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

markdown_to_htmlAInspect

Convert Markdown to HTML.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesMarkdown string to convert
Behavior2/5

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

With no annotations provided, the description carries full responsibility for disclosing behavioral traits. However, it only states a basic conversion action without mentioning output format, handling of invalid Markdown, potential HTML sanitization, or any edge cases. This is a minimal disclosure that fails to provide meaningful behavioral context.

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

Conciseness5/5

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

The description is a single concise sentence that is front-loaded with the action and resource. There is no redundant or irrelevant information, making it appropriately sized for the tool's simplicity.

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

Completeness4/5

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

Given the low complexity (single parameter, no nested objects, no output schema), the description is nearly complete. It clearly identifies input and output, and the tool's purpose is self-evident. A minor gap is the lack of explicit mention of the return value, but this is strongly implied by the tool's name and description.

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

Parameters3/5

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

The only parameter 'input' is fully documented in the schema with the description 'Markdown string to convert', giving 100% coverage. The tool description adds no additional semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('Convert') and resource ('Markdown to HTML'). It unambiguously distinguishes itself from siblings like html_to_text, which performs the reverse operation.

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

Usage Guidelines3/5

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

No explicit guidance is provided on when to use this tool versus alternatives. The usage is implied by the name, and the simplicity of the tool makes context somewhat obvious, but there is no direct statement of intended scenarios or exclusions.

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

parse_cronAInspect

Parse a cron expression and return next run times.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of next runs to return (1-20, default 5)
expressionYesCron expression (e.g. '0 9 * * 1-5')
Behavior2/5

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

No annotations are provided, and the description only states the core action and result. It does not disclose error handling, timezone assumptions, supported cron format (e.g., 5-field vs 6-field), or the structure of the returned data. For a tool with no annotation fallback, this is a significant gap.

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

Conciseness5/5

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

The description is a single sentence that front-loads the verb and conveys the essential purpose without filler. It is appropriately sized for a simple utility tool.

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

Completeness2/5

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

With no output schema and no annotations, the description should compensate by explaining the return value format and behavioral edge cases. It only says 'next run times' without specifying the format, timezone, or error behavior. Given the tool's complexity (cron parsing has many edge cases), this is insufficient.

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

Parameters3/5

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

The input schema already provides 100% descriptions for both parameters: 'expression' includes a default example, and 'count' specifies range and default. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('parse') and identifies the resource ('cron expression') and expected output ('next run times'). It is distinct from all sibling tools, none of which involve cron or scheduling. This makes the purpose immediately clear.

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

Usage Guidelines4/5

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

The description does not explicitly name alternatives or conditions, but the tool's purpose is so specific that its usage context is clear: when you need to compute future run times from a cron expression. There are no sibling tools that compete with this function, so no exclusions are necessary. However, it lacks explicit 'when to use' phrasing.

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

resize_imageBInspect

Resize and compress a base64-encoded image.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYesBase64-encoded image data
widthYesTarget width in pixels
formatNoOutput formatpng
heightYesTarget height in pixels
qualityNoJPEG quality (1-100)
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 input format but omits what the function returns (e.g., base64 output), potential compression effects, or aspect ratio behavior. This lack of behavioral context is a significant gap.

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

Conciseness5/5

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

The description is a single, waste-free sentence that communicates the core function efficiently. No redundant words or excessive detail.

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

Completeness2/5

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

The tool has no output schema, and the description does not specify the return format. It also fails to mention how width/height interact (e.g., aspect ratio distortion) or that quality only applies to JPEG. This makes the description incomplete for correct usage.

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

Parameters3/5

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

All five parameters have descriptions in the schema (100% coverage), so the description does not need to explain them. The schema already defines width, height, format, and quality, making the description's parameter contribution minimal.

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

Purpose5/5

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

The description clearly states the tool resizes and compresses a base64-encoded image, providing a specific verb and resource. It distinguishes itself from sibling base64 tools (encode/decode_base64) by focusing on image transformation.

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

Usage Guidelines3/5

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

The description gives no explicit guidance on when to use this tool versus alternatives. It merely states what it does, implying usage only when resizing an image, but lacks explicit context or exclusions.

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

test_regexBInspect

Test a regex pattern against an input string.

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNoRegex flags (g, i, m, s, u, y)
inputYesInput string to test against
patternYesRegular expression pattern
Behavior1/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 of behavioral disclosure. It only states that the tool 'tests' a regex, but does not mention side effects, return value, handling of invalid patterns, or effects of flags. The agent cannot anticipate what the tool actually returns or does beyond the verb.

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

Conciseness5/5

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

The description is a single concise sentence with no wasted words. It is front-loaded and directly communicates the tool's purpose without any superfluous content.

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

Completeness2/5

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

The tool is simple, but with no output schema and no annotation context, the description must clarify behavior. It does not state what the tool returns (e.g., a boolean, matched substrings, or errors). This gap makes the description insufficient for an agent to fully understand the tool's behavior.

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

Parameters3/5

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

The input schema provides complete descriptions for all three parameters (pattern, input, flags), achieving 100% schema coverage. The description adds no additional parameter meaning beyond what the schema already documents, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool's action: 'Test a regex pattern against an input string.' This specific verb and resource combination makes the purpose unambiguous and distinct from sibling tools like convert_currency or validate_nif.

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

Usage Guidelines3/5

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

The purpose statement implies usage for regex testing, but there is no explicit guidance on when to use this tool versus alternatives or when not to use it. The sibling tools are mostly unrelated, so no exclusion is needed, but the description does not provide any contextual usage direction.

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

validate_corsBInspect

Validate CORS policy against security best practices. Reports issues by severity.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_ageNoAccess-Control-Max-Age in seconds
allow_originYesAccess-Control-Allow-Origin value(s)
allow_headersNoAllowed request headers
allow_methodsNoAllowed HTTP methods
expose_headersNoAccess-Control-Expose-Headers
allow_credentialsNoAccess-Control-Allow-Credentials
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool reports issues by severity, but it does not describe the output format, whether it reads external data, or any side effects. This is minimal behavioral insight.

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

Conciseness5/5

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

The description is two sentences: the first states the action, the second states the report nature. It is front-loaded and every word earns its place.

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

Completeness2/5

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

With 6 parameters and no output schema, the description needs to explain the return value. 'Reports issues by severity' is too vague; it does not specify the exact output structure, severity levels, or how to interpret the results. This is inadequate for a validation tool.

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

Parameters3/5

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

All 6 parameters have descriptions in the schema (100% coverage), so the description need not add parameter details. It adds none, which is acceptable because the schema already handles parameter semantics.

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

Purpose4/5

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

The description clearly states the tool validates CORS policies against security best practices, which is a specific verb+resource. It does not explicitly differentiate from sibling tools, but the sibling list contains no similar validation tool, so the purpose is unambiguous.

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

Usage Guidelines3/5

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

Usage is implied from the purpose: use when you need to validate CORS policy. However, there is no explicit guidance on when to use this tool versus alternatives, nor any conditions, prerequisites, or exclusions.

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

validate_ibanAInspect

Validate IBAN (ISO 13616 mod-97) with SEPA BIC lookup for Portuguese banks.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN string (with or without spaces)
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It states the action but does not disclose return format, error behavior, network dependencies, external lookup side effects, or any prerequisites. The mention of 'SEPA BIC lookup' hints at external behavior but does not elaborate.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the primary action 'Validate IBAN', and contains no redundant information. Every word carries meaning, achieving high conciseness.

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

Completeness3/5

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

The tool is simple with one parameter and no output schema, but the description does not explain what the tool returns (e.g., boolean, details) or the behavior of the BIC lookup. With no annotations or output schema, this is a clear gap, making the description merely adequate rather than complete.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for the 'iban' parameter ('IBAN string (with or without spaces)'). The description adds the ISO standard reference, which gives some context, but does not add significant meaning beyond the schema. The baseline is appropriate.

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

Purpose5/5

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

The description clearly states the tool's purpose: to validate an IBAN using the ISO 13616 mod-97 algorithm, with an additional SEPA BIC lookup for Portuguese banks. This specific verb plus resource and the standard reference clearly distinguishes it from siblings like validate_nif or verify_eu_vat.

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

Usage Guidelines3/5

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

The description implies when to use the tool (whenever IBAN validation is needed, especially for Portuguese banks with BIC lookup) but does not explicitly exclude alternatives or provide guidance on how to choose among sibling tools. No direct mention of 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.

validate_nifBInspect

Validate Portuguese NIF/NIPC tax identification number (mod-11 check digit).

ParametersJSON Schema
NameRequiredDescriptionDefault
nifYesPortuguese NIF or NIPC (9 digits)
Behavior2/5

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

With no annotations, the description carries the full burden. It discloses the algorithm (mod-11 check digit) but omits critical behavioral details such as return type (true/false versus throwing an error), handling of invalid formats, or any side effects. The description is too sparse to fully inform an agent of the tool's runtime behavior.

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

Conciseness5/5

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

The description is a single, focused sentence that includes both the resource and the validation method. No unnecessary words or repetition, making it optimally concise.

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

Completeness2/5

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

The tool is simple, but with no annotations and no output schema, the description should at least clarify the return behavior. It does not state whether the tool returns a boolean or raises an exception for invalid input. This gap prevents the description from being fully complete for an agent selecting and invoking the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the parameter 'nif' is already described as a 9-digit Portuguese NIF/NIPC. The description repeats this but adds no new meaning beyond mentioning the mod-11 check digit, which is more about behavior than parameter semantics. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool validates Portuguese NIF/NIPC tax identification numbers using the mod-11 check digit. This specific verb+resource+scope distinguishes it from sibling validation tools like validate_iban and verify_eu_vat.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not mention when to use this tool versus alternatives, nor does it exclude specific cases. While the tool's purpose is obvious from the name, the description itself offers no explicit guidance on selection.

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

verify_eu_vatAInspect

Verify EU VAT number via VIES (European Commission free API).

ParametersJSON Schema
NameRequiredDescriptionDefault
vat_numberYesVAT number without country prefix
country_codeYesISO 3166-1 alpha-2 country code (e.g. PT, DE, FR)
Behavior2/5

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

No annotations are provided, so the description carries full responsibility. It mentions the external VIES API, which hints at network dependency, but does not disclose latency, rate limits, error behavior, or what happens with invalid inputs. The description is too thin to convey behavioral traits beyond the basic action.

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

Conciseness5/5

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

The description is a single, focused sentence that is front-loaded with the core purpose. Every word earns its place; there is zero redundancy or filler.

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

Completeness3/5

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

Given the simplicity of the tool (2 params, no output schema, no annotations), the description is minimally adequate: it states the action and the API source. However, it lacks details about return format, potential errors, or network dependencies, which would be needed for a full understanding, especially since no output schema exists.

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

Parameters3/5

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

Schema coverage is 100% with both parameters (vat_number and country_code) having clear descriptions. The tool description adds no extra parameter context beyond what the schema already provides, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description provides a specific verb 'Verify', a clear resource 'EU VAT number', and the mechanism 'via VIES (European Commission free API)'. This clearly distinguishes it from sibling tools like validate_iban and validate_nif, which target different validation objects.

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

Usage Guidelines3/5

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

The description implies usage context for EU VAT verification but does not explicitly state when to use this tool over alternatives. Sibling validators exist (validate_iban, validate_nif), yet no comparison or exclusion is provided. The context is clear but lacks explicit guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides AI agents with 10 pay-per-call utility tools (QR generation, DNS lookup, OCR, etc.) using USDC on Base via the x402 protocol, with agent's private key never leaving the agent.
    11
    107
    MIT
  • F
    license
    -
    quality
    F
    maintenance
    20 pay-per-call utility tools for AI agents via x402 USDC micropayments on Base. Screenshots, OCR, PDF, web scraping, weather, forex rates, crypto/stock prices, DNS, geocoding, translation, and more. $0.001–$0.008 per call. No API keys, no signup.
    1

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources