Skip to main content
Glama

Server Details

Free, no sign-in: favicons, web to Markdown, CSV to chart, text to speech, time zones, passwords.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 44 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a completely distinct resource and output type: timezone conversion, chart rendering, background images, favicons, passwords, mind maps, disposable inboxes, speech synthesis, and page-to-Markdown extraction. There is no case where two tools could plausibly be selected for the same request, and the 'WHEN TO USE' sections reinforce the boundaries.

Naming Consistency4/5

Eight of nine names follow a clean verb_noun pattern (compare_timezones, data_to_chart, generate_background, generate_favicon, generate_password, receive_email, text_to_speech, web_to_markdown). 'mindmaps' breaks the pattern as a bare plural noun, a minor but noticeable deviation.

Tool Count5/5

Nine tools is well within the well-scoped range, and each one is a self-contained utility with a concrete output (image, MP3, Markdown, password, address). Nothing appears redundant or like filler.

Completeness4/5

For a heterogeneous 'free tools' collection each individual capability is reasonably complete: images return PNG/SVG plus file links, email covers create/read/wait, TTS handles long text in parts. Gaps are minor — receive_email is receive-only with no inbox management, and mindmaps has the thinnest described surface (no explicit outline/project-file schema).

Available Tools

9 tools
compare_timezonesTime zone comparisonA
Read-only
Inspect

Converts one moment across several time zones, daylight saving time included.

WHEN TO USE: "what time is it in…", scheduling a meeting across cities, checking whether a time falls at night or on another day somewhere.

HOW IT WORKS:

  • zones: IANA time zone names in Area/City form — America/Sao_Paulo, Europe/Lisbon, Asia/Tokyo, UTC. Not city names alone, abbreviations (EST, BRT) or offsets (GMT-3). The FIRST zone is the reference for date and hour. 1 to 12 zones.

  • date (YYYY-MM-DD) and hour (0–23) are read in the first zone. Without them: the current moment. Only hour: that hour today in the first zone. Only date: that day at the current hour.

  • format: 24h (14:00) or 12h (2:00 PM).

RETURNS: the moment in UTC and, for each zone, its local date, weekday, time, UTC offset and dayShift (+1 = next day, -1 = previous day, relative to the first zone). link: this tool's web page with the same comparison.

ERRORS name the unknown zone or the invalid date; fix it and call again.

NameRequiredDescriptionDefault
dateNoThe day, as YYYY-MM-DD, in the first time zone. Defaults to today there.
hourNoThe hour, 0 to 23, in the first time zone. Defaults to the current hour there.
zonesNoIANA time zone names, such as America/Sao_Paulo or Europe/London. The first one is the reference. 1 to 12.
formatNoHow times are written: 24h (14:00) or 12h (2:00 PM).24h

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description explains DST handling, default behaviors when date/hour are omitted, the return payload (UTC, local date, weekday, time, offset, dayShift), and a link. It also describes error behavior. This gives the agent a full behavioral model with no need to infer.

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 organized into clear sections (WHEN TO USE, HOW IT WORKS, RETURNS, ERRORS) and front-loads the core purpose. Each sentence carries information an agent needs, and the structured format makes scanning easy.

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

Completeness5/5

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

Given the tool has no output schema, the description compensates by specifying exactly what is returned. It covers defaults, edge cases (dayShift), and error handling, making it complete for correct invocation without requiring further inference.

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

Parameters5/5

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

Even though schema coverage is 100%, the description adds crucial semantics: the first zone is the reference, zone names must be IANA Area/City (not abbreviations or offsets), and the combinations of date/hour defaults. These details materially change how the tool should be called and are not in 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 opens with a specific verb and resource: 'Converts one moment across several time zones', including daylight saving time. It clearly distinguishes the tool from the sibling tools, which are unrelated (charting, password generation, TTS, web scraping).

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?

A dedicated 'WHEN TO USE' section gives concrete scenarios (what time is it in…, scheduling meetings, checking day shifts). It does not mention when not to use it or alternative tools, but the sibling set is unrelated, so the guidance is clear enough.

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

data_to_chartData to ChartA
Read-only
Inspect

Draws a chart from a CSV table and returns it as an image.

WHEN TO USE: the user wants to see data as a chart, or needs a chart image for a document, a README, a slide or a chat.

