Skip to main content
Glama
650,439 tools. Updated 2026-10-13 06:32

"A tool for converting images to text" matching MCP tools:

  • Upload a base64-encoded file to a site's container. Use this for binary files (images, archives, fonts, etc.). For text files, prefer write_file(). Requires: API key with write scope. Args: slug: Site identifier path: Relative path including filename (e.g. "images/logo.png") content_b64: Base64-encoded file content Returns: {"success": true, "path": "images/logo.png", "size": 45678} Errors: VALIDATION_ERROR: Invalid base64 encoding FORBIDDEN: Protected system path
    ConnectorNo auth
  • Convert HTML or Markdown to a pixel-perfect PDF. Returns JSON: { url } — a temporary download URL (valid ~1 hour). Great for generating invoices, reports, receipts, or formatted documents programmatically. Supports full HTML/CSS including tables, images (base64 or URL), and inline styles. For Markdown input, set format='markdown'. 50 sats per conversion. Use convert_file instead for converting existing files between formats (e.g., DOCX→PDF). Pay per request with Bitcoin Lightning — no API key or signup needed. Requires create_payment with toolName='convert_html_to_pdf'.
    ConnectorNo auth
  • Get a browser link the user opens to upload real image FILES to their site -- the reliable way to add actual photos, drawings, logos, or several images at once, and the tool to reach for the INSTANT a user pastes, attaches, uploads, or mentions an image they want used. Call this and hand the user the link ANY time they have an image -- they have no other way to know the upload option exists, so always surface it; do not try to ingest a pasted/attached image yourself. You cannot carry image bytes yourself -- a tool call is text you have to type out, so a real photo either will not fit or arrives corrupted. This returns an upload_url instead: give that link to the user, tell them it works from their phone too and is valid for about an hour. On that page they can upload their own files, pick from images they already uploaded, or search a free stock photo gallery -- all without leaving the browser. KEEP the returned token_id. When the user says they are done, call check_upload_link(token_id) to get back the EXACT images they chose and place those hosted URLs on the site with apply_dom_ops. role="logo" tags the link for a logo upload; "content" (default) for any other image. Requires an existing project_guid -- create_project first if there is no project yet.
    ConnectorOAuth
  • Check a colour pair against the WCAG contrast thresholds. FREE. Uses the WCAG 2 relative-luminance formula, so the number matches what an accessibility audit will report. Typical input {"foreground": "#767676", "background": "#ffffff"} returns {"contrast_ratio": 4.54, "AA": true, "AAA": false, "required": {"AA": 4.5, "AAA": 7.0}, "verdict": "Passes AA for normal text, fails AAA."}. Use when generating or auditing an interface. Not for converting colours between spaces and not for palettes. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "foreground must be a hex colour like #767676"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • Returns original, course-specific multiple-choice practice questions. Free-text topics are matched against Fiveable's course map, so natural phrasing works. Omit topic to get balanced practice across the whole subject, with varied units, skills and stimulus formats. For history, science and language subjects this can return source-based sets — one stimulus with several questions off it — and stimulus images come back as viewable images. This is targeted or mixed practice, distinct from Fiveable's durable adaptive diagnostic. Every question carries a `Question id` that supports a saved answer submission for student progress. The recentCorrect and recentAnswered inputs allow the tool to drop to easier question types when a student is missing questions, helping find where understanding breaks down. A returned question set consumes one full-content preview unless existing access covers this practice feature. Moderate cost — roughly 300 tokens per question, more when images are attached.
    ConnectorNo auth
  • Upload images directly to Metadata platform library to create image creatives. Downloads images from provided URLs and uploads them to the platform. REQUIRED STEP IN AD CREATION WORKFLOW: This tool MUST be called between generate_brand_creative and create_update_image_ad. **WORKFLOW INTEGRATION:** This tool is part of the ad creation workflow and should be used: 1. BEFORE creating ads with create_update_image_ad (which requires imageLibraryId/creativeID) 2. IN COMBINATION with generate_brand_creative to create AI-generated images first, then upload them 3. When you need to upload existing images from external sources **COMMON WORKFLOWS:** - Upload existing images → Get imageLibraryId → Use in create_update_image_ad - Generate image with generate_brand_creative → Download generated image → Upload with this tool → Use in create_update_image_ad - Batch upload multiple creative assets for campaign preparation **IMPORTANT:** The returned image ID (imageLibraryId/creativeID) is REQUIRED when creating ads. Every ad needs a creative asset, so you must upload images first before calling create_update_image_ad. REQUIRED PARAMETERS: - images: Array of image URLs to upload IMAGE REQUIREMENTS: - URLs must be valid and publicly accessible - Supported formats: PNG, JPG, JPEG, GIF, WebP, and others - Images will be downloaded and then uploaded to platform - Filenames with spaces will have spaces replaced with underscores EXAMPLES: Single Image: upload_image([ "https://my-bucket.s3.amazonaws.com/images/sample-image.png" ]) Multiple Images: upload_image([ "https://my-bucket.s3.amazonaws.com/images/logo.png", "https://example-assets.s3.us-west-2.amazonaws.com/photos/banner.jpg", "https://content-bucket.s3.eu-west-1.amazonaws.com/uploads/hero image.webp" ]) RESPONSE FORMAT: Returns array of objects for each image: [ { "url": "https://original-url.com/image.png", "name": "image.png", "id": 12345, "success": true }, { "url": "https://failed-url.com/bad.png", "name": "bad.png", "id": null, "success": false, "error": "Download failed: Connection timeout" } ] ERROR HANDLING: - If one upload fails, others will continue - Each result includes success status - Failed uploads include error message - Successful uploads include platform image ID USE CASES: - Upload creative assets before creating ads - Import images from external sources - Batch upload multiple campaign images - Migrate images from other platforms
    ConnectorAPI key

Matching MCP Servers

Matching MCP Connectors

  • Generate images with the catalogue's image model, returned inline; image price plus $0.01 a call.

  • Transcribe TikTok, Instagram Reels, X, Facebook and MP4 videos to text with Whisper.

  • Read back the rendered body of a version: the same bytes a reader receives in the browser, which differ from the uploaded file only by the one platform line <script data-space-sdk> — not a rewritten copy. This is how an agent confirms for itself that what went live is what it made: no browser, no screenshot, no human login, and no need to hand the link to the user to look at for you. Reads the entry file by default; pass file with a package-relative path to read one text file (.html, .md, .txt, .json, .svg and the like). To see which files a version has, and which one is the entry, read get_version artifacts. Two things it cannot read: PDF and PPTX content, which is page images (use preview_url, or the page count from get_version), and versions still uploading or converting, which have no body yet. A version in another workspace is not_found. A long body is returned up to a limit, and the reply states the full character count and whether it was cut.
    ConnectorAPI key
  • List hosted images owned by the caller, with optional filters. ``source`` filters by upload origin: ``"upload"`` for directly uploaded images, ``"generated"`` for images created via the image generation tools. Omit to return all sources. ``visibility`` filters by access level: ``"public"`` or ``"private"``. Omit to return both. Pagination: pass ``next_cursor`` from a previous response as ``cursor`` to retrieve the next page. Returns ``{items: [...], next_cursor: str | null}``.
    ConnectorOAuth
  • Look up today's exchange rate between two currencies, without converting a specific amount. Use for "what's the exchange rate between USD and EUR" style questions. `from_currency`/`to_currency` are 3-letter ISO codes. Returns the rate and the date it's from.
    ConnectorNo auth
  • PDF to Excel Inspector — Non-destructive scan of a PDF's tables before converting: per-table row/column counts, confidence flags, warnings. [category: pdf]
    ConnectorOAuth
  • Import an open-source load test (JMeter .jmx, k6 .js, or Locust .py) into an existing script, converting it to Loadster commands. An import may create script assets, datasets, and a scenario; replace=true also replaces the script's existing commands and variables. Returns action items to review. For OpenAPI/Swagger or Postman, read the spec yourself and build commands with create_script instead.
    Connector
    Destructive
    OAuth
  • Remove a keyword from a live ad group. Looks up the keyword's criterion id by text + optional match-type filter, then issues a REMOVE mutate. If no matchType is given and the same text exists across multiple match types, removes all of them. Use when reports show a specific keyword burning budget without converting. To stop the whole campaign from serving on a query, prefer add_negative_keywords (campaign-level) — removing a keyword only affects that one ad group. Irreversible: re-adding requires a fresh save_campaign_draft or manual ad-group edits.
    Connector
    Destructive
    OAuth
  • Check an existing operation using its original connection and operationId. Returns a receipt with execution status and optional progress, or the original tool result when available, including text, images and tool errors. Receipt states are admitted, running, completed and outcome_unknown; completed does not guarantee success. Poll no faster than once every five seconds. outcome_unknown requires human inspection, not automatic replay. Do not repeat an operation merely to recover expired results.
    ConnectorOAuth
  • Get an upload page for the user, who picks the files on their phone or computer (PDF / PPTX / images / large files). Which upload route: terminal ⇒ SPACE CLI (create_cli_token first); no terminal and text files up to 2 MB in total ⇒ publish_file; anything else or unsure ⇒ create_upload_link. Use this when you have NO terminal and the page is not text files within 2 MB (PDF, PPTX, images, large files), or when you are not sure: the platform creates an upload page link; give it to the user and they pick the files on their phone (WeChat works) or computer. The link is valid for 2 hours, succeeds only once, uploads only into this one page, and needs no login. To add a version to existing pages pass proposal_id (find it with list_proposals first); to create new pages pass title (optional folder_id). hold defaults to true: after approval the version is NOT released until the user confirms the preview and you call publish_version. After calling, hand the url to the user unchanged, say exactly which file to upload and ask them to come back and say “uploaded” when done; then call get_version with version_id every 15–30 seconds until it is no longer uploading: preview_ready or approved ⇒ give the user the preview URL to confirm; converting ⇒ keep polling; review ⇒ tell the user it is under manual review. After upload, the page also links to the page details for preview and sharing; keep following up through get_version and do not publish a version that is waiting to publish before the user confirms. For a single HTML or Markdown file whose content you already have, use publish_file instead — the user does not need to do anything. Keywords: publish · web page · webpage · link · share · share to WeChat · WeChat link · html · pdf · markdown · upload · LivePage · proposal.
    ConnectorAPI key
  • Generate game-art images from a text prompt alone, selecting an image_type (e.g. sprite) and optionally art_style, perspective, and aspect_ratio. The job result is an array of image results, each with a url; request n (1-8) to control how many variations come back. Because it generates purely from text it takes no source image, so there is no upload size limit to trip. Credits are held when the job is accepted and refunded if it fails or is cancelled; the charge scales with the number of images produced. Use createImage to make new images from scratch; use generateWithStyle to match a reference image's art style, editImage to modify an existing image, and removeBackground to cut out a subject. Pass an optional request_id to tag the results so you can retrieve them later via listGenerations (type image). Async generation job: returns `{id, status}` - poll `getApiJob` (job and credit contract: see the server instructions). Credits: This endpoint consumes 0.5 credits per result.
    ConnectorNo auth
  • Search XPay Hub for paid API services. Use this PROACTIVELY when the user asks you to: search the web, find emails, enrich contacts/companies, verify emails, find similar websites, extract web page content, get company news, search for people by title/company, get job postings, generate images, or any data lookup task. Returns matching servers with slugs, tool counts, and pricing. Use xpay_details next to see the full tool list for a server.
    ConnectorNo auth
  • Delete a single item by id. `kind` MUST match the item type: 'text' for text nodes, 'line' for freehand strokes, 'image' for images — the wrong kind silently targets the wrong table and is a common mistake. Get the id + type from `get_board` (texts[], lines[], images[]). There is no bulk/erase-all tool: loop if you need to delete multiple items.
    Connector
    Destructive
    No auth
  • List change requests for a project with filters + cursor pagination. Defaults to include=['change_requested'] (highest-signal subset). Returns digest fields per row (including element_kind=text|mixed|field|null and suggested_text — a literal text replacement on text/field picks); no inline images at this tier (token-cheap by design). Use get_change_request for full detail + screenshots.
    ConnectorNo auth
  • Pass public https URLs — base64 ONLY for images you generated yourself. Adds up to 16 images to the Media Library in ONE call (all plans; images only, max 5MB each). For any image that exists on the web, pass its URL; the Dplooy server downloads it directly. base64 is STRICTLY the fallback for images you generated yourself that exist nowhere on the web — NEVER base64-re-encode an image that has a URL. Batch ALL the site's images into one call, do not call once per image. Each image returns a stable public URL for <img> tags plus the { mediaId, path } reference Data image cells need. Items succeed or fail independently. Upload images BEFORE writing the site's HTML. TIP: images the user already added to their Media Library are listed by list_media — reuse those URLs directly, no upload needed.
    ConnectorOAuth
  • Scores a student's existing FRQ even when it did not come from Fiveable. If the student attached photos, the host AI must first transcribe the prompt and response, show the transcription for confirmation, then call this tool. Optional prompt images preserve graphs or artwork that text alone cannot represent. Fiveable scores it on the AP rubric for its exact question type, out of that type's AP point total. Requires sign-in; one scoring preview is included without a plan, with further scoring available to eligible accounts. The attempt is saved to the student's Fiveable progress. Returns a pending scoring job; poll get_scoring_result. Reuse requestId for retries.
    ConnectorNo auth
  • Compare two screenshots — a baseline/expected capture and a live/current capture of (nominally) the same screen — using a perceptual pixel-diff. Returns the similarity score and changed-pixel count as text, AND returns the baseline, live, and diff images as images you can view directly, so YOU judge whether any flagged difference is a real regression (layout shift, missing/broken element, wrong color/theme, wrong or garbled text, unexpected new content) or just benign noise (dynamic content like timestamps/ads/carousels, anti-aliasing, rendering noise) — this tool does not make that call for you. Provide either two raw base64 images, or a review_id (from list_visual_reviews) to pull a stored baseline instead of re-fetching it.
    ConnectorOAuth