Skip to main content
Glama
balt1794

AltTextGeneratorAI MCP Server

by balt1794

AltTextGeneratorAI MCP server

npm license

Let your AI assistant write SEO-friendly, accessible alt text for images, and find the images that are missing alt text on any web page. It works with AltTextGeneratorAI.com, the AI alt text service used in Shopify, WordPress, DatoCMS, Contentstack, Chrome and 30+ other tools.

Ask your assistant things like:

  • "Write alt text for https://example.com/photo.jpg in Spanish."

  • "Write alt text for the image at ~/Desktop/product.png."

  • "Scan https://mystore.com/products/shoes and tell me which images have no alt text."

  • "Scan that page and write alt text for the first 10 images that are missing it."

  • "How many credits do I have left?"

Get an API key

Create a free account at alttextgeneratorai.com/dashboard and copy your API key. New accounts get free credits. Credits are a one-time purchase, never expire, and are shared with every AltTextGeneratorAI integration.

Related MCP server: Image Description MCP Server

Install

You need Node.js 18 or newer. The server is started on demand with npx, so there is nothing to install by hand.

Claude Desktop

Open Settings > Developer > Edit Config and add:

{
  "mcpServers": {
    "alttextgeneratorai": {
      "command": "npx",
      "args": ["-y", "alttextgeneratorai-mcp"],
      "env": { "ALTTEXTGENERATORAI_API_KEY": "your_api_key" }
    }
  }
}

Claude Code

claude mcp add alttextgeneratorai --env ALTTEXTGENERATORAI_API_KEY=your_api_key -- npx -y alttextgeneratorai-mcp

Cursor

Add the same JSON as above to ~/.cursor/mcp.json (or .cursor/mcp.json in a project).

VS Code

Add to .vscode/mcp.json:

{
  "servers": {
    "alttextgeneratorai": {
      "command": "npx",
      "args": ["-y", "alttextgeneratorai-mcp"],
      "env": { "ALTTEXTGENERATORAI_API_KEY": "your_api_key" }
    }
  }
}

Any other client that supports MCP servers over stdio works the same way: run npx -y alttextgeneratorai-mcp with the ALTTEXTGENERATORAI_API_KEY environment variable.

Tools

Tool

What it does

Credits

generate_alt_text

Writes alt text for an image at a public URL. Optional language.

1

generate_alt_text_from_file

Writes alt text for an image file on your computer (JPEG, PNG, GIF or WebP, up to 3 MB). Optional language.

1

audit_page

Reads a web page and lists the images that have no alt attribute, or an empty one. Free. With generate: true it also writes suggested alt text for them (max_images up to 25, default 5).

0, or 1 per image with generate

check_credits

Shows how many credits you have left.

0

Notes:

  • Languages: pass the language name in English, for example spanish, french, german, japanese. 130+ are supported. The default is English.

  • Empty alt text (alt="") is correct for purely decorative images, so audit_page reports those separately from images where the attribute is missing.

  • Pages that load images with JavaScript may show fewer images, because the tool reads the page's HTML.

  • The tool only reads and suggests. It never changes your website. Add the suggested text to your site yourself, or ask your assistant to do it in your code.

Configuration

Variable

Required

Description

ALTTEXTGENERATORAI_API_KEY

Yes, for generating and credits

Your API key. audit_page without generate works without it.

ALTTEXTGENERATORAI_ALLOWED_DIR

No

If set, generate_alt_text_from_file only reads image files inside this folder.

ALTTEXTGENERATORAI_API_BASE_URL

No

Override the API address (for testing). Must be https, or http on localhost. Default https://alttextgeneratorai.com/api.

Safety

  • audit_page only reads public web pages. Local and private network addresses (localhost, 192.168.x.x, 10.x.x.x, cloud metadata addresses) are refused, including after redirects.

  • generate_alt_text_from_file only reads real images. The file's contents are checked, not just its name, and you can limit it to one folder with ALTTEXTGENERATORAI_ALLOWED_DIR.

  • Your API key is read from an environment variable, sent only to the AltTextGeneratorAI API over https, and never written to logs.

  • Error messages are short and never include raw technical output.

Privacy

To write alt text, the server sends your API key, the chosen language and either the image's public address or the image file itself to AltTextGeneratorAI.com. audit_page downloads the page you ask about directly from your computer. Nothing else is sent. See the privacy policy.

Development

npm install
npm run build
npm test      # runs the server over stdio against a fake API

Support

support@alttextgeneratorai.com · alttextgeneratorai.com

License

MIT

Available Tools

4 tools
audit_pageFind images without alt text on a web pageA

Reads a public web page and lists the images that have no alt attribute (missing) or an empty one (empty, which is correct for purely decorative images). This is free by default. Set generate to true to also write suggested alt text for the images found, which uses 1 credit per image.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAddress of the web page (http or https).
generateNoAlso write suggested alt text for the images found. Uses 1 credit per image. Default false.
languageNoLanguage of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported.
max_imagesNoWith generate, the most images to write alt text for. Default 5, maximum 25.

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnly=false and openWorld=true, so the description rightly adds the cost/behavior model (free default, 1 credit per image when generate is on) and clarifies that an empty alt attribute is correct for decorative images, which prevents false-positive reporting. It does not cover failure modes for non-public URLs, but it meaningfully supplements 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 tight sentences with the core capability and the missing/empty distinction front-loaded, followed by the cost model. Every sentence carries information; nothing is repeated 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?

With no output schema, the description carries the return-value burden and does so by naming the two result categories and their meaning. It stops short of describing the per-image output shape or what happens when a page cannot be fetched, leaving a small gap for a 4-parameter, open-world tool.

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

Parameters3/5

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

Schema description coverage is 100%, so 'url', 'generate' (including its 1-credit cost), 'language', and 'max_images' are already fully documented. The description restates the generate/credit semantics but adds nothing about language or max_images, so the 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 and resource ('Reads a public web page and lists the images that have no alt attribute'), and further disambiguates the two result buckets (missing vs empty). It does not name any sibling tool, so the distinction from generate_alt_text depends on the agent inferring it from the audit framing, which keeps it short of a 5.

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 clear operating context: free by default, and 'Set generate to true to also write suggested alt text for the images found, which uses 1 credit per image' tells the agent exactly when the paid path activates. No explicit when-not-to-use or named alternatives (e.g. vs generate_alt_text), so no 5.

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

check_creditsCheck remaining creditsA
Read-onlyIdempotent

Shows how many credits are left on the AltTextGeneratorAI account. Each generated alt text uses 1 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context beyond the structured fields: the credit accounting model (1 credit per generated alt text), which tells the agent how to interpret the returned number.

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 the resource being read and followed by the one piece of semantically necessary context (the per-alt-text cost). Nothing is padded or repeated.

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 tool with no output schema, the description covers purpose and interpretation adequately. It could go slightly further by indicating the return shape (e.g. a plain count) or whether the account context is implicit, but the gaps are minor.

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 and schema coverage is 100%, so there is nothing for the description to disambiguate. The baseline for a parameterless tool 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?

The description states a specific verb (shows) and resource (credits remaining on the AltTextGeneratorAI account), so an agent immediately knows what the tool returns. It does not explicitly contrast itself with siblings like generate_alt_text, though the credit-cost sentence implicitly ties into 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?

Usage is only implied: the note that each generated alt text costs 1 credit hints that this is a pre-generation check, but the description never states when to call it or that it is the only way to see balance. No explicit exclusions or alternatives are given.

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

generate_alt_textGenerate alt text from an image URLA