HOW IT WORKS:

  • csv: a header row, then data rows. First column: the category (or x value); the next columns: numbers. Use a comma or semicolon as separator; decimals with a point, or with a comma when the separator is a semicolon. Up to 20,000 characters.

  • chartType, and what each one needs: bar, horizontalBar, line, area, pie, donut, funnel — one category column + one numeric column; multiline — one x column + one or more numeric columns (one line per column); scatter — two numeric columns (x, y); heatmap — three columns: row, column, value.

  • title: optional, drawn at the top.

RETURNS:

  • image: a PNG address that IS the chart (rendered on request) — put it straight into Markdown (title) or an . imageSvg: the same as SVG, sharper where SVG is accepted. Both are null when the CSV is too long to fit in an address; then use svg.

  • svg: the chart as SVG markup.

  • link: this tool's web page with the same chart, to edit it.

ERRORS say what is wrong with the CSV (missing columns, non-numeric values, too many rows); fix the data and call again.

NameRequiredDescriptionDefault
csvYesThe data as CSV with a header row. First column: category or x value; next columns: numbers. Up to 20,000 characters.
titleNoOptional title drawn at the top of the chart. Empty for none.
chartTypeNoThe kind of chart. See the tool description for the columns each kind needs.bar

TDQS

A5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false; the description goes well beyond them by disclosing error behavior ('ERRORS say what is wrong with the CSV... fix the data and call again'), the null-on-long-CSV edge case for image/imageSvg, and the fallback to svg. That is exactly the extra context the annotations cannot supply.

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?

Front-loaded purpose, then labeled WHEN TO USE / HOW IT WORKS / RETURNS / ERRORS sections. Every sentence carries actionable content, and the chart-type-to-column mapping is presented as a compact list rather than prose.

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

Completeness5/5

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

With no output schema, the description carries the full burden and does so: it explains image/imageSvg/link/svg, when the addresses are null, and what error messages mean. Nothing an agent needs to call this correctly or interpret the result is missing.

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

Parameters5/5

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

Although schema description coverage is already 100%, the description adds real meaning the schema cannot: the per-chartType column contract (bar/pie = one category + one numeric; multiline = x plus one line per numeric column; scatter = two numeric; heatmap = row, column, value) and CSV dialect rules for separator and decimal point. This is decision-relevant, not restatement.

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 opening sentence gives a specific verb ('Draws') and resource ('a chart from a CSV table') plus the output form ('returns it as an image'). None of the siblings (generate_background, generate_favicon, text_to_speech, etc.) overlap with charting, so no sibling differentiation is needed, and the agent can act immediately.

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

Usage Guidelines5/5

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

A dedicated WHEN TO USE block names the concrete triggering conditions ('user wants to see data as a chart', 'needs a chart image for a document, a README, a slide or a chat'). No conflicting sibling exists, so no exclusion clause is required for the routing decision to be unambiguous.

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

generate_backgroundBackground generatorA
Read-only
Inspect

Draws a background or wallpaper at the exact size of a place: YouTube banner, Instagram story, LinkedIn cover, desktop up to 4K here (8K on the web page), phones, video calls, slides.

WHEN TO USE: the user wants a background, wallpaper, cover or banner image for a channel, profile, screen or presentation, or asks what size one of these must be.

HOW IT WORKS: pick format (70 places, each with its size and the safe area that every device shows) and style (blurred petals, veils and hills; steps; geometry such as arcs, tiles, scales, rays; Hilbert curve; folds). colors are 3 to 7 hex colors, first one is the background. The same seed draws the same design in every format, so a set matches.

RETURNS: width, height, format (name, ratio, safe_area in pixels of the file), files (png, jpg and webp addresses: download with curl -o; null above 4K), and link (the web page with the same options, to adjust, add a screenshot on top or download up to 8K).

NameRequiredDescriptionDefault
seedNoWhich variation of the design. The same seed and style give the same design in any format.
angleNoDirection, in degrees, for veils, hills, steps, stripes, capsules, chevrons, tides and drape.
grainNoFilm grain, in percent. 10 to 20 hides banding in smooth gradients.
scaleNoSize of the shapes, in percent. Smaller repeats more of the pattern.
styleNopetals, veils, hills (soft blur, macOS-like); steps (flat color bands); arcs, rings, stripes, capsules, tiles, cubes, chevrons, rays, scales, diamonds, squares, truchet (geometry); hilbert, quadtree (fractals); tides, drape (folds).steps
widthNoOnly with format custom.
colorsNo3 to 7 hex colors without #, comma-separated, in order: background first, then outside to inside.2e1f63,4a3a8c,6d5aa8,9682c4,bba9dd,e2d4f0
formatNoWhere the image goes. Examples: youtube-banner, youtube-thumbnail, instagram-story, instagram-portrait, linkedin-banner, linkedin-company, x-header, facebook-cover, meeting-background, slides-16x9, desktop-fhd, desktop-4k, iphone-pro-max, android-fhd, og-image, custom (then width and height).youtube-banner
heightNoOnly with format custom.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries the interesting behavior and does it well: determinism ('the same seed draws the same design in every format, so a set matches'), the 4K ceiling and null files above it, and the 8K adjustment path on the web page. That is real operational context an agent cannot get from 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.

Conciseness5/5

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

Three labeled blocks – purpose, WHEN TO USE, HOW IT WORKS, RETURNS – with the selection cue front-loaded. The length is justified because a returns section is doing work the missing output schema would otherwise do.

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

Completeness5/5

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

Nine parameters and no output schema, yet the description covers selection, the parameter interplay, the deterministic seed contract, and the exact return shape (width, height, safe_area, file URLs, link). Nothing an agent needs to call this correctly is missing.

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 baseline is 3. The HOW IT WORKS section restates what the schema already documents (colors order, seed consistency, width/height only with custom), adding only mild framing such as '70 places, each with its size and the safe area' and the style-family groupings that the schema also lists.

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?

States a concrete verb and resource ('Draws a background or wallpaper') plus the distinguishing scope ('at the exact size of a place'), then enumerates real targets (YouTube banner, Instagram story, desktop up to 4K). An agent can separate it from generate_favicon without opening either schema.

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 WHEN TO USE block is explicit about the user intents that select this tool, including the less obvious 'asks what size one of these must be'. It does not name a sibling alternative or state when-not to use it, so it falls just short of the top band.

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

generate_faviconFavicon generatorA
Read-only
Inspect

Generates a complete favicon set from 1 to 3 characters (initials) or one emoji.

WHEN TO USE: the user needs a favicon, tab icon, apple-touch-icon or web app icon for a website or web app, or the project still has a framework's default icon. PRIORITY: if the host also provides open_favicon_editor, call that editor first for every normal favicon request (create, preview, adjust or download). Use this data tool directly only when the user explicitly asks for files, SVG, head tags or installation text to write into a code project.

HOW IT WORKS: mode text draws the characters in any Google Font as vector paths (no font dependency); mode emoji draws one Twemoji emoji as vectors, with a margin. Both sit inside a shape. With adaptive=true the SVG swaps its colors when the browser is in dark mode. Pass framework to get where each file goes. For a logo or other picture, use open_favicon_editor with mode=image when available: the user chooses the image in its private file picker. Otherwise return the link with mode=image; do not process a chat attachment as an image favicon here.

