AltTextGeneratorAI MCP Server
Enables AI assistants to generate SEO-friendly, accessible alt text for images and audit Contentstack pages for images missing alt text, via the AltTextGeneratorAI service used in Contentstack.
Enables AI assistants to generate SEO-friendly, accessible alt text for images and audit DatoCMS pages for images missing alt text, via the AltTextGeneratorAI service used in DatoCMS.
Enables AI assistants to generate SEO-friendly, accessible alt text for images and audit Shopify pages for images missing alt text, via the AltTextGeneratorAI service used in Shopify.
Enables AI assistants to generate SEO-friendly, accessible alt text for images and audit WordPress pages for images missing alt text, via the AltTextGeneratorAI service used in WordPress.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AltTextGeneratorAI MCP Serverwrite alt text for https://example.com/photo.jpg in Spanish"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AltTextGeneratorAI MCP server
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-mcpCursor
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 |
| Writes alt text for an image at a public URL. Optional | 1 |
| Writes alt text for an image file on your computer (JPEG, PNG, GIF or WebP, up to 3 MB). Optional | 1 |
| Reads a web page and lists the images that have no alt attribute, or an empty one. Free. With | 0, or 1 per image with |
| 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, soaudit_pagereports 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 |
| Yes, for generating and credits | Your API key. |
| No | If set, |
| No | Override the API address (for testing). Must be https, or http on localhost. Default |
Safety
audit_pageonly 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_fileonly reads real images. The file's contents are checked, not just its name, and you can limit it to one folder withALTTEXTGENERATORAI_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 APISupport
support@alttextgeneratorai.com · alttextgeneratorai.com
License
MIT
Available Tools
4 toolsaudit_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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Address of the web page (http or https). | |
| generate | No | Also write suggested alt text for the images found. Uses 1 credit per image. Default false. | |
| language | No | Language of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported. | |
| max_images | No | With generate, the most images to write alt text for. Default 5, maximum 25. |
TDQS
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.
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.
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.
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.
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.
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 creditsARead-onlyIdempotent
Shows how many credits are left on the AltTextGeneratorAI account. Each generated alt text uses 1 credit.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported. | |
| image_url | Yes | Public address of the image (http or https). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of the alt text, in English, for example spanish, french, german or japanese. Defaults to english. 130+ languages are supported. | |
| file_path | Yes | Path of the image file on this computer. |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v1.0.1- First observed
audit_page - First observed
check_credits - First observed
generate_alt_text - First observed
generate_alt_text_from_file
TDQS
Scored across 4 tools
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.
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.
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.
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
Audit any site's AI visibility from your assistant: crawler access, rendering, and schema.
Image and video AI tools and your own pipelines, run from any AI assistant.
Generate images with your own ChatGPT subscription (Plus, Pro or Team), without spending API credits
Image & PDF tools for AI agents: compress, convert, resize, PDF, AI vision, pipeline.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to download images from URLs and perform basic image optimization tasks.27 npm17Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze images from URLs or local files using xAI's Grok API. Provides detailed image descriptions, technical metadata extraction, and optical character recognition (OCR) capabilities.7-
- AlicenseNot gradedqualityDmaintenanceEnables AI-powered image analysis using OpenAI's Vision API and image generation with DALL-E models. Supports image description, content analysis, comparison, editing, and creating variations with intelligent caching.3MIT

AltText.ai MCP Serverofficial
AlicenseAqualityAmaintenanceEnables AI assistants to generate alt text, manage image libraries, and audit web pages for accessibility using the AltText.ai API.1266 npmMIT