Writes SEO-friendly, accessible alt text for one image that is available at a public http(s) URL. Uses 1 credit from the AltTextGeneratorAI account.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported.
image_urlYesPublic address of the image (http or https).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover readOnly=false, openWorld=true and idempotent=false, so the bar is lower. The description still adds real value by disclosing the cost model ('Uses 1 credit from the AltTextGeneratorAI account'), which an agent needs before spending credits. It stops short of explaining failure behavior for unreachable URLs.

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 sentences, no filler, with the input constraint stated first and the credit cost second. Every clause 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 two-parameter tool with no output schema, the description covers the input constraint and the credit cost, and annotations supply the safety/open-world profile. It is nearly complete, though it never indicates what is returned (alt text string) or what happens when the URL is unreachable.

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%, including the language default and the 130+ language note, so the schema carries the parameter semantics. The description adds only the 'one image' scope and no extra syntax or format detail, making the baseline 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?

States a specific verb (writes) and resource (SEO-friendly, accessible alt text) and narrows the input to one image at a public http(s) URL. The URL constraint implicitly separates it from generate_alt_text_from_file, though the sibling is never named outright.

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 public-URL constraint implies the right context (use when the image is remotely hosted), but there is no explicit when-to-use/when-not statement and no mention of the file-based alternative or of check_credits for balance checks. Usage is inferred rather than stated.

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

generate_alt_text_from_fileGenerate alt text from a local image fileA

Writes SEO-friendly, accessible alt text for an image file on this computer (JPEG, PNG, GIF or WebP, up to 3 MB). Uses 1 credit from the AltTextGeneratorAI account.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported.
file_pathYesPath of the image file on this computer.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the safety profile (writes state, open world, non-idempotent), and the description adds genuinely useful context beyond them: the accepted formats, the 3 MB size ceiling, and that the call consumes 1 credit from the AltTextGeneratorAI account. It does not say what the response contains, but the cost and input constraints are real value-adds.

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 tightly written sentences with zero filler, front-loading the action and resource before the operational constraints and cost.

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

Completeness4/5

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

For a two-parameter tool with no output schema, the description covers purpose, accepted inputs, and the credit cost, which is enough to invoke correctly. An agent would still benefit from knowing the return shape (whether the alt text comes back inline) and that repeated calls are billed separately.

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 the baseline is 3; the description goes further by imposing constraints on file_path (JPEG/PNG/GIF/WebP, max 3 MB) that appear nowhere in the schema. The language parameter is left to the schema, which already explains defaults and the 130+ language support.

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 (writes) and resource (SEO-friendly, accessible alt text) scoped to a local image file, with format and size limits. The local-file scope implicitly distinguishes it from the sibling generate_alt_text, but the difference is never stated outright.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: 'an image file on this computer' tells the agent this is the local-file path, and the mention of credits hints at a budget concern. There is no explicit when-to-use or when-not rule, and no named alternative (e.g. generate_alt_text for non-local sources).

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 updatesv1.0.1
    • First observedaudit_page
    • First observedcheck_credits
    • First observedgenerate_alt_text
    • First observedgenerate_alt_text_from_file

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool targets a distinct function: URL-based generation, local-file generation, credit checking, and page auditing. The two generation tools are differentiated by input source (public URL vs. local file), which is a clear criterion, though their near-identical names require reading the description to be sure.

Naming Consistency5/5

All four tools use consistent snake_case with a verb-first pattern (generate_alt_text, generate_alt_text_from_file, check_credits, audit_page). The shared prefix on the two generators is a deliberate, readable grouping rather than an inconsistency.

Tool Count5/5

Four tools is a tight, well-scoped set for an alt-text service; each tool covers a distinct capability and none feels redundant. Nothing appears padded or missing at the structural level.

Completeness4/5

The surface covers the core lifecycle: generate from URL, generate from file, audit a page for missing/empty alt text, and check remaining credits. Minor gaps exist around batch processing of multiple images or applying suggested alt text back to a page, but agents can work around these via per-image calls.

Related MCP Connectors

Related MCP Servers