Cleanor
Server Details
Zero-auth MCP: image optimize, cited storage/format data, and dev utilities LLMs get wrong.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- cleanor-app/cleanor-mcp
- GitHub Stars
- 0
- Server Listing
- Cleanor Tools
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
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.
Tool Definition Quality
Average 4.3/5 across 12 of 12 tools scored.
Each tool has a clearly distinct purpose: base64 encoding, color conversion, string counting, hashing, image format comparison, JSON formatting, JWT decoding, image optimization, QR code generation, slugification, storage capacity calculation, and UUID generation. No two tools overlap in functionality.
Tool names are mostly consistent using lowercase and underscores, but they mix patterns: some are nouns (color, hash, uuid), some verbs (count, slugify), and some verb_noun pairs (jwt_decode, optimize_image). This minor inconsistency is still readable.
With 12 tools, the count is well within the ideal range. Each tool serves a specific and useful utility function, making the set well-scoped for a general-purpose developer toolkit.
The tool set covers a broad range of common web development utilities (encoding, colors, hashing, JSON, images, UUIDs). Minor gaps like URL encoding or HTML escaping are missing, but the core functionalities are well-represented.
Available Tools
22 toolsbase64Base64 encode / decodeARead-onlyIdempotentInspect
Encode text to Base64 or decode Base64 back to text (UTF-8 safe). Supports URL-safe alphabet. Use whenever you need to encode/decode data URIs, tokens, or config values instead of guessing the bytes.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Direction. | encode |
| input | Yes | Text to encode, or Base64 to decode. | |
| url_safe | No | Use URL-safe alphabet (-_ instead of +/, no padding). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | encode or decode. |
| result | Yes | The encoded or decoded text. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey safe and idempotent behavior. Description adds value by specifying UTF-8 safety and URL-safe alphabet support, which are relevant behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. First sentence states core function, second provides usage guidance. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema, description covers all necessary aspects: function, safety, alphabet options, and use cases. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameter descriptions. Description adds context by explaining the overall operation (encode/decode) and the URL-safe option, helping the agent understand parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool encodes/decodes Base64 and mentions UTF-8 safety and URL-safe alphabet. It distinguishes from sibling tools by specific use cases like data URIs, tokens, config values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description provides explicit usage context: 'Use whenever you need to encode/decode data URIs, tokens, or config values'. It does not explicitly state when not to use, but implies appropriate scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_convertConvert a number between basesARead-onlyIdempotentInspect
Convert an integer between number bases 2–36 (e.g. hex to binary, decimal to base-36). Arbitrary precision via BigInt, so large values stay exact. Use for radix conversions instead of doing them by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | The number, in from_base (e.g. "ff", "1010", "255"). | |
| to_base | No | Base to convert to (2–36). | |
| from_base | No | Base of the input (2–36). |
Output Schema
| Name | Required | Description |
|---|---|---|
| input | Yes | |
| result | Yes | The value in to_base. |
| decimal | Yes | The value in base 10. |
| to_base | Yes | |
| from_base | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent), description adds that the tool uses BigInt for arbitrary precision, ensuring exact results for large values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose, second adds precision detail and usage hint. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity, full schema coverage, and output schema existence, the description covers all needed aspects: purpose, precision, and usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameter descriptions (100%). Description does not add new parameter-specific details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts integers between bases 2-36, with examples. No sibling tool does base conversion, so it's distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to use this tool for radix conversions instead of manual calculation. No alternative or when-not-to-use stated, but not needed given no sibling overlap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colorConvert a color between formatsARead-onlyIdempotentInspect
Convert a color (hex, rgb() or hsl()) and return hex, RGB and HSL representations at once. Use when picking or translating colors for CSS, design tokens or themes.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | A color: "#3b82f6", "rgb(59,130,246)" or "hsl(217,91%,60%)". |
Output Schema
| Name | Required | Description |
|---|---|---|
| hex | Yes | |
| hsl | Yes | |
| rgb | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the agent knows it's safe and idempotent. The description adds that it returns all three representations, but no further 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, output schema, and annotations, the description completes the picture by explaining usage scenarios. No significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear examples in the parameter description. The description restates input formats but adds no additional parameter semantics beyond usage context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts colors between formats (hex, rgb, hsl) and returns all representations at once. This distinguishes it from siblings like color_palette and other conversion tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use: 'when picking or translating colors for CSS, design tokens or themes.' This provides clear context, though it does not explicitly exclude other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
color_paletteGenerate a color paletteARead-onlyIdempotentInspect
Build a harmonious color palette from a base color using color-theory rules (complementary, analogous, triadic, tetradic, or monochromatic). Returns each color as hex and HSL. Use to derive a theme or design tokens from one brand color.
| Name | Required | Description | Default |
|---|---|---|---|
| color | Yes | Base color: "#3b82f6", "rgb(...)" or "hsl(...)". | |
| harmony | No | Color-harmony rule. | analogous |
Output Schema
| Name | Required | Description |
|---|---|---|
| base | Yes | The base color as hex. |
| colors | Yes | |
| harmony | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent, so bar is lower. Description adds that it returns each color as hex and HSL, and uses color-theory rules, which is helpful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with key action and output details, no superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with 2 parameters, full schema coverage, output schema present, and annotations cover safety. Description adequately completes the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with full descriptions (100% coverage). Description adds no parameter-specific meaning beyond what schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Build' and resource 'harmonious color palette', clearly distinguishing it from sibling tools like 'color' which likely handles single color operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use to derive a theme or design tokens from one brand color', providing clear use case. No explicit when-not-to-use or alternatives, but context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
countCount characters, words, lines, bytesARead-onlyIdempotentInspect
Accurately count characters (Unicode code points), UTF-16 units, words, lines and UTF-8 bytes in text. LLMs are notoriously bad at counting, so always use this tool for "how many characters/words" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to measure. |
Output Schema
| Name | Required | Description |
|---|---|---|
| bytes | Yes | UTF-8 bytes. |
| lines | Yes | |
| words | Yes | |
| characters | Yes | Unicode code points. |
| utf16_units | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds context by emphasizing accuracy and the tool's necessity, which goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences deliver all necessary information without waste. The first sentence lists capabilities, the second provides usage advice. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter tool with rich annotations and output schema, the description fully covers what the tool does, when to use it, and the types of counts. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description 'Text to measure' is clear. The tool description does not add additional semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool counts characters (Unicode code points), UTF-16 units, words, lines, and UTF-8 bytes. The verb 'count' and resource 'text' are specific, and it distinguishes from sibling utility tools like base64 or color.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to always use this tool for counting questions because LLMs are bad at counting. This provides strong when-to-use guidance and implicitly warns against manual counting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cron_describeExplain a cron expressionARead-onlyInspect
Parse a standard 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English breakdown and the next few run times in UTC. Use to sanity-check a schedule instead of guessing what the fields mean.
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes | A 5-field cron expression, e.g. "30 2 * * 1-5". |
Output Schema
| Name | Required | Description |
|---|---|---|
| hour | Yes | |
| month | Yes | |
| minute | Yes | |
| next_runs | Yes | Next run times in UTC ISO 8601. |
| day_of_week | Yes | |
| day_of_month | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only (readOnlyHint=true). The description adds context: output format (plain-English breakdown, next run times), timezone (UTC), and that it parses standard 5-field cron. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two focused sentences: first defines the action and outputs, second provides usage guidance. No extraneous information. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (single parameter, no enums, output schema present), the description sufficiently covers input format, expected output, and timezone. Minimal but complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear parameter description. The tool description repeats the example and field format, adding only marginal value beyond the schema. Baseline 3 applies per guidelines for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Parse a standard 5-field cron expression'), the resource (cron expression), and outputs (plain-English breakdown and next run times). It distinguishes from sibling tools like datetime or diff, which do not parse cron expressions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use to sanity-check a schedule instead of guessing what the fields mean.' This indicates when to use the tool. It does not list alternatives, but no sibling tool overlaps in functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
datetimeCurrent or parsed date/timeARead-onlyInspect
Get the current date/time, or convert a given timestamp, into a target IANA timezone with ISO, Unix and human-readable forms. Pass a Unix timestamp (seconds or ms) or an ISO string as input; omit it for "now". LLMs cannot know the real current time, so use this instead of guessing.
| Name | Required | Description | Default |
|---|---|---|---|
| input | No | Optional: a Unix timestamp (s or ms) or ISO date string. Omit for the current time. | |
| timezone | No | IANA timezone, e.g. "America/New_York" or "UTC". | UTC |
Output Schema
| Name | Required | Description |
|---|---|---|
| local | Yes | Human-readable local time in the timezone. |
| unix_s | Yes | |
| iso_utc | Yes | |
| unix_ms | Yes | |
| timezone | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that it returns multiple output forms and is intended to replace LLM guessing. Annotations declare readOnlyHint, and description aligns without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the main purpose, and wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Combined with the schema and annotations, the description covers input, output, and usage context completely. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes both parameters fully. The description repeats input options but does not add new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the current date/time or converts a timestamp into specified timezones, with output in ISO, Unix, and human-readable forms. It is 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool for current time because LLMs cannot know it. It does not mention alternatives, but siblings are unrelated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diffLine diff between two textsARead-onlyIdempotentInspect
Compute a line-by-line diff between two texts, marking removed lines with "-", added with "+" and unchanged with two spaces, plus a change count. Use to see exactly what changed instead of comparing by eye. Capped at 1000 lines per side.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | The original ("before") text. | |
| b | Yes | The updated ("after") text. |
Output Schema
| Name | Required | Description |
|---|---|---|
| diff | Yes | The line diff (+/-/space prefixed), empty if identical. |
| added | Yes | |
| changed | Yes | |
| removed | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds detailed behavioral info: output markings, change count, and a cap of 1000 lines per side. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences that efficiently convey the purpose, output format, use case, and a constraint. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple diff tool with clear annotations and a known output schema, the description covers the core functionality, output format, and limits. It is sufficiently complete for an agent to decide and use the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds the context of 'original' and 'updated' already present in schema, and overall behavior. It does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes a line-by-line diff between two texts, specifying the output format (with '-', '+', spaces) and a change count. It is distinct from sibling tools like base64, hash, etc., which perform entirely different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use to see exactly what changed instead of comparing by eye', providing a clear use case. It also mentions a line cap (1000 lines per side) which implies a constraint. However, it does not explicitly mention when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hashHash text (SHA family)ARead-onlyIdempotentInspect
Compute a cryptographic hash of text (SHA-1, SHA-256, SHA-384 or SHA-512) and return the hex digest. Use for checksums, cache keys, or verifying content. MD5 is intentionally not offered (broken, and unavailable in Web Crypto). LLMs cannot compute these reliably by hand, so always use this tool instead of guessing.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to hash (UTF-8). | |
| algorithm | No | Hash algorithm. Default sha-256. | sha-256 |
Output Schema
| Name | Required | Description |
|---|---|---|
| hex | Yes | The hex-encoded digest. |
| algorithm | Yes | The hash algorithm used. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. The description adds valuable context beyond annotations: it explains that MD5 is intentionally not offered (because it is broken and unavailable in Web Crypto) and emphasizes that LLMs cannot compute hashes reliably manually. This disclosure of design rationale and reliability considerations enhances transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (four sentences) and well-structured: it first states the core function, then provides use cases, an explicit note about MD5 omission, and finally a strong directive for LLMs to always use this tool. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, and the description covers all essential aspects: what it does, the available algorithms, return type (hex digest), usage guidance, and warnings. The presence of an output schema (not shown but noted) likely covers return value details. The description is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters (input and algorithm) have clear descriptions in the schema. The description adds little beyond what the schema already provides (e.g., it lists algorithm options again). Baseline score of 3 is appropriate as the description does not significantly augment the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool computes cryptographic hashes of text using SHA-1, SHA-256, SHA-384, or SHA-512 and returns hex digest. It explicitly mentions use cases (checksums, cache keys, content verification) and distinguishes itself from alternative hash methods (e.g., MD5 is not offered due to security issues). The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear use cases (checksums, cache keys, verifying content) and advises using this tool over manual LLM guessing. However, it does not explicitly state when to use this tool over sibling tools like hmac (keyed hash) or base64 (encoding), which could be considered a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hmacHMAC signature of a messageARead-onlyIdempotentInspect
Compute an HMAC (keyed hash) of a message with a secret, using SHA-1/256/384/512, returned as hex or Base64. Use to sign webhook payloads or verify a signature instead of guessing. LLMs cannot compute this by hand.
| Name | Required | Description | Default |
|---|---|---|---|
| secret | Yes | The shared secret key (UTF-8). | |
| message | Yes | The message to sign (UTF-8). | |
| encoding | No | Output encoding. | hex |
| algorithm | No | Hash algorithm. | sha-256 |
Output Schema
| Name | Required | Description |
|---|---|---|
| encoding | Yes | |
| algorithm | Yes | |
| signature | Yes | The HMAC in the requested encoding. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, covering safety and idempotency. The description adds the behavior that it returns hex or Base64 and notes that LLMs cannot compute it manually, but does not add deeper behavioral context beyond what the schema and annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence defines the tool's function, and the second gives actionable usage guidance. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (4 parameters, 2 required, enums) and the presence of an output schema, the description covers the purpose and use cases adequately. It mentions the key aspects (algorithm, encoding, use case) but could slightly benefit from noting that the secret must be shared (already in schema) or that output is deterministic (idempotentHint covers that). Reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have descriptions in the schema (100% coverage), so the description does not need to add much. It mentions the algorithm and encoding options, but these are already documented in the schema's enums. The description adds no new semantics beyond what the schema provides, warranting a baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it computes an HMAC signature with specified algorithms (SHA-1/256/384/512) and encodings (hex/Base64), and gives concrete use cases (sign webhook payloads, verify signatures). It also distinguishes from siblings like 'hash' by explicitly mentioning keyed HMAC and the inability of LLMs to compute it manually.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Use to sign webhook payloads or verify a signature instead of guessing,' which provides clear context for when to use the tool. However, it does not explicitly state when not to use it or list alternatives beyond the implicit sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_format_savingsReal storage savings of next-gen image formatsARead-onlyInspect
How much smaller WebP, AVIF or JPEG XL are than JPEG at matched perceptual quality, from Cleanor Labs’ controlled benchmark. Also reports the "HEIC conversion tax" (converting an iPhone HEIC to JPG/PNG makes it bigger). Use to justify a format choice when building a site or app.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Target format to compare against JPEG. | avif |
| quality | No | web = typical web quality (SSIM 0.95); high = near-lossless (SSIM 0.98). | web |
Output Schema
| Name | Required | Description |
|---|---|---|
| format | Yes | |
| source | Yes | |
| quality | Yes | |
| all_formats | Yes | |
| percent_smaller_than_jpeg | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description's transparency is additive. It reveals the data source ('from Cleanor Labs’ controlled benchmark') and notes the tool also reports a negative saving (HEIC conversion tax), giving behavioral insight beyond a simple savings figure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first sentence states the core function with specific examples, and the second adds an additional feature and use case. It is front-loaded, efficient, and contains no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the full schema coverage and existence of an output schema, the description is sufficiently complete. It covers the main purpose, additional feature (HEIC tax), and use case. Minor gap: no detailed explanation of the HEIC conversion tax, but the context is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions already defining 'format' and 'quality' enums. The description does not add new parameter semantics beyond the overall tool context, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reports storage savings of WebP, AVIF, or JPEG XL relative to JPEG at matched perceptual quality, including the HEIC conversion tax. It distinguishes from siblings by specifying the unique benchmark source and use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use to justify a format choice when building a site or app,' providing clear context. It does not mention when not to use or alternatives, but the use case is specific and no sibling tools compete directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
json_formatFormat / validate JSONARead-onlyIdempotentInspect
Validate JSON and pretty-print or minify it, optionally sorting object keys. Returns a precise parse error (with position) if invalid. Use to check and clean JSON instead of eyeballing it.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | pretty = 2-space indent; minify = single line. | pretty |
| input | Yes | JSON text. | |
| sort_keys | No | Sort object keys alphabetically (deep). |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | Whether the input was valid JSON. |
| formatted | Yes | The formatted JSON text. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true. The description adds that the tool 'returns a precise parse error (with position) if invalid', which is useful behavioral information beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the core purpose and key features. Every sentence adds value—the first describes the main functionality, the second gives usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple validation and formatting tool, the description covers all key aspects: validation, formatting options (pretty/minify), key sorting, and error behavior. The presence of an output schema (context indicates true) further documents return values. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage for all 3 parameters, with detailed descriptions for each (e.g., 'pretty = 2-space indent; minify = single line.'). The description summarizes the parameters but does not add significant new meaning beyond what the schema already provides, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates JSON and pretty-prints or minifies it, with optional key sorting. It uses specific verbs ('Validate', 'pretty-print', 'minify') and resources ('JSON'), and is distinct from all sibling tools which handle different data formats or operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to use this tool for checking and cleaning JSON instead of manual inspection ('instead of eyeballing it'). It provides clear context for when to use it, though it does not mention when not to use it or list alternative tools (but no siblings are close alternatives).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jwt_decodeDecode a JWT (no verification)ARead-onlyIdempotentInspect
Decode a JSON Web Token into its header and payload so you can inspect claims (iss, exp, sub, scopes). The signature is NOT verified and no secret is required or stored. Use to read a token during debugging.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The JWT (three dot-separated segments). |
Output Schema
| Name | Required | Description |
|---|---|---|
| header | No | The decoded JWT header object. |
| exp_iso | No | Expiry as ISO 8601, if present. |
| expired | No | Whether the token is past its exp, if present. |
| payload | No | The decoded JWT payload (claims). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent; description adds that signature verification is not performed and no secret is stored, which are key behavioral traits beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant information. First sentence states purpose and output, second clarifies limitations. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, annotations, and output schema presence, the description covers all necessary behavioral and usage aspects. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides 100% coverage with a description for the 'token' parameter ('three dot-separated segments'). Description adds context about decoding into header/payload but does not significantly enhance parameter understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'decode' and the resource 'JWT', specifying that it decodes into header and payload. It distinguishes the tool from sibling tools like base64 or hash by focusing on JWT-specific functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states that the signature is NOT verified and no secret is required, guiding the agent to use this tool for reading/debugging tokens, not for verification. Provides clear context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_imageOptimize / convert an image for the webARead-onlyInspect
Fetch an image from a public URL and re-encode it smaller (WebP/AVIF/JPEG), optionally resizing to a target width. Returns the optimized image plus before/after byte sizes. Use this when an AI-generated or dropped-in asset (hero image, screenshot, illustration) is too large to ship.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Resize to this width in px, preserving aspect ratio. Omit to keep original size. | |
| format | No | Output format. webp = best browser support; avif = smallest; jpeg = universal. | webp |
| quality | No | Encode quality 1-100 (80 is a good default). | |
| image_url | Yes | Public URL of the source image (PNG/JPEG/WebP/AVIF/GIF). |
Output Schema
| Name | Required | Description |
|---|---|---|
| format | Yes | Output image format. |
| mime_type | Yes | |
| saved_pct | Yes | Percent smaller than the original. |
| original_bytes | Yes | |
| optimized_bytes | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description explains it fetches from public URLs (matching openWorldHint), re-encodes, and returns sizes. Adds details beyond readOnlyHint by describing the operation and output. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, then use case. No unnecessary words. Efficient for agent reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Has output schema, so description only needs to hint at return values (it does: 'optimized image plus before/after byte sizes'). Input and behavior are fully covered for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 4 parameters with descriptions (100% coverage). Description adds minimal extra meaning: mentions resizing and formats but essentially restates schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verbs ('fetch', 're-encode') and identifies the resource ('image from a public URL'). It clearly states the outcome (optimized image with sizes) and implies use for web assets. Distinguishes from color and image_format_savings by context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this when...asset is too large to ship', giving clear trigger context. Does not mention when not to use or alternative tools like image_format_savings for analysis-only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
placeholder_imageGenerate a placeholder image (SVG)ARead-onlyIdempotentInspect
Generate a lightweight SVG placeholder image at any size, with an optional label and custom background/text colors. Dependency-free, pastes straight into a page or mockup. Use for wireframes and design stubs instead of hotlinking a placeholder service.
| Name | Required | Description | Default |
|---|---|---|---|
| bg | No | Background color (hex, rgb() or hsl()). | #e5e7eb |
| text | No | Label text. Defaults to the dimensions, e.g. "600×400". | |
| color | No | Text color. | #6b7280 |
| width | No | Width in pixels. | |
| height | No | Height in pixels. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | Yes | The SVG markup. |
| width | Yes | |
| height | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. Description adds context about being dependency-free and inline pasting, which is helpful beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, front-loaded with the core purpose. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple generation tool with full schema and output schema, the description adequately explains usage and output format (inline SVG).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with descriptions. The description mentions optional label and colors but adds no additional semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it generates a lightweight SVG placeholder image with optional customization, and distinguishes from hotlinking a placeholder service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends use for wireframes and design stubs instead of hotlinking, which provides clear context. Could mention when not to use (e.g., for production images) but is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
qr_codeGenerate a QR code (SVG)ARead-onlyInspect
Encode text or a URL as a QR code and return a crisp, dependency-free SVG you can paste straight into a page, deck or doc.
| Name | Required | Description | Default |
|---|---|---|---|
| ecc | No | Error-correction level: L=7%, M=15%, Q=25%, H=30% recoverable. | M |
| size | No | SVG pixel size. | |
| text | Yes | Text or URL to encode. |
Output Schema
| Name | Required | Description |
|---|---|---|
| svg | Yes | The QR code as SVG markup. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true (safe, non-destructive) and openWorldHint=false. The description adds that the output is a 'crisp, dependency-free SVG', but does not detail any other behavioral aspects like rate limits or idempotency. It provides minimal additional context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the purpose and output. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple generation tool with full schema coverage and an existing output schema (not shown but mentioned in signals), the description is complete. It specifies the input type, output format, and intended use case, covering all necessary information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 3 parameters with 100% description coverage (text, size, ecc). The tool description does not add any additional meaning beyond what the schema provides. Baseline is 3 because schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'encode' (or generate), the resource 'text or a URL as a QR code', and the output format 'SVG' with a specific use case 'paste straight into a page, deck or doc'. It distinguishes from sibling tools like base64 or color, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use the tool (when needing a QR code SVG) but does not explicitly discuss when not to use it or mention alternatives. However, the sibling tools are all distinct, so there is no confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regex_testTest a regular expressionARead-onlyIdempotentInspect
Test a JavaScript regular expression against sample text and return whether it matches, plus every match with its captured groups and index. Use to verify a pattern instead of reasoning about it in your head. Input and pattern are length-capped to keep it fast and safe.
| Name | Required | Description | Default |
|---|---|---|---|
| flags | No | Regex flags, e.g. "gi". Allowed: g i m s u y d. | g |
| input | Yes | Text to test against. | |
| pattern | Yes | The regex pattern (without slashes). |
Output Schema
| Name | Required | Description |
|---|---|---|
| matched | Yes | Whether the pattern matched at all. |
| matches | Yes | Each match with its start index and captured groups. |
| truncated | Yes | True if results were capped at 100. |
| match_count | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent. Description adds that input/pattern length-capped for speed/safety and explains return structure (matches, groups, index). This provides meaningful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. First sentence covers purpose and result, second provides usage guidance and constraints. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be detailed. Description covers purpose, when to use, constraints, and behavioral traits. Fully complete for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds the note about length caps but doesn't elaborate on flags or other parameters beyond schema. Adequate but not extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool tests a regex against sample text and returns match details. It distinguishes itself from sibling tools which are mostly conversion/format utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use to verify a pattern instead of reasoning about it in your head,' providing clear context for use. No explicit exclusions or alternatives, but sibling list shows no overlapping tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slugifySlugify text for URLsARead-onlyIdempotentInspect
Turn a title or phrase into a clean, URL-safe slug (lowercase, hyphenated, accents stripped). Use when generating page paths, filenames or anchor IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | Text to slugify. | |
| separator | No | Word separator. | - |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | The URL-safe slug. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety traits (readOnlyHint, idempotentHint). The description adds useful behavioral details like lowercase, hyphenated, accents stripped. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose followed by usage. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists and tool is simple, description covers transformation details and use cases adequately. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both params fully (100% coverage). The description adds semantics beyond schema descriptions by explaining the slug characteristics (clean, URL-safe, lowercase, hyphenated, accents stripped).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'turn' and the resource 'title or phrase' into a slug, with specific output characteristics (lowercase, hyphenated, accents stripped). It distinguishes from siblings which are all different utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when generating page paths, filenames or anchor IDs', providing clear context. Does not mention when not to use, but slibings list shows no alternative slugify tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
storage_capacityHow much fits in a phone storage tierARead-onlyInspect
How many photos or minutes of video actually fit in a given storage size, corrected for real OS/filesystem overhead. Backed by Cleanor Labs measured per-item sizes. Use for realistic sample copy, dashboards, or "how many photos fit in 128 GB" answers.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | What to count. | photos |
| storage_gb | Yes | Advertised storage size in GB (e.g. 64, 128, 256, 512). |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes | |
| breakdown | Yes | How many of each item fit. |
| usable_gb | Yes | Usable GB after OS/filesystem overhead. |
| storage_gb | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description adds value by explaining the correction for OS/filesystem overhead and that it is backed by Cleanor Labs measured per-item sizes. This provides context beyond the annotation without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: first states purpose, second mentions backing data, third gives use cases. No wasted words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values need not be explained. The description covers purpose, behavioral traits (overhead correction), and use cases. It is fully complete for an informative tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes the two parameters (content enum with default, storage_gb with range). The description adds general context about overhead but does not elaborate on parameters specifically, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates how many photos or minutes of video fit in a given storage size, corrected for real OS/filesystem overhead. It specifies the verb ('how many fit') and resource ('storage capacity'), and distinguishes from siblings which are unrelated tools like base64, color, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'realistic sample copy, dashboards, or how many photos fit in 128 GB answers.' While it does not explicitly state when not to use or suggest alternatives, the context signals show sibling tools are unrelated, so the guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unit_convertConvert between unitsARead-onlyIdempotentInspect
Convert a value between units of length, mass, data size, time, speed or temperature. Supported units: mm, cm, m, km, in, ft, yd, mi, nmi, mg, g, kg, t, oz, lb, st, bit, byte, kb, kib, mb, mib, gb, gib, tb, tib, ms, s, min, h, day, week, mps, kph, mph, fps, knot, c, f, k. Use for exact conversions instead of approximating.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Target unit (must be the same category as "from"). | |
| from | Yes | Source unit (e.g. "km", "lb", "mib", "c"). | |
| value | Yes | The numeric value to convert. |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | Yes | |
| from | Yes | |
| value | Yes | |
| result | Yes | |
| category | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior. Description adds that conversions are exact, and lists units. No contradiction with annotations, and no further behavioral details needed beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with purpose and categories, followed by unit list and a usage tip. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (handles return values), the description fully covers the tool's domain: all categories and units, plus the exactness guideline. No missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema describes all 3 parameters with descriptions (100% coverage). Description adds the list of supported units and categories, which helps users understand valid values for 'from' and 'to', but does not significantly elaborate beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool converts values between units across multiple categories (length, mass, data size, time, speed, temperature), lists supported units, and distinguishes from sibling tools by being the only unit converter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use for 'exact conversions instead of approximating', providing a clear usage context. However, it does not explicitly state when not to use this tool or compare with sibling tools, though no direct sibling exists for unit conversion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
url_parseParse a URL into partsARead-onlyIdempotentInspect
Break a URL into its components: scheme, host, port, path, decoded query parameters and fragment. Use to inspect or debug a URL instead of parsing it by eye.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to parse (absolute, with scheme). |
Output Schema
| Name | Required | Description |
|---|---|---|
| host | Yes | |
| path | Yes | |
| port | Yes | Port, or empty if the scheme default. |
| query | Yes | |
| scheme | Yes | |
| fragment | Yes | |
| username | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly and idempotent behavior. The description adds value by disclosing that query parameters are decoded and listing the output components, providing useful behavioral details beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two sentences. The first sentence front-loads the core functionality, and the second provides usage guidance. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (as indicated by context signals), the description does not need to explain return values. It adequately lists the components and mentions parameter decoding. For a simple parsing tool, this is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single parameter 'url' with a description ('The URL to parse (absolute, with scheme).'). The tool description does not add additional semantics beyond what the schema already provides. With 100% schema coverage, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Break a URL into its components') and lists the specific components (scheme, host, port, path, decoded query parameters, fragment). It distinguishes from manual parsing, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use to inspect or debug a URL instead of parsing it by eye,' providing clear usage context. While it doesn't explicitly state when not to use it or mention alternatives, the context is sufficient and no sibling tools conflict.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uuidGenerate UUIDsARead-onlyInspect
Generate one or more UUIDs. v4 is fully random; v7 is time-sortable (recommended for database keys). LLMs cannot produce cryptographically random or correctly-formatted UUIDs, so always use this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many to generate. | |
| version | No | UUID version. v7 = time-ordered. | v4 |
Output Schema
| Name | Required | Description |
|---|---|---|
| uuids | Yes | The generated UUIDs. |
| version | Yes | UUID version generated. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. The description adds value by stating that UUIDs are cryptographically random (v4) or time-sortable (v7), and that LLMs cannot produce them correctly, giving important behavioral context beyond the schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that cover purpose, version distinction, and usage rationale. Every sentence is essential and adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and high schema coverage, the description is complete. It adequately explains the tool's purpose, parameter choices, and why it is necessary for LLMs, leaving no significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add new parameter details beyond the schema, but it clarifies the use case for v7 (recommended for database keys), which provides slight additional meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: generate one or more UUIDs. It differentiates between v4 and v7, and explicitly notes that LLMs cannot produce cryptographically random or correctly-formatted UUIDs, distinguishing it from sibling tools that might handle other data formats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (when UUIDs are needed) and why LLMs should not generate them manually. It recommends v7 for database keys, but lacks explicit when-not-to-use or comparison to specific sibling tools, though the unique purpose minimizes confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.