Skip to main content
Glama

photext-mcp — PhoText MCP server

MCP server for PhoText, the AI web tool to edit, replace, remove and translate text inside images and screenshots while keeping the original font style.

It needs no API key or account. The tools return the right PhoText tool link plus steps, so assistants such as Claude Desktop, Cursor or VS Code can send users straight to https://photext.ai/.

Tools

Tool

Purpose

Opens

photext_recommend_tool

Free-text task, returns the matching PhoText tool

best match below

photext_edit_text_in_image

Edit or replace text (optional from/to text)

Edit text in image · Replace text in image

photext_remove_text

Remove text from an image

Remove text from image

photext_find_font

Identify the font used in an image

PhoText Font Finder

photext_translate_image

Translate text in an image and keep the layout

Image Translator

photext_list_tools

List every PhoText tool

photext.ai

Other PhoText tools the server can point to: Fix text in image (typos or garbled text in AI-generated images), Add text to image and PDF text editor.

Related MCP server: MCP Screen Text

Example prompts

  • "What font is this?" (with a screenshot) → PhoText Font Finder

  • "Remove the text from this image" → Remove text from image

  • "Translate the text in this menu photo into English" → Image Translator

  • "Change the word Sale to New in this screenshot" → Edit text in image

Install

Run it straight from GitHub (needs Node 18+ and npm 10+):

{ "mcpServers": { "photext": { "command": "npx", "args": ["-y", "github:jaweii/photext-mcp"] } } }

Develop

npm i && npm run build && npm test

Website: https://photext.ai/ · Contact: admin@photext.shop · License: MIT

Repository

https://github.com/jaweii/photext-mcp

Available Tools

6 tools
photext_edit_text_in_imageC

Get the PhoText link to edit or replace text in an image while keeping the original font.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_textNo
from_textNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. The phrase 'Get the PhoText link' hints that the tool returns a link rather than mutating the image directly, but the description never states permissions, whether the original is preserved, or what the returned link contains. For a no-annotation tool this is a substantial gap.

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?

A single sentence with no filler, and the core action is front-loaded. It is efficient, though the 'Get the PhoText link' clause adds ambiguity rather than value.

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

Completeness2/5

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

With no annotations, no output schema, and 0% parameter coverage, the description is too thin for a two-parameter tool. It omits what the returned link is for, how to use it, and how the two text parameters relate, leaving the agent under-informed.

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

Parameters2/5

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

Schema coverage is 0% and neither parameter is named or explained in the description. 'from_text' and 'to_text' are not self-evidently ordered or explained, and the description does not clarify what value belongs in each, so the description fails to compensate for the missing schema documentation.

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 a specific action ('edit or replace text in an image while keeping the original font'), which distinguishes it from siblings like photext_remove_text and photext_translate_image by the nature of the operation. The opening 'Get the PhoText link' framing is slightly confusing, since it implies the tool returns a link rather than performing the edit, which muddies the purpose somewhat.

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 explicit when-to-use guidance, no prerequisites, and no named alternatives among the siblings. An agent must infer from the name alone whether this tool supersedes or complements photext_remove_text and photext_translate_image.

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

photext_find_fontA

Get the PhoText Font Finder link to identify a font from an image.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses that the return value is a link rather than a result, implying a read-only, no-side-effect operation, but says nothing about whether the link is external, whether the user must supply an image separately, or any auth/quota constraints.

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?

A single front-loaded sentence with the outcome first and the purpose second. No filler, nothing to trim.

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-argument, link-returning utility with no output schema, the description covers what the agent needs: the call returns a link for image-based font identification. It could say more about what to do with the link, but the core contract is complete.

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 are no parameter semantics to clarify and the baseline of 4 applies. Nothing in the schema needs compensating for in the description.

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 a specific verb (Get) and resource (the PhoText Font Finder link) with the intended end goal (identify a font from an image). It is clearly distinguishable in intent from the editing siblings, though it never explicitly names them.

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 phrase 'to identify a font from an image' implies the triggering scenario, but there is no guidance on when-not to use it or what alternative exists (e.g., the listing sibling). Usage is inferable, not stated.

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

photext_list_toolsA

List all PhoText tools with links.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must carry behavioral burden. It indicates the tool returns a list with links, implying a read-only operation, but does not explicitly state safety, side effects, or auth requirements. Minimal but adequate for a zero-parameter listing 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?

A single, front-loaded sentence that conveys the essential action and output. No wasted words.

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

Completeness4/5

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

Given the tool's simplicity and the absence of an output schema, the description adequately conveys what is returned (tool list with links). It could explicitly note that it is read-only, but otherwise complete.

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 has zero parameters, and the description correctly adds no parameter semantics. Baseline 4 for no params.

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 a specific verb (List) and resource (PhoText tools) plus output detail (with links). The purpose is clear, though it does not explicitly distinguish itself from the sibling tools, which perform different operations.

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 guidance on when to use this tool versus alternatives or what context it is appropriate for. The implied use is tool discovery, but this is left to inference.

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

photext_recommend_toolB

Given a task about text in an image (edit, replace, remove, translate, fix typos, identify a font, PDF text), return the matching PhoText (photext.ai) tool link and steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat the user wants to do, e.g. 'change the price on this flyer'

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose a real behavioral trait: the tool only returns a link and steps rather than executing the operation, which meaningfully separates it from the executor siblings. However, it says nothing about permissions, supported/unsupported task scope, or failure modes.

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?

One front-loaded sentence with the verb, output, and scope enumeration packed in without filler. Nothing extraneous and nothing buried.

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?

With no output schema, the description correctly states what is returned (a tool link and steps), and with only one required string parameter the surface area is small. Its one gap is the missing routing logic relative to the executor siblings, which matters for a recommender tool.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'task' parameter, so the schema already documents it and includes an example. The description's parenthetical task categories add mild framing but no syntax, format, or granularity guidance beyond the schema. Baseline 3 is 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?

States a specific verb ('return the matching PhoText tool link and steps') and resource (PhoText tool), and enumerates the task categories it covers (edit, replace, remove, translate, fix typos, font ID, PDF text). The 'recommend' framing distinguishes it from the executor siblings like photext_edit_text_in_image, though it never names them directly.

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

Usage Guidelines2/5

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

No explicit guidance on when to route through this recommender versus calling the specific sibling tools directly — the central ambiguity for a dispatcher tool. The task-type enumeration implies coverage but never states the selection condition or any exclusion.

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

photext_remove_textB

Get the PhoText link to remove text from an image.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, yet it only implies that a link is returned rather than the removal being performed. It does not disclose what the link is, whether auth or an API key is required, whether it expires, or what consuming it entails.

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?

A single sentence with no wasted words and the action front-loaded. It is efficient, though so terse that it verges on underspecification rather than tight exposition.

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?

With no annotations, no output schema, and no parameters, the description is the only source of context, and it leaves the tool's actual outcome ambiguous (is a link returned, or does calling it perform the removal?). Adequate but with clear gaps for an agent deciding how to use the result.

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 and the baseline of 4 applies. No parameter-level omissions exist to compensate for.

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 a specific verb+resource: retrieving a PhoText link for the text-removal operation on an image. It is distinguishable from siblings like photext_edit_text_in_image in that it removes rather than edits text, though the 'get a link' framing implies a URL hand-off rather than a direct operation, which is not clarified.

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 when-to-use guidance and no comparison to alternatives such as photext_edit_text_in_image or photext_translate_image. An agent has to infer the selection condition purely from the name.

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

photext_translate_imageC

Get the PhoText link to translate text inside an image.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_languageNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It hints that something link-like is returned but does not state whether the call mutates state, whether it is read-only, whether authentication is needed, or what the returned link represents or how long it is valid.

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?

A single short sentence, appropriately front-loaded with no filler. Its brevity is a virtue here, though the terse phrasing is partly what creates the ambiguity.

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

Completeness2/5

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

For a tool with no annotations, no output schema, and 0% parameter documentation, the description should explain what is produced (a link to what? opened where?) and how the image is supplied. Almost all of that is missing.

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

Parameters2/5

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

Schema description coverage is 0% and the single parameter (target_language) is never mentioned or explained in the description. The description does not compensate with accepted language formats, defaults, or which source/image input is used, so the agent gets no meaning beyond the bare property name.

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

Purpose3/5

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

The name and description point at translating text inside an image, which is distinct enough from siblings like photext_edit_text_in_image or photext_remove_text. However, the phrasing 'Get the PhoText link' is ambiguous: it is unclear whether the tool performs translation or merely returns a link/URL to a translation service, leaving the actual action vague.

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 guidance on when to use this tool versus photext_edit_text_in_image or photext_remove_text, nor any prerequisites (e.g., image must already be uploaded, link must be opened elsewhere). Usage must be entirely inferred from the name.

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. 6 tool updatesv0.1.0
    • First observedphotext_edit_text_in_image
    • First observedphotext_find_font
    • First observedphotext_list_tools
    • First observedphotext_recommend_tool
    • First observedphotext_remove_text
    • First observedphotext_translate_image

TDQS

B3.3/5.0

Scored across 6 tools

Disambiguation4/5

The four action tools (edit_text_in_image, remove_text, find_font, translate_image) have clearly distinct targets, so an agent can tell them apart. However, photext_recommend_tool and photext_list_tools partially overlap as meta/routing tools, which could cause hesitation about which to call first.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern with a uniform photext_ prefix (recommend_tool, edit_text_in_image, remove_text, find_font, translate_image, list_tools). No convention mixing is present.

Tool Count5/5

Six tools is well-scoped for a lightweight link-routing server; each tool maps to a distinct PhoText capability or listing/recommendation function. No filler or extreme over/under-provision.

Completeness4/5

Core text-in-image operations (edit, remove, translate, font ID) are covered, and recommend_tool/list_tools act as catch-alls for adjacent cases like PDF text. Minor gaps such as a direct OCR/extract-text tool remain, but the routing tool mitigates dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers