Skip to main content
Glama

Server Details

Change the words in a screenshot or photo and keep the original font and layout.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct function: get_credits reports account balance, get_edit checks edit status, scan_text reads text, and replace_text performs the mutation. There is no meaningful overlap or risk of confusing scan_text with replace_text, or get_credits with get_edit.

Naming Consistency5/5

All four tool names follow a consistent snake_case verb_noun pattern: get_credits, get_edit, replace_text, scan_text. The convention is predictable and readable throughout.

Tool Count5/5

Four tools is well-scoped for a focused image text-editing service: credits, scanning, replacement, and edit-status retrieval. No tool feels redundant, and the surface is neither thin nor heavy.

Completeness4/5

The core workflow is covered: check credits, scan text for exact matches, replace text, and poll edit status for the result URL. Minor gaps exist around edit history/cancellation or explicit image upload handling, but agents can complete the primary task without dead ends.

Available Tools

4 tools
get_creditsCredits leftA
Read-only
Inspect

Credits available on this MakeItSay account. One credit edits one image.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's main added value is the costing model ('One credit edits one image'), which is genuinely useful context for deciding whether to proceed with an edit. It does not describe what the response looks like (a number, a breakdown per account, etc.), and there is no output schema to cover that gap.

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

Conciseness5/5

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

Two short sentences, front-loaded with what is returned and followed by the unit semantics. Nothing is wasted or padded.

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

Completeness4/5

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

For a zero-parameter read-only tool this covers purpose and unit meaning adequately. The only meaningful omission is the shape of the return value, which no output schema describes either.

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 tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies.

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

Purpose4/5

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

States the resource being retrieved and its scope ('Credits available on this MakeItSay account'), which is clearly distinct from the sibling tools that all perform edits. It stops short of naming the retrieval action explicitly, but the intent is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to call this versus alternatives — e.g. that an agent should check the balance before invoking replace_text or get_edit. The relevance of the credit cost to the edit tools is implied by the second sentence but never stated as a usage rule.

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

get_editGet an editA
Read-only
Inspect

Status of an edit. When ready, result_url downloads the edited PNG for one hour. Free.

NameRequiredDescriptionDefault
edit_idYesThe id returned by replace_text.
wait_secondsNoHow long to wait for the result before returning, 0 to 50 seconds.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavioral context: result_url downloads the edited PNG for one hour and the operation is free, which goes 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.

Conciseness5/5

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

Three short sentences, front-loaded with what the tool returns and followed by the key behavioral detail about result_url expiry and cost. Every sentence earns its place.

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

Completeness4/5

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

For a simple read-only status tool with two fully described parameters and no output schema, the description covers the essential behavior: it returns status and, when ready, a time-limited download URL. It could be slightly more complete by explicitly noting that wait_seconds enables long-polling, but the schema already carries that detail.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents edit_id and wait_seconds. The description does not add any parameter-level detail beyond what the schema provides, making the baseline score of 3 appropriate.

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

Purpose4/5

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

The description states it returns the status of an edit, which is a specific resource and operation, and is distinguishable from siblings like replace_text or scan_text. However, the verb is implied rather than explicit ('Status of an edit' rather than 'Get the status'), so it falls short of maximal specificity.

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

Usage Guidelines3/5

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

The description implies polling for an edit result after creation, especially with the note about result_url being ready, but it does not explicitly say when to use this tool versus alternatives or when not to use it. Usage is inferable but not clearly guided.

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

replace_textChange the text in an imageAInspect

Change or remove text in a photo or screenshot and keep the same font, colour and background. Give each line to change as { from, to }: "from" is the text as it appears in the image, "to" the new text (empty to remove it). Up to 20 lines per image; 1 credit per image. The image is scanned first; if a "from" is not found, nothing is charged and the error lists the lines that were read. IDs, certificates, receipts, invoices and bank documents are refused. Waits up to 50 seconds; if still editing, call get_edit.

NameRequiredDescriptionDefault
hintNoOptional: where the text is when it appears more than once, e.g. "the line at the bottom".
localeNoLanguage of the person asking (for our statistics only). Default en.
image_urlNoPublic https URL of the image (PNG or JPG).
image_base64NoThe image as base64, with or without a data: prefix. Use when there is no URL.
replacementsYes
wait_secondsNoHow long to wait for the result before returning, 0 to 50 seconds.

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantially beyond the annotations: 1 credit per image, no charge when a 'from' is not found, refusal of official documents, 20-line cap, 50-second wait and async fallback. The unbilled-failure and refusal policies are exactly the behavioral facts annotations can't express.

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-loads purpose, then payload format, then limits, then billing/failure semantics, then timeout fallback. Every sentence carries an operational fact; nothing is filler.

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

Completeness4/5

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

Covers cost, limits, refusal policy, error content and timeout behavior for a mutation tool with no output schema. Only the shape of a successful response (what IDs or result fields come back) is left unspecified, which is minor since get_edit is named for follow-up.

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 83%, so baseline is 3, but the description adds real meaning: 'from' is the text as it literally appears, 'to' empty means delete, and the 20-line limit is restated as an operational constraint. It doesn't explain hint, locale, or the image_url/image_base64 choice, leaving some parameters to 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?

States a concrete verb and resource ('Change or remove text in a photo or screenshot') plus the quality constraint (same font, colour, background), which immediately separates it from scan_text (read-only) and get_edit (status check). An agent can route on this sentence alone.

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?

Gives explicit preconditions and exclusions: documents like IDs, certificates, receipts are refused, and if the edit is still running 'call get_edit'. It also explains the scan-first validation path. It does not explicitly contrast with scan_text, so it falls just short of full when/when-not coverage.

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

scan_textRead the text in an imageA
Read-only
Inspect

Read every line of text in an image with its position (0 to 1000 from the top left). Free, but counts toward the scan limit. Use it to find the exact "from" text for replace_text.

NameRequiredDescriptionDefault
image_urlNoPublic https URL of the image (PNG or JPG).
image_base64NoThe image as base64, with or without a data: prefix. Use when there is no URL.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly and openWorld, and the description adds real value beyond that: it discloses the coordinate system for returned positions and the cost model ('Free, but counts toward the scan limit'). It does not discuss failure modes or the relationship between the two image inputs, which the schema covers.

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 tight sentences, front-loaded with the core action, then the output shape, then the usage link. Nothing is wasted.

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

Completeness4/5

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

There is no output schema, so the description usefully explains that the result is lines of text with positions. The only gap is that with zero required parameters, it doesn't clarify that exactly one of image_url or image_base64 must be supplied, though the schema implies it.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains image_url and image_base64 fully. The description adds no parameter-specific meaning beyond that, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb (read) and resource (every line of text in an image), plus the shape of the result (position 0-1000 from top left). This clearly distinguishes it from siblings like replace_text and get_edit.

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?

Explicitly names a use case and the sibling it feeds: 'Use it to find the exact "from" text for replace_text.' That is strong routing guidance, but it stops short of stating when not to use it or naming other alternatives.

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. 4 tool updates
    • First observedget_credits
    • First observedget_edit
    • First observedreplace_text
    • First observedscan_text

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables editing text in existing PDFs — replacing, deleting, redacting, inserting, and filling forms — while preserving original fonts and layout, with each change verified before being returned.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Turn raw app screenshots into App Store & Google Play marketing screenshots from Cursor, Claude, or any MCP client.
    6
    34 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources