Skip to main content
Glama
411,626 tools. Last updated 2026-08-07 20:23

"How to read an image using software or tools" matching MCP tools:

  • Verify a single image's authenticity — use this when you only have the image and no RAW camera file. Checks its embedded Content Credentials (C2PA) for capture provenance and AI-generation flags, and runs advisory forensic screens (error-level analysis, double-JPEG artifacts, EXIF timestamp consistency, editing-software traces, screen recapture). Free: it does not consume your verification quota. Provide the image inline as image_base64, or — for large files — call create_verification_upload and pass the returned image_object_key. Returns a verification id; poll get_verification, which on completion includes a structured evidence_report (verdict, per-check findings, coverage). Works without an API key on the keyless anonymous tier (rate-limited; returns an anonymous_user_id to reuse). For the strongest forensic check, use verify_photo with a RAW + JPEG pair instead.
    Connector
  • Remove a specific image from a product. Destructive, idempotent. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. Use when an image was uploaded by mistake or the merchant updated their listing. The product itself is preserved — only the image record and its file are removed. To remove the product entirely use `delete_product`. Args: product_id: ID of the product the image belongs to. image_id: ID of the image to delete. Visible in the `images` array of `get_product` responses. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: ``{"deleted": True, "product_id": int, "image_id": int}`` on success, or ``{"error": ...}`` on auth/ownership failure.
    Connector
  • Mint a one-shot signed upload URL for a product you own. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. Use this when you have **local image bytes** (a file the user attached, bytes you generated/downloaded in your sandbox) and you want to attach them to a product that already exists. Common cases: - `create_product` returned 409 (duplicate name) — the listing already exists; this tool gives you an upload URL for it without creating anything new. - You're adding a 2nd, 3rd, … photo to a product. The returned URL is valid for ~15 min, single product, signed with your authenticated identity. From your sandbox, do **one PUT**: requests.put(result["upload_url"], data=open("/path/to/photo.jpg", "rb").read(), headers={"Content-Type": "image/jpeg"}) No auth header on that PUT — the URL is the credential. If you have a public URL (not local bytes), use `upload_product_image(product_id, image_url=...)` instead. Args: product_id: Product to attach the future image to. You must own it. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: ``{"upload_url": str, "upload_expires_in": int}``, or ``{"error": ...}`` on auth/ownership failure.
    Connector
  • Attach an image to an existing product by giving Partle a public URL to download the image from. Authenticated. OAuth (scope `products:write`) preferred; `api_key` fallback. **When to use this tool**: the image is already hosted at a public URL (a scraped product page, an Imgur link, a CDN URL the user provided). Partle's server fetches it and stores it. **When NOT to use this tool**: you have local image bytes (a file the user attached, or bytes you generated/downloaded in your sandbox). Sending those bytes through a tool argument blows past conversation context limits — phone-photo-sized payloads can be 6+ MB of base64. Instead, in your code-execution sandbox, POST the file directly to the HTTP endpoint with multipart encoding: requests.post( "https://partle.rubenayla.xyz/v1/external/products/{product_id}/images", files={"file": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Or, to create the listing and attach an image in one HTTP request: requests.post( "https://partle.rubenayla.xyz/v1/external/products", data={"metadata": json.dumps({"name": ..., "price": ...})}, files={"image": open("/path/to/photo.jpg", "rb")}, headers={"X-API-Key": "pk_..."}, ) Args: product_id: ID of the product to attach the image to. image_url: Publicly fetchable URL of the image. Server fetches it and stores it. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: The created `ProductImage` record with its `id` (use for deletion) and storage path, or ``{"error": ...}`` on validation/auth failure.
    Connector
  • Convert an amount from one crypto or fiat to another at the current rate, e.g. 'how much is 0.5 BTC in USD', 'convert 100 USDC to EUR'. For a plain coin price without an amount, use getTickersById. Read-only; baseCurrencyId and quoteCurrencyId are canonical ids and amount is the quantity to convert. No API key required.
    Connector
  • Submit a document (PDF or image) to a Mindee extraction model and return the structured fields. Provide EITHER document_url (a public URL) OR file_base64 (+ filename). This enqueues an inference and polls until it completes (up to ~30s); if it is still processing it returns a job_id you can poll with mindee_get_job then read with mindee_get_inference. NOTE: consumes Mindee API credits (paid, billed per page). V2 API: POST /v2/inferences/enqueue.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Render HTML and CSS to PNG images over HTTP. Send HTML and CSS and get a PNG back.

  • An MCP server for generating images from HTML & CSS or screenshots of URLs using htmlcsstoimage.com.

  • Generate new images that match the visual style of a reference image: supply a style_image (URL or base64) plus a text prompt describing what to create and an image_type (defaults to sprite). Synchronous: the call blocks and returns an array of image results, each with a url; request n (1-4) to control the number of variations. The style_image is uploaded and validated, and an image larger than 15MB is rejected with HTTP 400. Credits are charged only on success, scaled to the number of images produced. Use this instead of createImage when style consistency with an existing asset matters; use editImage to alter the content of a specific image rather than borrow its style, and removeBackground to isolate a subject. Pass an optional request_id to tag the results so you can retrieve them later via getImageResults. Requires an API key (user scope). Credits: This endpoint consumes 0.5 credits per result.
    Connector
  • Modify an existing image according to text instructions: supply a source image (URL or base64) and a prompt describing the changes (e.g. "add clouds", "warmer color scheme"), with an optional reference_image for extra style or content guidance. Synchronous: the call blocks and returns an array of image results, each with a url; request n (1-4) to control the number of edited variations. Provided images are uploaded and validated, and any image larger than 15MB is rejected with HTTP 400. Credits are charged only on success, scaled to the number of images produced. Use editImage to transform a specific existing image; use createImage to generate from text alone, generateWithStyle to borrow a reference's art style, and removeBackground for the dedicated background-removal case. Pass an optional request_id to tag the results so you can retrieve them later via getImageResults. Requires an API key (user scope). Credits: This endpoint consumes 0.5 credits per result.
    Connector
  • Explain how HelloBooks and Munimji (the in-app AI assistant) help a specific business — given a free-text description of the user's own operations. Returns a curated capability knowledge base: business-operation areas (sales, purchases, banking, tax, reports, inventory, payroll, multi-entity, setup), and for each AI capability WHO does the work — `autonomous` (Munimji does it on its own, e.g. OCR extraction, running reports), `approval` (Munimji prepares the entry and you one-click approve before it posts to the ledger, e.g. AI categorization, find-and-match, creating invoices/bills by chat), `assist` (co-pilot, e.g. guided onboarding, voice), or `manual` (a software feature you run yourself). Each capability links to the backing software features. Use this when a user describes their business and asks "how can HelloBooks help me?", "what can the AI do for my shop/practice/agency?", or "what can Munimji do on its own vs what do I approve?". Pass their description in `businessDescription`; optionally filter by `area` or `autonomy`. The AI never posts to a ledger without approval. For the full software catalog call list_features; for pricing call list_plans.
    Connector
  • Replace the stored custom org policy set for your Pro key (this is also how you update or clear them: send the full new set to update, or an empty array to remove all). Each policy blocks or warns on an operation against matching tables (e.g. no DELETE on payments). Policies are declarative data — validated, never executed — and apply transparently to every later analyze_sql call made with this key. Use get_policies to read the current set.
    Connector
  • Lists Picsart AI models across ALL modes (image / video / audio / text) and renders the Picsart Studio model-picker widget so the USER can browse, compare, and pick a model visually. Each item carries `id`, `name`, `mode`, `inputType`, `supportedAspectRatios`/`supportedResolutions` (when the model declares an enum for that param) (and `provider`, `badges`, `description` when `verbose` is true). Use this when the user wants to SEE the available models or pick one themselves — especially when they have not committed to an output mode yet, or for cross-mode searches ("all flux models", "every model with image input"). To narrow to one output mode without a separate tool, pass the `mode` filter (image/video/audio/text) on this same tool. Ratio/resolution constraints ride along in `supportedAspectRatios`/`supportedResolutions`, so you rarely need `picsart_model_params` just to check whether a model supports a given aspect ratio or resolution. Do NOT use it to fetch a single model's FULL parameter schema (use `picsart_model_params`) or estimate per-call cost (use `picsart_preflight`). If you only need catalog knowledge for your own reasoning (no UI shown to the user), use `picsart_model_catalog` instead. Inputs (all optional): `mode` (filter to image/video/audio/text — text = LLM models that return generated text), `provider` (case-insensitive substring like "flux", "kling", "google"), `acceptsImage` (true → only models that take an image input — i2i, i2v, i2t), `acceptsVideo` (true → only models that take a video input — v2v, v2a, v2t), `acceptsAudio` (true → only models that take an audio input — a2v, sts), `inputType` (exact-match escape hatch; one of t2v/i2v/v2v/a2v/t2i/i2i/t2a/v2a/tts/sts/sfx/music/t2t/i2t/v2t), `limit` (1–100, default 20), `verbose` (default false; when true each item adds provider/badges/description). inputType codes — first letter is input modality, second is output: t2i (text→image), i2i (image→image), t2v (text→video), i2v (image→video), v2v (video→video), a2v (audio→video), t2a (text→audio), v2a (video→audio), tts (text-to-speech), sts (speech-to-speech), sfx (sound effects), music (music gen), t2t/i2t/v2t (LLM text output from text/image/video input). Example: `{ mode: "video", acceptsImage: true, limit: 10 }` returns image-to-video models. Returns `{ items, total, truncated }` — `truncated` is true when more matched than were returned; refine filters or raise `limit` (max 100) to see more. Read-only; spends no credits and works without authentication.
    Connector
  • Free. Returns x402image service metadata and the list of paid image tools with their per-call USD prices. No payment or input required. Call this first to discover capabilities and pricing.
    Connector
  • Map of how Crank's tools fit into one end-to-end trading flow (read this first). Read-only, free. Returns an ordered, machine-readable workflow: orient -> intelligence -> yields -> simulate (backtest) -> risk-size -> execute (non-custodial) -> monitor -> journal. Each step names the concrete tool(s) to call, their purpose, key inputs, how to use the output downstream, and the decision points that branch the flow -- so an agent that discovered Crank via tools/list can sequence the full tool surface instead of guessing. Descriptive only (DYOR); only execute-phase tools are value-bearing. wallet_address (optional, PUBLIC key only -- non-custodial): when given, appends ``human_activity`` -- count + most-recent manual override on this shared account in the last 72h (decision_type, asset, rationale summary, timestamp) plus an instruction to reconcile with it before acting. Human and agents act on ONE account: every human action is journaled (see journal_query source="human") so it is never invisible to you. Absent/clean (``{"count": 0}``) when there is no override.
    Connector
  • 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_id -- create_project first if there is no project yet.
    Connector
  • Upload assets for PowerPoint (.pptx) generation: company template, logo, image, or document — or AI-generate an image. Purposes: • logo — company logo for chrome (PNG/JPG/SVG, max 5MB) → logo_id • image — image for the Image component (max 10MB) → asset_id • theme — company template PPTX → theme_id; slides with it render NATIVELY on the template (masters/layouts/chrome) • generate_image — AI-generate via `prompt` → asset_id ($0.05) • translate — PPTX to translate → deck job_id ($0.02/slide; requires `target_language`) • pdf — PDF → editable slides; pass `target_language` to also translate • recreate — image OF a slide → editable PPTX slide ($0.10; honest annotate/preserve fallback, refusals free). Use `image` to just place a picture Files >3MB (pdf/translate/theme) — and recreate on chat hosts — omit `data`: a drop-zone appears in the result card; bytes never pass through the agent.
    Connector
  • Re-pose an existing sprite into a new target pose while preserving the character, taking a source image (URL or base64), a pose name (or "Other" with a free-text description), and an optional n (1-4) for how many variations to produce. Only works with sprite image types (not icons, screenshots, etc.). Synchronous: the call blocks and returns an array of pose results, each containing the generated image url, the pose and description used, and a suggested motion_prompt tuned for that pose. Credits are charged only on success, scaled by the number of images generated. This is typically the first step before animating: call generatePose to set the character's pose, then feed the result (and its suggested motion_prompt) into animateSprite for the best animation quality; use rotateSprite instead when you want to change the camera angle rather than the pose. Pass an optional request_id to tag the results so you can locate them later via getSpriteResults. Requires an API key (user scope). Credits: This endpoint consumes 0.5 credits per result.
    Connector
  • Render a mingrammer/diagrams Python snippet to PNG and return the image. The code must be a complete Python script using `from diagrams import ...` imports and a `with Diagram(...)` context manager block. Use search_nodes to verify node names and get correct import paths before writing code. Read the diagrams://reference/diagram, diagrams://reference/edge, and diagrams://reference/cluster resources for constructor options and usage examples. Args: code: Full Python code using the diagrams library. filename: Output filename without extension. format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``. download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG/PDF and PNGs larger than the inline limit always use a download link.
    Connector
  • Built-in product help — ask a natural-language "how do I…" question about Fastio and get a grounded, product-aware answer (or a short clarifying question) back in one call. EXPLAIN-ONLY / ADVISORY: it returns GUIDANCE TEXT and performs NO platform action (it will not create shares, move files, or change anything) — read the guidance, then act with the other tools. Answers are grounded in Fastio's own how-to knowledge AND phrased in terms of these MCP tools — they name the concrete `<tool> action="…"` calls to make — so prefer this over guessing endpoints or burning exploratory calls. For Q&A over YOUR uploaded files (RAG) use the `ai` tool instead — `how-to` answers questions about Fastio ITSELF. FREE and requires only an authenticated user (no org, no plan gate, no billing). Call action='describe' for the full action/param reference.
    Connector
  • One-call 'can I hire this role here, and at what cost' read for an occupation in a US geography. Joins two independent federal sources: BLS OEWS (Occupational Employment and Wage Statistics, keyless) for the occupation's employment LEVEL and wage distribution (mean plus 10th / 50th-median / 90th annual percentiles) in the area, and US Census ACS labor-force context (civilian labor force and local unemployment rate - needs a Census API key) to band how TIGHT / BALANCED / SLACK the local hiring market is. Pass an 'occupation' (e.g. 'registered nurses', 'software developers') or an explicit 'soc_code' (e.g. '29-1141'), and an optional 'state' or 'metro' (defaults to national). Returns a readable brief with a headline (employment, median/mean wage, market tightness), the wage percentiles, and per-source evidence. The BLS OEWS leg is the core signal and is keyless; the Census leg degrades gracefully if no key is set. Informational, NOT a guarantee that a role can be filled at any given wage.
    Connector
  • Returns the canonical guide for using TMV from a coding-agent context. Covers the fix-test-retest loop, how to write a good test prompt, how to read the actionTrail / consoleErrors / failedRequests outputs, and common gotchas. Call this first if you're a new agent on a project — it'll save you a debug session. The same content is served at https://testmyvibes.com/docs/coding-agents.
    Connector