Server data from the Official MCP Registry
Generate alt text, translate descriptions, and manage your AltText.ai image library.
About
Generate alt text, translate descriptions, and manage your AltText.ai image library.
Security Report
The AltText.ai MCP server has well-structured code with proper authentication, input validation, and appropriate error handling. However, there are notable security concerns: suspicious dependencies (oidc-provider and redis in production package.json despite not being used), a version mismatch between main and package/package.json files, and potential risks in the remote OAuth integration test code. The authentication model is sound (API key via env vars), permissions align with purpose (network for API calls, file I/O for local images), and the codebase demonstrates good security practices in the main server logic. Supply chain analysis found 4 known vulnerabilities in dependencies (1 critical, 1 high severity). Package verification found 1 issue.
6 files analyzed · 13 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: ALTTEXT_API_KEY
Environment variable: ALTTEXT_API_BASE_URL
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-alttextai-alttext-mcp": {
"env": {
"ALTTEXT_API_KEY": "your-alttext-api-key-here",
"ALTTEXT_API_BASE_URL": "your-alttext-api-base-url-here"
},
"args": [
"-y",
"@alttext_ai/alttext-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
AltText.ai MCP Server
An MCP server that lets AI assistants generate alt text, manage image libraries, and queue alt text generation for web page images using the AltText.ai API.
Works with Claude Desktop, Claude Code, Cursor, Windsurf, and any MCP-compatible client.
Verify this package
This server runs npx -y @alttext_ai/alttext-mcp, which downloads and executes code with your API key in its environment. That's worth a moment of verification before you install — by you or by an AI agent doing the setup. Everything below should match:
| Signal | Value |
|---|---|
| npm package | @alttext_ai/alttext-mcp |
| Source repository | github.com/alttextai/alttext-mcp |
| Publisher | AltText.ai |
| Provenance | Published from this repo's CI with npm provenance — npm shows a verified build badge linking the package to this exact commit |
The npm scope is @alttext_ai (with an underscore), while the GitHub org is alttextai (no underscore). This is intentional, not a typosquat: the @alttextai npm scope was already taken, so we publish under @alttext_ai. The two names refer to the same official AltText.ai package.
To cryptographically verify the published package was built by this repo's CI — not just trust the metadata — run:
npm audit signatures
from a project where the package is installed. This validates the registry signature and the npm provenance attestation, which links the tarball to a specific commit and GitHub Actions build. A counterfeit package can forge repository.url and other metadata, but it cannot forge the provenance attestation — so this is the check that actually matters.
(For a quick, weaker cross-reference of the claimed source you can run npm view @alttext_ai/alttext-mcp repository.url, but note that field is publisher-controlled metadata and proves nothing on its own.)
Pinning a version
The setup snippet uses npx -y @alttext_ai/alttext-mcp, which always resolves to the latest published version and re-runs it on every launch. That keeps you current, but it also means a future release runs automatically without review. If you want a reproducible, audited install, pin a specific version:
"args": ["-y", "@alttext_ai/alttext-mcp@1.0.5"]
Run npm audit signatures against the pinned version, and bump it deliberately when you're ready to take a new release.
Setup
Requirements: Node.js 22+ and an AltText.ai API key
Add the server to your MCP client configuration:
{
"mcpServers": {
"alttext-ai": {
"command": "npx",
"args": ["-y", "@alttext_ai/alttext-mcp"],
"env": {
"ALTTEXT_API_KEY": "your-api-key"
}
}
}
}
Where to add this:
| Client | Config file |
|---|---|
| Claude Desktop | claude_desktop_config.json |
| Claude Code | .mcp.json in your project root |
| Cursor | MCP settings in the Cursor preferences |
| Windsurf | MCP settings in the Windsurf preferences |
Tools
Account Management
| Tool | Description |
|---|---|
get_account | Check your credit balance, usage, and account settings. |
update_account | Update account name, webhook URL, or notification email. |
Generate Alt Text
| Tool | Description |
|---|---|
generate_alt_text | Generate alt text for an image URL. Supports multilingual output, custom prompts, keywords, and character limits. Uses account credits. |
generate_alt_text_from_file | Generate alt text from a local image file. Automatically base64-encodes and uploads. Uses account credits. |
translate_image | Add alt text in a new language for an existing image (by asset_id). Uses account credits. |
Manage Image Library
| Tool | Description |
|---|---|
list_images | List images in your library with pagination. |
search_images | Search your image library by alt text content. |
get_image | Get details for a specific image by asset ID. |
update_image | Update alt text, tags, or metadata for an image. |
delete_image | Delete an image from your library. |
Bulk Operations
| Tool | Description |
|---|---|
bulk_create | Bulk generate alt text from a CSV file with image URLs and optional metadata. |
scrape_page | Scan a web page, find images missing alt text, and queue generation. Results are async -- use list_images to check progress. |
Effects and processing
This package uses stdio and runs on the machine launching the MCP client. Image and CSV paths refer to that machine; selected file contents are uploaded to AltText.ai.
Generation and translation use your account credits. Additional languages and image conversion can increase the total. Check get_account before paid work. Generation can overwrite existing alt text when requested; updates replace supplied fields and deletion removes the image from the library.
CSV imports and page scraping queue background processing. An accepted request does not mean generation has finished; inspect the image library and any configured completion notifications. Tool annotations describe effects for clients; they do not enforce confirmation.
Example Prompts
Once configured, just ask your AI assistant:
Account & Credits
- "How many credits do I have left?"
- "Update my webhook URL to https://example.com/webhook"
Generate Alt Text
- "Generate alt text for https://example.com/photo.jpg"
- "Generate alt text for this image" (with local file)
- "Generate alt text in French and Spanish for this image"
- "Translate image abc123 to German"
Manage Library
- "Search my images for 'product photo'"
- "List my images"
- "Get details for image abc123"
- "Update the alt text for asset abc123"
- "Delete image xyz789"
Bulk Operations
- "Generate alt text for images missing it on https://example.com"
- "Process this CSV file of image URLs" (bulk_create)
Environment Variables
| Variable | Required | Description |
|---|---|---|
ALTTEXT_API_KEY | Yes | Your AltText.ai API key |
ALTTEXT_API_BASE_URL | No | Override the API base URL (default: https://alttext.ai/api/v1) |
Development
npm install
npm run build
npm test
npm run lint
Tests use mocked fetch calls -- no API key or network access needed.
Hosted deployments must rate-limit POST /register at a trusted edge using the verified client address. The Node service deliberately ignores forwarded client-address headers because accepting them without an authenticated proxy boundary would let callers spoof the rate-limit identity.
The production container and required settings are documented in docs/deployment.md.
License
MIT
Registry publishing
server.json describes the stdio npm package. Its name matches mcpName in package.json; both versions must match the release being submitted. Publish and verify that exact npm version before running mcp-publisher publish. Registry acceptance and directory approval are separate from an npm release.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