RETURNS: svg (write it to disk exactly as given), files (each with path and url: download the binaries with curl -o), manifest (path and content), html (the head tags; null on Next.js App Router), inline (the whole favicon as one tag, no files), install (steps for the framework), warnings, credit (emoji only), and link (this tool's web page with the same options, to adjust and preview).

NameRequiredDescriptionDefault
fontNoMode text: any Google Font family, by its name (Montserrat, Inter, Lobster). Heavy sans-serif families read best at 16 px.Montserrat
modeNotext: initials. emoji: one emoji. image: only on the web page; the call returns the link for the user.text
sizeNoMode text: the characters fit in a square this percentage of the icon (the longer side decides).
textNoMode text: 1 to 3 characters. Latin letters (accents ok), digits and & @ # + . - !. Two characters read best at 16 px.CM
colorNoCharacter color, hex without #. With shape outline or none, the color of the characters in dark mode.ffffff
emojiNoMode emoji: one emoji, as the character itself (🚀, 🦊, ☕).🚀
shapeNoContainer: filled square, rounded square, circle, outlined square, or none (transparent).square
marginNoMode emoji: space between the emoji and the edge, as a percentage of the icon on each side.
weightNoMode text: font weight. The closest weight the family has is used. 700 or more reads best.
adaptiveNoSwap the colors when the browser is in dark mode (SVG only; PNG and ICO stay light).
frameworkNoWhere the files will live; changes install, html and the file paths only.html
backgroundNoContainer color, hex without #. With shape outline or none, the color of the characters in light mode.141414

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the minimal readOnlyHint/openWorldHint annotations, the description discloses real behavioral traits: text mode renders vector paths with no font dependency, emoji mode uses Twemoji with a margin, adaptive=true swaps colors only in SVG (PNG/ICO stay light), and mode=image returns a link rather than files. It also explains that svg must be written exactly as given and that binaries are downloaded with curl -o.

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?

It is on the long side, but it is well organized under WHEN TO USE / HOW IT WORKS / RETURNS headings and front-loads the purpose before the routing rule. There is minor redundancy, repeating the open_favicon_editor mode=image guidance twice, which keeps it short of a 5.

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

Completeness5/5

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

With 12 parameters and no output schema, the description carries the return-value burden itself, and the RETURNS block enumerates every output (svg, files, manifest, html, inline, install, warnings, credit, link) with usage notes such as curl for binaries and null html on Next.js App Router. Nothing needed to invoke or consume the result is missing.

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?

Schema description coverage is 100%, so the baseline is 3; the description adds genuine cross-parameter meaning by explaining the text/emoji/image mode split and that framework only changes install, html and file paths. The interaction context between mode, adaptive and the returned artifacts goes beyond the per-parameter schema text.

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 opening sentence states a specific verb and resource ('Generates a complete favicon set from 1 to 3 characters... or one emoji'), which immediately distinguishes it from the unrelated utility siblings like generate_password or data_to_chart. The scope and supported input modes are unambiguous without opening the schema.

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

Usage Guidelines5/5

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

An explicit WHEN TO USE block names the triggering conditions (favicon, tab icon, apple-touch-icon, default framework icon) and the PRIORITY rule routes normal requests to open_favicon_editor, reserving this tool for explicit file/SVG/head-tag requests. It also states the when-not case ('do not process a chat attachment as an image favicon here'). This is textbook alternative routing.

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

generate_passwordPassword generatorA
Read-only
Inspect

Generates a strong random password with a cryptographically secure generator.

WHEN TO USE: the user asks for a password or a random key.

HOW IT WORKS: always uses upper and lower case letters; numbers and symbols are optional. Each selected kind of character appears at least once. length: 8 to 64 (default 16).

RETURNS: password, the options used, and link — this tool's web page with the same options. The password is never in the link. Show the password to the user as it is; do not store it or repeat it elsewhere.

NameRequiredDescriptionDefault
lengthNoNumber of characters, 8 to 64. Default 16.
numbersNoInclude digits 0-9. Default true.
symbolsNoInclude symbols such as !@#$%. Default true. Set false for systems that reject symbols.

TDQS

A4.7/5.0
Behavior5/5

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

Far beyond the sparse annotations, the description discloses important behavior: cryptographic security, mandatory upper/lowercase letters, optional numbers/symbols, guaranteed inclusion of each selected character type, length limits and default, return contents, and the privacy rule that the password is never in the link and should not be stored or repeated. This is rich, actionable 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 well-organized with clear WHEN TO USE, HOW IT WORKS, and RETURNS sections. Every sentence provides necessary information, including the security instruction, without redundancy or filler.

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

Completeness5/5

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

With no output schema, the description correctly explains what the tool returns: the password, the options used, and a link. It also covers parameter behavior, length constraints, and handling instructions, making the tool fully callable by an agent without needing external information.

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 already fully documents all three parameters with descriptions and defaults, giving a high baseline. The description adds useful behavioral semantics beyond the schema, notably that uppercase and lowercase letters are always included and that each selected character kind appears at least once, which explains how the parameters affect the output.

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 opens with 'Generates a strong random password with a cryptographically secure generator,' a specific verb and resource that fully defines the tool's purpose. It also clarifies scope by covering password and random key generation, and the sibling tools are clearly unrelated, so there is no ambiguity.

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 'WHEN TO USE' section explicitly states the tool is for when the user asks for a password or a random key. It does not provide exclusions or name alternative tools, but the sibling set is unrelated and no realistic alternative exists, so the guidance is clear and sufficient.

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

mindmapsMind Maps GeneratorA
Read-only
Inspect

Create and edit mind maps from an outline or a project file. Export PNG, SVG and PDF, save locally and share a link. No account required.

NameRequiredDescriptionDefault
outlineNoFirst line is the root; indent following topics by two spaces per level.
projectNo

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare the safety profile (readOnly, non-destructive, closed-world). The description adds real value beyond them: the export formats and the no-auth requirement. However, "save locally and share a link" implies persistence/side effects that sit awkwardly against readOnlyHint=true and idempotentHint=false, and the description never resolves whether calling it mutates server state.

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?

Three sentences, front-loaded with purpose, then outputs, then the auth fact. No repetition of the name/title and no filler; each clause carries distinct information.

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 tool with a nested-object parameter and no output schema, the description covers purpose, input modes, export formats and auth, which is reasonably complete. It nonetheless leaves the return value (link vs. file vs. both) and the share-link behavior unspecified, which matters when 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 description coverage is only 50%, and the nested "project" object has no top-level schema description. The description surfaces the two mutually exclusive input modes (outline vs project) but adds no structural meaning (node limits, parentId semantics, indentation) beyond what the schema already states, so it does not compensate for the coverage gap.

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 names a specific verb+resource ("Create and edit mind maps"), the two input forms (outline, project file), and the produced artifacts (PNG, SVG, PDF). The domain is unambiguous and does not overlap any sibling (data_to_chart, generate_favicon, etc.), so an agent can identify the tool without opening the schema.

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?

There is no when-to-use / when-not-to-use framing, no prerequisites, and no named alternative. "No account required" and the two input modes inform the call, but neither tells the agent when this tool is the right choice, matching the MID calibration where a capability list with no usage framing scored 2.

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

receive_emailTemporary emailAInspect

Creates or opens a disposable, receive-only email inbox and reads what arrived — to sign up somewhere and get the verification code or confirmation link without using the user's real address.

WHEN TO USE: a site or service asks for an email to send a code, a magic link or a confirmation, and the user does not want to give their own; or you need to read what was sent to an inbox created earlier.

HOW IT WORKS:

  • inbox: a name ("fulano") or a full address on the tool's domain. Empty: a random, hard-to-guess address is created. Any name works: there is no sign-up.

  • waitSeconds (0–50, default 0): wait for a NEW message to arrive before answering. Typical flow: call once with no inbox to get an address, give it to the site, then call again with that inbox and waitSeconds 30–50 until the email shows up.

  • message: the id of one message, to read it in full (text, links, attachments).

  • The inbox is PUBLIC: anyone who knows the address can read it. Never use it for banking, government or any account the user wants to keep.

  • Receive only (it cannot send). Messages up to 10 MB; everything is deleted after 8 days. Some sites refuse disposable domains — then the user needs a real address.

RETURNS: address; messages (newest first) with id, from, subject, preview, receivedAt and code — the verification code when one is found; with message, also text, links (url and text, confirmation links included) and attachments. link: this inbox on the web page, to show the user. timedOut is true when waitSeconds ended with no new message.

NameRequiredDescriptionDefault
inboxNoThe inbox: a name, or name@domain on this tool's domain. Empty: a new random address.
messageNoThe id of a message in this inbox, to read it in full.
waitSecondsNoHow long to wait for a new message before answering, 0 to 50 seconds. 0 (default) answers at once.

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that the inbox is PUBLIC and readable by anyone with the address, must not be used for banking/government accounts, cannot send, caps messages at 10 MB, and purges everything after 8 days. These are the exact traits an agent needs to avoid harm here. 'Creates or opens' matches readOnlyHint=false and destructiveHint=false — 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.

Conciseness5/5

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

Front-loaded purpose sentence, then labeled WHEN TO USE / HOW IT WORKS bullets, then returns. The length is justified by the operating flow and safety caveats; no sentence is filler, and the per-parameter bullets map one-to-one onto the three inputs.

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

Completeness5/5

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

With no output schema, the RETURNS section carries the full burden and does so — address, message list fields, the extracted code, full message detail with links and attachments, plus the timedOut flag. An agent can complete both the create-then-poll workflow without any other source.

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?

Schema coverage is 100%, so inbox/message definitions largely restate the schema. The added value is the operational pattern: empty inbox yields a random hard-to-guess address, any name works with no sign-up, and the two-call flow with waitSeconds 30–50 to poll for the arriving message. That flow guidance is real signal beyond the field descriptions.

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?

States a precise verb+resource ('creates or opens a disposable, receive-only email inbox and reads what arrived') and immediately frames the goal (grabbing a verification code without the user's real address). No sibling tool touches email, but the definition is self-sufficiently distinct regardless.

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

Usage Guidelines5/5

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

A dedicated WHEN TO USE block names the triggering situation (a site demands an email for a code, magic link or confirmation) plus the secondary case (read an inbox created earlier). It even handles the failure branch: sites that refuse disposable domains mean the user needs a real address.

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

text_to_speechText to speechA
Read-only
Inspect

Reads a text aloud in a natural Portuguese voice from Fish Audio — Rafael by default, or one of six others — and returns an MP3.

WHEN TO USE: the user wants to hear a Portuguese text or needs an audio file of it — narration, audiobook, lesson, voice-over, a message read aloud. The voices speak Portuguese (Brazil, and Tomás from Portugal); a text in another language is read with their accent.

HOW IT WORKS:

  • Up to 50,000 characters per call. A text over 1,000 characters is split by sentence into parts of up to 1,000; the parts are voiced three at a time and joined in order into ONE MP3. Progress is reported per part ("Gerando áudio... 3 de 18"), so keep waiting while it arrives.

  • It takes time: about 25 seconds per round of three parts. 1,000 characters ≈ 25 s; 5,000 ≈ 1 min; 16,000 ≈ 2.5 min; 50,000 ≈ 7 min.

  • Over 50,000 characters: split the text at paragraph boundaries into several calls with the same voice and speed, and give the user every link, in order.

  • Send the text as it should be HEARD: remove Markdown marks (**, #, list bullets), URLs, emojis and tables. Do not summarize, translate or reword unless the user asked — every word you send is read.

  • voice: rafael (default) or beatriz for clear, neutral narration; tomas for European Portuguese; narrador-propagandas for ads; rodolfo, sao-cipriano and capitao-nascimento are deep character voices.

  • speed: 1 is the voice's natural pace; 0.9 suits calm narration, 1.2 a quick read.

RETURNS:

  • audioUrl: the complete MP3 to download, valid for 7 days. Always give this link to the user. If you can run commands, you can download it (e.g. curl -o audio.mp3 ).

  • audio: the MP3 itself, only when it is short (about a minute or less); otherwise null.

  • seconds (duration), parts, characters, voice, speed.

  • link: this tool's web page with the same voice and speed (the text is not in it).

ERRORS say what happened and what to do next. If a part fails, no audio is produced and a new call starts again from part 1.

NameRequiredDescriptionDefault
textYesThe text to read aloud: 1 to 50,000 characters. Plain text as it should be heard — no Markdown, URLs or emojis. Longer texts: split into several calls.
speedNoReading speed, 0.5 to 2. 1 is the voice's natural pace; 0.9 calm narration; 1.25 a quick read.
voiceNoThe voice, from Fish Audio: rafael (Rafael, male, pt-BR: Clara e segura, para apresentações e atendimento.); beatriz (Beatriz, female, pt-BR: Clara e segura, para apresentações e atendimento.); tomas (Tomás, male, pt-PT: Clara e segura, em português de Portugal.); narrador-propagandas (Narrador Propagandas, male, pt-BR: Confiante e enérgica, para anúncios e vídeos institucionais.); rodolfo (Rodolfo, male, pt-BR: Grave e calma, para narração e oração.); sao-cipriano (São Cipriano, male, pt-BR: Grave e dramática, de personagem.); capitao-nascimento (Capitão Nascimento, male, pt-BR: Grave e rouca, séria, de personagem.). Default: rafael. All speak Portuguese; tomas is from Portugal.rafael

TDQS

A5/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the 50,000-char cap, the 1,000-char sentence-splitting and three-at-a-time joining into one MP3, progress messages, latency estimates per length, partial-failure behavior (a failed part yields no audio and restarts from part 1), and the 7-day validity of audioUrl. This is unusually complete operational context for a generation 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?

Front-loaded single-sentence purpose followed by labeled sections (WHEN TO USE, HOW IT WORKS, RETURNS, ERRORS). Although long, nearly every line carries actionable information an agent needs (limits, timing, error semantics), so no meaningful trimming is possible.

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

Completeness5/5

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

With no output schema, the RETURNS section fully documents the response fields (audioUrl, audio, seconds, parts, characters, voice, speed, link) and instructs the agent to always surface the link. Error behavior and the restart-from-part-1 recovery rule close the remaining gap.

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

Parameters5/5

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

Schema coverage is already 100%, so the baseline is 3; the description nevertheless adds real meaning: text must be sent as it should be HEARD (strip Markdown, URLs, emojis, tables; don't summarize or translate), voice is characterized by use case (clear narration vs. deep character voices), and speed guidance extends the schema's 0.9/1.25 hints with use cases.

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?

Opens with a specific verb+resource+output: reads text aloud in a Portuguese voice from Fish Audio and returns an MP3. The voice set, default voice, and language scope are stated up front, so an agent can distinguish it from every sibling (which are unrelated generators like generate_background or generate_favicon).

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

Usage Guidelines5/5

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

A dedicated WHEN TO USE block enumerates the triggering intents (narration, audiobook, lesson, voice-over, message read aloud) and the language constraint. It also gives concrete routing rules: split >50,000 characters into multiple calls at paragraph boundaries with the same voice/speed, and pick a voice by purpose (tomas for European Portuguese, narrador-propagandas for ads).

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

web_to_markdownWeb page to MarkdownA
Read-only
Inspect

Fetches a public web page and returns its content as clean Markdown.

WHEN TO USE: you need to read a page — documentation, an article, a product page — to answer, summarize or quote it; or the user wants a page as Markdown.

HOW IT WORKS:

  • url: a public http(s) address. Private networks, localhost and addresses with credentials are refused.

  • Reads the HTML the server sends (like a simple browser, without running JavaScript). Pages that build their content with JavaScript have no text to convert — the error says so.

  • onlyMainContent (default true) drops menus, headers, footers, sidebars, cookie banners and ads. Set false to keep the whole page.

  • pages above 1 also follows links on the same site (same folder and below), breadth-first, up to that many pages (max 20), respecting robots.txt. Slower: a few seconds per page.

  • Limits per page: 15 seconds and 5 MB. PDFs and non-HTML files are not converted.

RETURNS: for each page, its Markdown with absolute links and images, plus title, description and language when the page has them; pages that failed are listed with the reason. link: this tool's web page with the same request.

ERRORS say why the page could not be read and whether retrying makes sense.

NameRequiredDescriptionDefault
urlYesThe page to convert: a public http or https address.
pagesNoHow many pages of the same site to convert, 1 to 20, starting at url and following its links. 1 (default) converts only url.
onlyMainContentNotrue (default): keep only the content, without menus, footers, sidebars, cookie banners and ads. false: the whole page.

TDQS

A5/5.0
Behavior5/5

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

The description goes far beyond the readOnlyHint and openWorldHint annotations by disclosing concrete behaviors: no JavaScript execution, private address refusal, link-following behavior, robots.txt respect, per-page time and size limits, PDF/non-HTML handling, return structure, and error semantics. This gives the agent an accurate model of what will happen and what can go wrong.

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 longer than average, but it is exceptionally well organized with clear headers and bullet points that make the content scannable. Each section earns its place by covering a distinct aspect: purpose, usage, behavior, parameters, return values, and error handling. The core purpose is front-loaded in the first sentence.

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

Completeness5/5

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

Despite having no output schema, the description fully explains what the tool returns, including per-page Markdown, title/description/language metadata, failed page listings, and a reference link. It also covers limits, unsupported file types, and error clarity, leaving no critical gap for an agent deciding whether and how to invoke the tool.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial value by explaining real-world meaning: 'url' must be a public http(s) address with private networks refused, 'pages' triggers breadth-first same-site crawling up to 20 pages, and 'onlyMainContent' controls removal of menus, headers, footers, and ads. This enrichment goes well beyond the baseline schema descriptions.

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 first sentence states a specific action and resource: 'Fetches a public web page and returns its content as clean Markdown.' This clearly differentiates the tool from its unrelated siblings and immediately tells an agent what it accomplishes.

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

Usage Guidelines5/5

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

The 'WHEN TO USE' section explicitly states appropriate scenarios: reading documentation, articles, or product pages to answer, summarize, or quote; or when the user wants a page as Markdown. It also gives implicit exclusions by noting that private networks, localhost, and credentialed addresses are refused, and that JavaScript-rendered pages have no text to convert.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Addedreceive_email
  2. 1 tool update
    • Changedtext_to_speech1 field changed
      • addedInput schema / properties / voice
        Added value: +{
        +  "default": "rafael",
        +  "description": "The voice, from Fish Audio: rafael (Rafael, male, pt-BR: Clara e segura, para apresentações e atendimento.); beatriz (Beatriz, female, pt-BR: Clara e segura, para apresentações e atendimento.); tomas (Tomás, male, pt-PT: Clara e segura, em português de Portugal.); narrador-propagandas (Narrador Propagandas, male, pt-BR: Confiante e enérgica, para anúncios e vídeos institucionais.); rodolfo (Rodolfo, male, pt-BR: Grave e calma, para narração e oração.); sao-cipriano (São Cipriano, male, pt-BR: Grave e dramática, de personagem.); capitao-nascimento (Capitão Nascimento, male, pt-BR: Grave e rouca, séria, de personagem.). Default: rafael. All speak Portuguese; tomas is from Portugal.",
        +  "enum": [
        +    "rafael",
        +    "beatriz",
        +    "tomas",
        +    "narrador-propagandas",
        +    "rodolfo",
        +    "sao-cipriano",
        +    "capitao-nascimento"
        +  ],
        +  "type": "string"
        +}
  3. 1 tool update
    • Changedtext_to_speech1 field changed
      • removedInput schema / properties / voice
        Removed value: -{
        -  "default": "pt-BR-FranciscaNeural",
        -  "description": "A Microsoft neural voice; one of the listed ids. Pick one in the text's language — the prefix is language-region (pt-BR, en-US, es-MX…). Default: pt-BR-FranciscaNeural.",
        -  "enum": [
        -    "pt-BR-FranciscaNeural",
        -    "pt-BR-AntonioNeural",
        -    "pt-PT-RaquelNeural",
        -    "pt-PT-DuarteNeural",
        -    "en-US-AriaNeural",
        -    "en-US-JennyNeural",
        -    "en-US-GuyNeural",
        -    "en-US-ChristopherNeural",
        -    "en-GB-SoniaNeural",
        -    "en-GB-RyanNeural",
        -    "en-GB-LibbyNeural",
        -    "en-AU-NatashaNeural",
        -    "en-AU-WilliamNeural",
        -    "es-ES-ElviraNeural",
        -    "es-ES-AlvaroNeural",
        -    "es-MX-DaliaNeural",
        -    "es-MX-JorgeNeural",
        -    "fr-FR-DeniseNeural",
        -    "fr-FR-HenriNeural",
        -    "fr-CA-SylvieNeural",
        -    "fr-CA-JeanNeural",
        -    "de-DE-KatjaNeural",
        -    "de-DE-ConradNeural",
        -    "it-IT-ElsaNeural",
        -    "it-IT-DiegoNeural",
        -    "ja-JP-NanamiNeural",
        -    "ja-JP-KeitaNeural",
        -    "zh-CN-XiaoxiaoNeural",
        -    "zh-CN-YunxiNeural",
        -    "ko-KR-SunHiNeural",
        -    "ko-KR-InJoonNeural",
        -    "ru-RU-SvetlanaNeural",
        -    "ru-RU-DmitryNeural",
        -    "hi-IN-SwaraNeural",
        -    "hi-IN-MadhurNeural",
        -    "ar-SA-ZariyahNeural",
        -    "ar-SA-HamedNeural",
        -    "nl-NL-ColetteNeural",
        -    "nl-NL-MaartenNeural",
        -    "sv-SE-SofieNeural",
        -    "sv-SE-MattiasNeural",
        -    "nb-NO-PernilleNeural",
        -    "nb-NO-FinnNeural",
        -    "da-DK-ChristelNeural",
        -    "da-DK-JeppeNeural",
        -    "pl-PL-ZofiaNeural",
        -    "pl-PL-MarekNeural",
        -    "tr-TR-EmelNeural",
        -    "tr-TR-AhmetNeural"
        -  ],
        -  "type": "string"
        -}
  4. 1 tool update
    • Addedgenerate_background
  5. 1 tool update
    • Addedmindmaps
  6. 1 tool update
    • Addedgenerate_favicon
  7. 5 tool updates
    • First observedcompare_timezones
    • First observeddata_to_chart
    • First observedgenerate_password
    • First observedtext_to_speech
    • First observedweb_to_markdown

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    31 deterministic utility tools over one public endpoint: image conversion and lossless EXIF/metadata stripping, App Store screenshot/icon/favicon generation, WCAG and OKLCH colour maths, .strings and provisioning-profile checks, plus TDEE, recipe and plant calculators. No API key, no account, no model calls.
    ISC
  • A
    license
    A
    quality
    B
    maintenance
    Enables users to compute everyday developer and text utilities—including JSON formatting, QR codes, unit and timestamp conversion, hashing, Base64, regex testing, password/UUID generation, and word counting—through read-only tools without AI calls or external lookups.
    10
    112 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources