Skip to main content
Glama
255,062 tools. Last updated 2026-07-02 09:09

"A method to allow vision models to process and understand image files" matching MCP tools:

  • Attach a Stripe payment method to your Disco account. The payment method must be tokenized via Stripe's API first — card details never touch Disco's servers. Required before purchasing credits or subscribing to a paid plan. To tokenize a card, call Stripe's API directly: POST https://api.stripe.com/v1/payment_methods with the stripe_publishable_key from your account info. Args: payment_method_id: Stripe payment method ID (pm_...) from Stripe's API. api_key: Disco API key (disco_...). Optional if DISCOVERY_API_KEY env var is set.
    Connector
  • Browse the Wix REST API documentation menu hierarchy. Alternative to SearchWixRESTDocumentation - use this to explore and discover APIs by navigating the menu structure instead of searching by keywords. - Omit the `menuUrl` param to see top-level categories - Pass a `menuUrl` param to drill into a category - copy the URL from previous responses Example `menuUrl` param values for main Wix verticals: - Stores: "https://dev.wix.com/docs/api-reference/business-solutions/stores" - Bookings: "https://dev.wix.com/docs/api-reference/business-solutions/bookings" - CMS: "https://dev.wix.com/docs/api-reference/business-solutions/cms" - CRM: "https://dev.wix.com/docs/api-reference/crm" - eCommerce: "https://dev.wix.com/docs/api-reference/business-solutions/e-commerce" - Events: "https://dev.wix.com/docs/api-reference/business-solutions/events" - Blog: "https://dev.wix.com/docs/api-reference/business-solutions/blog" - Pricing Plans: "https://dev.wix.com/docs/api-reference/business-solutions/pricing-plans" - Restaurants: "https://dev.wix.com/docs/api-reference/business-solutions/restaurants" - Media: "https://dev.wix.com/docs/api-reference/assets/media" - Site Properties: "https://dev.wix.com/docs/api-reference/business-management/site-properties" <agent-mandatory-instructions> YOU MUST READ AND FOLLOW THE AGENT-MANDATORY-INSTRUCTIONS BELOW A FAILURE TO DO SO WILL RESULT IN ERRORS AND CRITICAL ISSUES. <goal> You are an agent that helps the user manage their Wix site. Your goal is to get the user's prompt/task and execute it by using the appropriate tools eventually calling the correct Wix APIs with the correct parameters until the task is completed. </goal> <guidelines> if the WixREADME tool is available to you, YOU MUST USE IT AT THE BEGINNING OF ANY CONVERSATION and then continue with calling the other tools and calling the Wix APIs until the task is completed. **Exception:** If the user asks to create, build, or generate a new Wix site/website, skip WixREADME and: - If the user **explicitly** mentions a template, Wix Studio, or headless → call CreateWixBusinessGuide directly. - Otherwise → call the WixSiteBuilder tool directly. **Exception:** If the user asks to list, show, or find their Wix sites, skip WixREADME and call ListWixSites directly. **Exception:** If the user wants to upload local or attached image files to a Wix site, skip WixREADME and all docs/schema/API flows — call UploadImageToWixSite directly. Do NOT use ExecuteWixAPI, SearchWixAPISpec, or any Media Manager REST API for image uploads. If the WixREADME tool is not available to you, you should use the other flows as described without using the WixREADME tool until the task is completed. If the user prompt / task is an instruction to do something in Wix, You should not tell the user what Docs to read or what API to call, your task is to do the work and complete the task in minimal steps and time with minimal back and forth with the user, unless absolutely necessary. </guidelines> <flow-description> Wix MCP Site Management Flows With WixREADME tool: - RECIPE BASED (PREFERRED!): WixREADME() -> find relevant recipe for the user's prompt/task -> read recipe using ReadFullDocsArticle() -> call Wix API using CallWixSiteAPI() based on the recipe - CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example - EXAMPLE BASED: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples - SCHEMA BASED, FALLBACK: WixREADME() -> no relevant recipe found for user's prompt/task -> BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema Without WixREADME tool: - CONVERSATION CONTEXT BASED: find relevant docs article or API example for the user's prompt/task in the conversation context -> call API using CallWixSiteAPI() based on the docs article or API example - METHOD CODE EXAMPLE BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() to get method code examples -> call API using CallWixSiteAPI() based on the method code examples - FULL SCHEMA BASED: BrowseWixRESTDocsMenu() or SearchWixRESTDocumentation() -> find relevant method -> read method article using ReadFullDocsArticle() -> no method code examples found -> inspect the method schema using SearchWixAPISpec or ReadFullDocsMethodSchema -> call API using CallWixSiteAPI() based on the schema </flow-description> </agent-mandatory-instructions>
    Connector
  • Generate an AI image using Avocado AI. Returns a jobId immediately; image generation completes in 10-60 seconds. After calling, use the check_job tool with the returned jobId to retrieve the result, once complete, check_job returns the image inline so it renders directly in chat. Run models_list to see available models. Costs 1-4 credits per image depending on model and quality.
    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: Legacy/fallback auth. 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
  • List every object currently stored in the scanbim-models OSS bucket, with URN, size in MB, and a viewer URL for each. Returns the raw OSS inventory, not the D1 models table, so freshly uploaded items appear immediately. When to use: you need to enumerate previously uploaded models to find a URN, show an inventory, or pick one for a follow-up tool call. When NOT to use: you already know the exact URN — call get_model_metadata directly. This tool is not a search; it returns up to the OSS default page (typically first 10 objects unless OSS paginates). APS scopes: bucket:read data:read Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation jobs ~60 req/min; OSS uploads size-limited per file to 100MB for direct upload, larger via resumable. Errors: 401 APS token expired/invalid — refresh; 403 scope or resource permission denied; 404 bucket not found — no models have been uploaded yet (upload one first); 429 rate limited — backoff and retry; 5xx APS upstream outage — retry with jitter. Side effects: READ-ONLY. Idempotent.
    Connector
  • Generates one or more images from a text prompt (T2I) or a text prompt + reference image(s) (I2I). Submits the job, polls until terminal, and returns the final image URLs. Default model is 'grok-imagine-t2i' (fast, 6 images per generation, 5 credits). Use list_image_models to see the full lineup with pricing. For I2I, pass `referenceImages` as an array of public image URLs and pick a model with I2I support (e.g. 'grok-imagine-i2i', 'wan-2.5-spicy-i2i'). ## Model selection guide (when the user does not specify a model) Default: `grok-imagine-t2i` (5 cr, 6 outputs per call, fast, general purpose). **Strong recommendation: when a single high-quality output is what's wanted** (most agent / one-shot workflows), prefer `gpt-image-2-t2i` (9 cr @ 1K / higher @ 2K, single deterministic image, best general quality across realism, illustration, typography, and composition; supports up to 2K resolution and most aspect ratios including auto). This is the front-runner for serious creative output where you don't need to pick from 6 variations. Pick a different model when the prompt has these signals: - "single best result" / "one image" / production / no time to pick from variations -> `gpt-image-2-t2i` (9 cr, 1 output, top general quality) - "photoreal" / "photo of" / "realistic" -> `gpt-image-2-t2i` (9 cr, best general realism) or `imagen-4` (12 cr, very high quality) or `z-image-turbo` (3 cr, fastest) - "highest quality" / "premium" / no budget -> `gpt-image-2-t2i` at 2K, or `grok-imagine-quality-t2i` (16 cr @ 1K, 22 cr @ 2K), or `imagen-4-ultra` - Text inside the image (signs, posters, typography) -> `ideogram-v3-t2i` (best in class) or `gpt-image-2-t2i` (also strong) - Artistic / painterly / stylized -> `midjourney-t2i` - Album art / cover art -> `gpt-image-2-t2i` for one strong image; `grok-imagine-t2i` for 6 variations to choose from; `seedream-v4-t2i` if 4K wanted - Logo or design with embedded text -> `ideogram-v3-t2i` - NSFW / adult / explicit -> `wan-2.5-spicy-t2i` (auto-tags creation as 18+; routes to adult gallery) - Cheapest possible / quick test -> `z-image-turbo` (3 cr) - Multiple variations to compare -> keep `grok-imagine-t2i` (6 outputs default) or use `numImages` on a multi-output model For I2I (reference image provided): prefer the dedicated `aetherwave_edit_image` tool for "change something in this image" intent. Use `aetherwave_generate_image` with I2I models only when you specifically want style transfer (`midjourney-i2i`), premium quality (`grok-imagine-quality-i2i`), or adult content (`wan-2.5-spicy-i2i`). Always pass an explicit `aspectRatio` (e.g. "1:1" for square album art, "16:9" for video thumbnails, "9:16" for shorts/reels). Some upstream providers reject submissions with no aspect ratio. Ask the user only when: - The prompt contradicts itself (e.g., "highest quality but cheapest") - The user requested "the best model" with no context, surface 2-3 options with tradeoffs - A single generation would cost more than 20 credits and the user has not confirmed
    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.

  • Transform any blog post or article URL into ready-to-post social media content for Twitter/X threads, LinkedIn posts, Instagram captions, Facebook posts, and email newsletters. Pay-per-event: $0.07 for all 5 platforms, $0.03 for single platform.

  • Edits an existing image guided by a text prompt. Pass a public `imageUrl` plus a `prompt` describing the change ("add a moon to the sky", "swap the background for a neon city", "make it look like a comic panel"). Submits, polls, and returns the edited image URL(s). Default model is 'grok-imagine-i2i' (6 cr per call, returns 2 variations, ~30s, best cost-to-quality on standard edits). Other I2I-capable models: 'seedream-v4-edit', 'wan-2.5-spicy-i2i', 'flux-kontext-pro', 'qwen-image-edit', 'gpt-image-1.5-i2i' (slow, ~5min). Use list_image_models for full lineup. Note: source URLs with spaces or parentheses may fail upstream; prefer clean URLs. ## Model selection guide for edits Default: `grok-imagine-i2i` (6 cr per call, returns 2 variations = 3 cr/image effective, fast ~30s, strong general-purpose edit quality). Pick a different model when: - Need a single deterministic output, or 4K resolution -> `seedream-v4-edit` (7 cr per image, supports 1K/2K/4K, multi-image up to 6) - Subtle edits / preserve composition / character consistency -> `flux-kontext-pro` or `flux-kontext-max` - NSFW edits -> `wan-2.5-spicy-i2i` - Highest quality, time is not a concern (~5 min OK) -> `gpt-image-1.5-i2i` or `grok-imagine-quality-i2i` (16 cr @ 1K, 22 cr @ 2K) - Stylized / artistic transformation -> `midjourney-i2i` If the user simply says "edit this image" with no other signal, default to `grok-imagine-i2i`.
    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: Legacy/fallback auth. Omit when using OAuth. Returns: ``{"deleted": True, "product_id": int, "image_id": int}`` on success, or ``{"error": ...}`` on auth/ownership failure.
    Connector
  • Core dossier check: Send a CORS preflight OPTIONS request to https://<domain>/ and return the access-control-* response headers. Use to verify CORS policy for a specific origin-method pair, or to check whether a domain allows cross-origin requests; provide origin and method to simulate a precise preflight, or omit to use defaults (origin: https://domainposture.com, method: GET). Single OPTIONS request via fetch, 5 s timeout. Returns a CheckResult: on success, {status:"ok", headers:{access-control-allow-origin,...}}; on failure, {status:"error", reason}.
    Connector
  • Generate an AI video. Sixteen models: seedance-2.0-t2v / -t2v-fast (text only), seedance-2.0-i2v / -i2v-fast (REQUIRE an image), seedance-2.0-ref / -ref-fast (REFERENCE-to-video: locks character/style across generations from reference images — pass reference_image_urls and/or reference_file_ids; ideal for keeping a Storyboard Studio character consistent), seedance-2.0-{t2v,i2v,ref}-mini (cheapest Seedance 2.0 tier, 480p/720p, 4-15s — same three modes, lowest cost per second), kling3-standard (720p, 5-10s), kling3-pro (1080p, 5-10s), kling3-4k & kling-o3-4k (4K, 3-15s; all four Kling 3.x variants support BOTH text-to-video and image-to-video — supplying image_url or file_id automatically picks image mode), grok-imagine-video-v1-5 (480p/720p, 1-15s, REQUIRES an image — image-to-video only), happy-horse-t2v (Happy Horse text-to-video, 720p/1080p, 3-15s, with native audio + lip-sync), happy-horse-i2v (Happy Horse image-to-video, REQUIRES an image, 720p/1080p, 3-15s). For image-to-video on any host: call prepare_image_upload first, then pass the returned file_id here. Renders take 2-10 minutes; the inline result card polls for completion. Pricing is per-second, varies by model and resolution.
    Connector
  • Generate an AI video and place it directly on a user's Avocado AI storyboard. Drops a 'Generating...' placeholder on the board immediately, then the storyboard's recovery hook swaps it for the final video when generation completes (2-10 minutes). Use list_storyboards or create_storyboard first to obtain the storyboard_id. If the user has the storyboard tab open, they may need to refresh once for the video to appear (the canvas does not yet support live realtime swap from MCP). Twelve models supported: seedance-2.0-t2v / -t2v-fast (text only), seedance-2.0-i2v / -i2v-fast (REQUIRE an image), seedance-2.0-ref / -ref-fast (REFERENCE-to-video: locks character/style from reference images — pass reference_image_urls and/or reference_file_ids; the natural fit for keeping a storyboard's character consistent across beats), kling3-standard (720p, 5-10s), kling3-pro (1080p, 5-10s), kling3-4k & kling-o3-4k (4K, 3-15s; all four Kling 3.x variants support BOTH text-to-video and image-to-video), happy-horse-t2v (Happy Horse text-to-video, 720p/1080p, 3-15s, native audio + lip-sync), happy-horse-i2v (Happy Horse image-to-video, REQUIRES an image, 720p/1080p, 3-15s). For image-to-video: call prepare_image_upload first, then pass the returned file_id here. Pricing is per-second, varies by model and resolution.
    Connector
  • Upload an image to a brand by URL. The pipeline downloads it, runs the vision tagger (classifies type, detects product name, flags is_primary_product), stores it in the brand-assets bucket, and inserts a brand_assets row. Paid (vision tag credit). If vision tagging fails, the asset is still saved with type=general and can be retried via retag_brand_asset.
    Connector
  • List the primary sources the corpus can search, and what each covers. Use this to discover the valid `sources` filter values for `search_italian_tax_sources` and to understand the corpus's coverage.
    Connector
  • Detect and MASK personally identifiable information in a document (PDF or image). USE THIS WHEN you need to know what PII a document contains, or to get a redacted copy before forwarding / logging / passing it to another model. Two layers: a deterministic regex+checksum pass for structured identifiers (emails, payment cards, SSN, PAN, ABN) and a vision model for the unstructured PII — names, addresses, dates of birth, phone numbers, and photo/signature presence. Provide the document ONE way: `url` (a public http(s) link, fetched server-side) or `bytes_b64` (inline base64, plus `filename`). `max_pages` caps how many pages are read (default a few; ceiling 10). Returns `{pii_found, by_type, items[] (type, masked preview, method), redacted_text, has_photo, has_signature}`. Values are MASKED in the response — the raw PII is never returned. DETECTION coverage, not a guarantee: it may miss PII or over-flag, so review before relying on it for compliance. The document is never stored.
    Connector
  • Upload an image and return the hosted image record. ``data`` must be the image bytes encoded as standard base64 (RFC 4648). Accepted image formats are PNG, JPEG, WebP, and GIF. ``visibility`` controls who can access the served URL: ``"public"`` makes it accessible to anyone with the link; ``"private"`` (default) requires the owner's credentials. Accepted values: ``"public"``, ``"private"``. ``ttl_seconds`` sets an expiry relative to now (positive integer). Omit to create a permanent image. Returns: ``{id, token, url, visibility, expires_at, size_bytes, content_type}``.
    Connector
  • Update visibility, TTL, or the private view link of a hosted image. Caller must own it. ``visibility`` flips the access level: ``"public"`` or ``"private"``. Omit to leave unchanged. ``ttl_seconds`` and ``permanent`` are mutually exclusive. ``permanent`` clears the expiry so the image lives indefinitely. ``ttl_seconds`` sets a new expiry relative to now (positive integer). Omitting both leaves the current expiry unchanged. ``rotate_view_secret`` issues a fresh private view link and invalidates every link shared earlier for this image, so use it to un-share a private image. For a private image the returned ``url`` is the current view link. Returns the updated image record. Raises ``image_not_found`` (404) when the image is absent, expired, or owned by another user.
    Connector
  • Switch Vision — watch and understand a video (or image) like a human and answer a question about it: scenes, subjects, actions, on-screen text, pacing, mood and sentiment. Pass video_url (a public https video URL, including YouTube) OR one of your own Switch videos (a video/asset id from list_my_videos / list_my_assets / upload_media). Add an optional question to focus the analysis (e.g. "what is the tone and energy?", "list the cuts and what each shot shows"). Use this whenever the user gives you a reference video and wants its style, energy, structure or content understood — for example before making a new video that matches it.
    Connector
  • Edit an existing image and place the result directly on a user's Avocado AI flow (the Flows Director). This is the flow-native edit: use it (NOT the plain edit_image) for ANY edit inside a flow, so the result lands in the user's Director Library. This MODIFIES ONE SPECIFIC existing image (file_id/image_url is required) — it does not generate new frames from a prompt. To generate a NEW image guided by one or more reference images (e.g. a storyboard beat that must keep the same cast/location consistent), use generate_image_to_flow with reference_image_urls instead. Drops a 'Generating...' tile immediately, then swaps in the edited image when ready (10-60s). REQUIRED: exactly one of file_id OR image_url (HTTPS). For chat-attached images call prepare_image_upload first, then pass the returned file_id. Models: 'nano-banana-2' (fast, default, 1 credit), 'nano-banana-2-lite' (fastest/cheapest, single-image touch-ups, 1 credit), and 'gpt-image-2' (higher quality, 1-4 credits by quality). To regenerate/retouch an EXISTING tile in place (same tile stays 'the' cast/location/beat reference — nothing downstream breaks) instead of creating a duplicate, pass replace_node_id (get it from a prior generate_image_to_flow/edit_image_to_flow response's nodeIds, or from list_flow_assets); typically image_url would then be that same tile's own current url.
    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: Legacy/fallback auth. 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
  • Get code from a remote public git repository — either a specific function/class by name, a line range, or a full file. PREFERRED WORKFLOW: When search results or findings have already identified a specific function, method, or class, use symbol_name to extract just that declaration. This avoids fetching entire files and keeps context focused. Only fetch full files when you need a broad understanding of a file you haven't seen before. For supported languages (Go, Python, TypeScript, JavaScript, Java, C, C++, C#, Kotlin, Swift, Rust) the response includes a symbols list of declarations with line ranges. This is not a first-call tool — use code_analyze or code_search first to identify targets, then extract precisely what you need.
    Connector