{"apiVersion":"v1","directorySlug":"writealt-mcp-635b2996de","title":"WriteAlt","description":"Generate AI alt text in 130+ languages to support accessibility and image SEO. Optimize filenames, compress images, and convert formats. Try 25 free credits.","pageUrl":"https://www.mcpbundles.com/skills/writealt-mcp-635b2996de","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.writealt.com/mcp","hostedMcpUrl":null,"toolCount":8,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.writealt/writealt-mcp-635b2996de","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_writealt_account","description":"Read the connected WriteAlt account status and remaining credits. Use this before a large batch when the user asks about their balance.","inputSchema":{"type":"object","properties":{}},"title":"Check WriteAlt account","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_writealt_account","displayName":"Check WriteAlt account"},{"name":"get_supported_languages","description":"Return every language currently supported by the connected WriteAlt account. Use this when the user wants to choose a generation language.","inputSchema":{"type":"object","properties":{}},"title":"List WriteAlt languages","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_supported_languages","displayName":"List WriteAlt languages"},{"name":"get_writealt_settings","description":"Read the connected user's saved WriteAlt generation preferences. The API key is never returned.","inputSchema":{"type":"object","properties":{}},"title":"Read WriteAlt settings","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_writealt_settings","displayName":"Read WriteAlt settings"},{"name":"save_writealt_settings","description":"Save the user's default language, writing style, and optional SEO keywords for later alt-text generation. This never changes the API key.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"keywords":{"type":"string","default":"","maxLength":500},"language":{"type":"string","default":"en","maxLength":12,"minLength":2},"style_id":{"type":"integer","default":2,"maximum":5,"minimum":1}}},"title":"Save WriteAlt settings","logicalName":"save_writealt_settings","displayName":"Save WriteAlt settings","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_alt_text_from_url","description":"Generate accessible alternative text for one publicly reachable image URL using the user's WriteAlt account. Use only when the user asks to describe an image or improve its alt text. The tool spends WriteAlt credits but does not publish or edit a CMS record.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["image_url"],"properties":{"keywords":{"type":"string","maxLength":500},"language":{"type":"string","maxLength":12,"minLength":2},"style_id":{"type":"integer","maximum":5,"minimum":1},"image_url":{"type":"string","format":"uri"}}},"title":"Generate alt text","logicalName":"generate_alt_text_from_url","displayName":"Generate alt text","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_alt_text_from_image","description":"Generate alt text from image bytes supplied by the client (JPEG, PNG, WebP, or GIF; up to 2 MiB). The bytes are validated, held in memory only, forwarded to WriteAlt over HTTPS, and not saved by this MCP server. A local file path alone is not accessible to this remote server; the client must provide the actual base64 bytes. Only one image upload is processed at a time to limit memory use on shared hosting. This spends WriteAlt credits.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["image_base64","mime_type"],"properties":{"filename":{"type":"string","maxLength":255},"keywords":{"type":"string","maxLength":255},"language":{"type":"string","maxLength":12,"minLength":2},"style_id":{"type":"integer","maximum":5,"minimum":1},"mime_type":{"enum":["image/jpeg","image/png","image/webp","image/gif"],"type":"string"},"image_base64":{"type":"string","maxLength":2796204,"minLength":4}}},"title":"Generate alt text from an uploaded image","logicalName":"generate_alt_text_from_image","displayName":"Generate alt text from an uploaded image","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_alt_text_from_chatgpt_file","description":"Generate alt text for an image attached in ChatGPT. ChatGPT supplies a short-lived authorized file URL; the image is downloaded into memory, validated, forwarded to WriteAlt, and discarded without being saved by this server. Supports JPEG, PNG, WebP, or GIF up to 2 MiB. Only one image upload is processed at a time to limit memory use on shared hosting. This spends WriteAlt credits.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["file"],"properties":{"file":{"type":"object","required":["download_url","file_id"],"properties":{"file_id":{"type":"string","minLength":1},"file_name":{"type":"string","maxLength":255},"mime_type":{"type":"string"},"download_url":{"type":"string","format":"uri"}},"additionalProperties":false},"keywords":{"type":"string","maxLength":255},"language":{"type":"string","maxLength":12,"minLength":2},"style_id":{"type":"integer","maximum":5,"minimum":1}}},"title":"Generate alt text for an attached image","logicalName":"generate_alt_text_from_chatgpt_file","displayName":"Generate alt text for an attached image","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"generate_alt_text_batch","description":"Generate alt text for up to 10 public image URLs. Results are returned per URL so one failed image does not hide successful results. This spends WriteAlt credits.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["image_urls"],"properties":{"keywords":{"type":"string","maxLength":500},"language":{"type":"string","maxLength":12,"minLength":2},"style_id":{"type":"integer","maximum":5,"minimum":1},"image_urls":{"type":"array","items":{"type":"string","format":"uri"},"maxItems":10,"minItems":1}}},"title":"Generate alt text for multiple images","logicalName":"generate_alt_text_batch","displayName":"Generate alt text for multiple images","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=WriteAlt&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aud3JpdGVhbHQuY29tL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22WriteAlt%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.writealt.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22WriteAlt%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.writealt.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=WriteAlt&connectorUrl=https%3A%2F%2Fmcp.writealt.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"WriteAlt\" --url \"https://mcp.writealt.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/writealt-mcp-635b2996de","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/writealt-mcp-635b2996de/tools/{tool}","mcpServerUrl":"https://mcp.writealt.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/writealt-mcp-635b2996de?live=1"}