Alttext Mcp

io.github.alttextaiPublished by GitHub account alttextaiv1.0.5Updated Oct 24, 2026

Generate alt text, translate descriptions, and manage your AltText.ai image library.

VerifiedSTDIODesktop onlyProductivity & WorkflowMedia & Design

Overview

AI-generated overview

Lets an assistant generate and translate alt text for images and manage an AltText.ai image library through the AltText.ai API.

What you can do
Wraps the AltText.ai API so an assistant can generate alt text from an image URL or a local file, translate existing images into other languages, and read or change account details such as credit balance and webhook URL. It also manages the image library: listing, searching, fetching, updating, and deleting images by asset ID. Bulk tools generate alt text from a CSV of image URLs and scan a web page for images missing alt text, queuing background generation.
When to use it
Useful when you want an assistant to write or translate alt text for images, audit a page for missing alt text, or maintain an existing AltText.ai image library without leaving the chat client. Best suited to users who already have an AltText.ai account and want image accessibility work handled conversationally.
Requirements
Runs locally over stdio via npx, so Node.js 22 or newer is needed. Requires an AltText.ai API key in the ALTTEXT_API_KEY environment variable; ALTTEXT_API_BASE_URL is an optional override for proxies or alternate endpoints. Network access is needed to reach the AltText.ai API, and local image or CSV paths refer to the machine running the client.
Before you install
Generation, translation, and image conversion consume AltText.ai account credits, so check the balance before paid work. The server can overwrite existing alt text, replace fields on update, and delete images from the library. Local image files and CSV contents are uploaded to AltText.ai, and CSV imports or page scraping queue background jobs whose completion is not immediate. The API key is passed in the environment of a package fetched and executed at launch.

Installation

In SourceWeft

  1. Open Alttext Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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:

SignalValue
npm package@alttext_ai/alttext-mcp
Source repositorygithub.com/alttextai/alttext-mcp
PublisherAltText.ai
ProvenancePublished 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:

sh
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:

json
"args": ["-y", "@alttext_ai/[email protected]"]

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:

json
{  "mcpServers": {    "alttext-ai": {      "command": "npx",      "args": ["-y", "@alttext_ai/alttext-mcp"],      "env": {        "ALTTEXT_API_KEY": "your-api-key"      }    }  }}

Where to add this:

ClientConfig file
Claude Desktopclaude_desktop_config.json
Claude Code.mcp.json in your project root
CursorMCP settings in the Cursor preferences
WindsurfMCP settings in the Windsurf preferences

Command-line tool

The same operations are available as the alttext command, which also manages an account's site API keys with a full-access key. See packages/cli/README.md for commands, flags and exit codes.

Once @alttext_ai/cli is released on npm:

sh
npm install -g @alttext_ai/clialttext loginalttext whoami

Until then, build it from a clone of this repo:

sh
npm installnpm run buildnpm link --workspace packages/cli

Agent skill

skills/alttext teaches Claude Code, Codex and other coding agents to drive the alttext CLI: checking whoami first, parsing --json, dry-running and asking before a rotate, revoke or delete, keeping tokens out of the conversation, and the reseller workflows for onboarding, billing and leaked keys. The skill contains no credentials, and it tells the agent to have you run alttext login yourself rather than paste a key into chat. It needs the CLI installed.

With npx skills, for any supported agent:

sh
npx skills add alttextai/alttext-mcp --skill alttext

As a Claude Code plugin, from this repo's plugin marketplace:

sh
claude plugin marketplace add alttextai/alttext-mcpclaude plugin install alttext@alttext-ai

Or in one step inside a Claude Code session (2.1.275 or later): /plugin install alttext --marketplace alttextai/alttext-mcp.

From a local clone, pass the clone's path instead: npx skills add ./alttext-mcp --skill alttext, or claude plugin marketplace add ./alttext-mcp.

Tools

Account Management

ToolDescription
get_accountCheck your credit balance, usage, and account settings.
update_accountUpdate account name, webhook URL, or notification email.

Generate Alt Text

ToolDescription
generate_alt_textGenerate alt text for an image URL. Supports multilingual output, custom prompts, keywords, and character limits. Uses account credits.
generate_alt_text_from_fileGenerate alt text from a local image file. Automatically base64-encodes and uploads. Uses account credits.
translate_imageAdd alt text in a new language for an existing image (by asset_id). Uses account credits.

Manage Image Library

ToolDescription
list_imagesList images in your library with pagination.
search_imagesSearch your image library by alt text content.
get_imageGet details for a specific image by asset ID.
update_imageUpdate alt text, tags, or metadata for an image.
delete_imageDelete an image from your library.

Bulk Operations

ToolDescription
bulk_createBulk generate alt text from a CSV file with image URLs and optional metadata.
scrape_pageScan 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

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

VariableRequiredDescription
ALTTEXT_API_KEYYesYour AltText.ai API key
ALTTEXT_API_BASE_URLNoOverride the API base URL (default: https://alttext.ai/api/v1)

Development

The repo is an npm workspace: packages/core (private API client, schemas and formatters, bundled into each published package), packages/mcp (@alttext_ai/alttext-mcp) and packages/cli (@alttext_ai/cli, the alttext command).

sh
npm installnpm run check

The root package.json version is the only one to edit. npm run version:stamp copies it into every package and server.json, and CI fails when they drift. A v* tag matching that version publishes both packages.

Tests use mocked fetch calls -- no API key or network access needed.

npm run skills:validate checks each skill's frontmatter and links, and that every alttext command and flag a skill mentions exists in the built CLI. It runs as part of npm run check, after the build.

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 packages/mcp/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.

Source: README.md at commit b960ccc

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.5LatestSep 17, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts