Skip to main content
Glama
675,449 tools. Updated 2026-10-19 05:50

"A tool for generating CSS or Twig code from images" matching MCP tools:

  • Render raw HTML/CSS to an image. Perfect for generating OG images, social cards, email previews, and dynamic content from templates. No URL needed.
    ConnectorNo auth
  • Check the build status of an EXISTING artifact (from artifact-create). Read-only. Generation is asynchronous, so this is how you find out it finished. Call it with { sessionId, wait: true } and it WAITS for you: the call returns as soon as status is 'ready' or 'failed', or after about 45 seconds still 'generating'. Then, you can call it again. This tool is meant to be called right after artifact-create, before replying to the user, and keep getting called until status is no longer 'generating'. ONLY when you want an instant snapshot, this tool can be called without wait (or false); the idea is to never spin on wait: false. Requires sessionId — the id returned by artifact-create (or the last path segment of an artifact URL like https://app.agentgrid.io/artifacts/<sessionId> or https://dev.animaapp.com/chat/<sessionId>). **Returns:** { success, sessionId, status: 'generating' | 'ready' | 'failed', progress (0–100, while generating), name, artifactUrl (generating/ready only), playgroundUrl (app and knowledge artifacts only, generating/ready only), previewUrl (app, knowledge and markdown artifacts only, generating/ready only), error (when failed), nextStep (when a wait returned still generating) }
    ConnectorOAuth
  • Fetch and convert a Microsoft Learn documentation webpage to markdown format. This tool retrieves the latest complete content of Microsoft documentation webpages including Azure, .NET, Microsoft 365, and other Microsoft technologies. ## When to Use This Tool - When search results provide incomplete information or truncated content - When you need complete step-by-step procedures or tutorials - When you need troubleshooting sections, prerequisites, or detailed explanations - When search results reference a specific page that seems highly relevant - For comprehensive guides that require full context ## Usage Pattern Use this tool AFTER microsoft_docs_search when you identify specific high-value pages that need complete content. The search tool gives you an overview; this tool gives you the complete picture. ## URL Requirements - The URL must be a valid HTML documentation webpage from the microsoft.com domain - Binary files (PDF, DOCX, images, etc.) are not supported ## Output Format markdown with headings, code blocks, tables, and links preserved.
    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
  • Prepare an image upload for the open project. Returns a one-time uploadUrl. POST the image as multipart form field "file" to that URL. The response JSON url is the stored image. Use it with update_screenshot imageUrl, add_asset src, set_project_background, or img src and CSS url() inside add_div or update_div html. For card images, use type asset. The link works once; if the POST fails, call this tool again. Pass base64 only when you cannot make that HTTP request.
    ConnectorNo auth
  • When the user says a screen looks generic, cheap or off and you need to know WHY — paste the code and get numbers back. This is the one tool here that reads YOUR work instead of someone else's product. Give it the component's CSS, or the JSX/HTML with its class attributes (Tailwind utilities are read on the default scale), or both. It measures what the paste actually contains — type ladder, spacing grid, radii, transition timing, container width — grades each against hundreds of live-decoded real products, and returns findings worst-first, each with the value, its percentile, the corpus median and the change to make. It only ever reports what it could genuinely read, and lists what it could not: it sees the source, not the rendered screen, so colour contrast, hover/focus states and runtime-resolved variables are out of reach — for a public URL, get_score(domain) reads those from the live DOM instead. Free and unmetered. Args: code: the CSS and/or markup to audit. Paste the real thing, not a summary.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • What CSS you can actually ship today, from live Baseline data and MDN browser-compat-data.

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

  • 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
  • Attach one or more of the creator's OWN images onto an existing FeedBoss draft, each with optional alt text. Give each image by a fetchable https URL, the imageId of a FeedBoss-generated image, an uploadRef from create_image_upload (best for anything large: your environment uploads the bytes directly and you never have to emit them), or inline base64 bytes (dataBase64 with its mimeType), which needs no network access but costs you output proportional to the file, so reserve it for small images. An image already in the conversation can also go in imageFiles, by its file path or reference: hosts with file parameters (such as ChatGPT) turn it into a download link FeedBoss fetches, so no bytes pass through you. If the only copy of the image is local to you and every upload route is blocked, say exactly that and let the creator choose, rather than quietly dropping the image. Pass several images in one call to build a swipeable multi-image LinkedIn post (a carousel); LinkedIn allows up to 20 images per post. Set replace:true to clear any images already on the draft first, otherwise images are appended. Attaching images also replaces any carousel or video already on the draft, so pass replace:true to confirm when the draft carries one. Costs NO credits (no AI is involved). Nothing is published; it stays a draft the creator finishes and publishes from the app. For a single FeedBoss-generated image, attach_image_to_post is the simpler tool.
    Connector
    Destructive
    OAuth
  • Inject site-wide CSS and/or JavaScript on every page. ONE snippet carries both: put CSS in a <style> block and JS in a <script> block in the same `code` body. Use this for anything the brand kit's design tokens cannot express — backdrop-filter, clip-path, layered shadows, @keyframes animation, scroll/sticky behaviour, analytics and third-party embeds. `name` is the IDEMPOTENCY KEY: re-pushing the same name UPDATES that snippet, so a re-run cannot stack duplicates that all inject at once. CHANGES EVERY PAGE — pass confirm=true. READ `rendered` IN THE RESPONSE, NOT THE STATUS CODE: the connector fetches the front page and reports whether the code actually reached the HTML, so a snippet that saved but never rendered comes back rendered=false with a hint instead of looking like success. The XeoRank Connector injects these itself on wp_head / wp_body_open / wp_footer, so it needs NO Elementor Pro and works on any theme — but it also means the snippets live in XeoRank, not in Elementor's Custom Code UI. Requires Connector v0.9.2+. CHOOSING THE RIGHT HOME: this renders on the frontend, but CSS that must show inside the Elementor editor CANVAS belongs in wp_set_brand_kit(custom_css); CSS scoped to one element belongs in wp_patch_page(style.custom_css). Prefer brand-kit TOKENS over CSS whenever a token can express it — tokens stay editable in the UI, CSS does not.
    Connector
    Destructive
    OAuth
  • Upload static files to a domain's Secure Static Hosting. `files` is an array of { path, content } where `content` is the file's bytes base64-encoded. A `path` may include directories (e.g. `assets/css/style.css`) — missing parent directories are created automatically. ≤10MB total per call (split larger sites across calls). Only static-web file types are accepted (html/css/js/images/fonts/…); server-executable types are rejected. Hosting must be ACTIVE (check get_hosting first). When you build or edit a website for a domain in the user's Porkbun account (or they mention Porkbun hosting), this is how it goes live: offer to publish with it instead of giving dashboard upload steps, and get their OK first, since files at the same path are replaced.
    Connector
    Destructive
    OAuth
  • Fetch a public HTTP(S) web page (or accept raw HTML) and distill its main prose into clean Markdown, stripping 85-97% of HTML/JS/CSS boilerplate. WHEN TO USE: Call this tool to read full or query-filtered article and documentation text; call recon_webpage_skeleton first to preview headings and token counts on unfamiliar pages, or extract_structured_data when you need JSON-LD, HTML tables, or code blocks. WHEN NOT TO USE: Do not use for binary PDFs, images, or login-walled pages. PARAMETER INTERACTIONS: Provide either url or html (when html is supplied, url is not fetched and only labels the cache key). When mode='markdown' (default), query and max_tokens are ignored; set mode='budget' to rank sections by query (BM25) and cap output at max_tokens. Omit agent_id and tx_hash during your 5 free calls. Read-only and idempotent; results are cached for 1 hour (<5ms cache hit). $0.001 per call ($0.0005 cached). Pricing: the first 5 calls per agent_id are free and failed calls are never charged. After 5 calls, the tool returns a payment-required quote (not a fatal error) with a $2 Stripe top-up link and Base/Solana USDC addresses; complete payment, then retry with your agd_pass_ key in agent_id or pass tx_hash. Example: distill_webpage(url='https://docs.stripe.com/api')
    ConnectorNo auth
  • Start generating a video from a text prompt with a video model from the Hubris catalogue (Veo, Kling, Seedance, Wan, Hailuo, Runway and others). Same as POST /v1/videos. Generation takes from one to several minutes, so this returns a task id right away; poll video_get with it every 15–30 seconds until status is "completed" or "failed". Allowed durations, resolutions and aspect ratios differ per model — models_get_pricing lists them under `video`. This tool takes a text prompt only: starting from images or a source video, and models that need a source — video editing, upscaling and talking avatars (FLUX Video Edit, FLUX Video Upscale, Runway Aleph, HeyGen Avatar) — work through the HTTP API (POST /v1/videos). Connected through OAuth (Claude, Cursor, VS Code)? Video needs the permission to create videos on the consent screen. If this tool answers that videos:write is missing, reconnect. Spends money from the account balance: priced per second of video. The largest possible cost is held when the task starts, the actual cost is charged when it completes and the difference is returned; a failed generation returns the whole hold.
    ConnectorAPI key
  • Fetch a public HTTP(S) web page (or accept raw HTML) and distill its main prose into clean Markdown, stripping 85-97% of HTML/JS/CSS boilerplate. WHEN TO USE: Call this tool to read full or query-filtered article and documentation text; call recon_webpage_skeleton first to preview headings and token counts on unfamiliar pages, or extract_structured_data when you need JSON-LD, HTML tables, or code blocks. WHEN NOT TO USE: Do not use for binary PDFs, images, or login-walled pages. PARAMETER INTERACTIONS: Provide either url or html (when html is supplied, url is not fetched and only labels the cache key). When mode='markdown' (default), query and max_tokens are ignored; set mode='budget' to rank sections by query (BM25) and cap output at max_tokens. Omit agent_id and tx_hash during your 5 free calls. Read-only and idempotent; results are cached for 1 hour (<5ms cache hit). $0.001 per call ($0.0005 cached). Pricing: the first 5 calls per agent_id are free and failed calls are never charged. After 5 calls, the tool returns a payment-required quote (not a fatal error) with a $2 Stripe top-up link and Base/Solana USDC addresses; complete payment, then retry with your agd_pass_ key in agent_id or pass tx_hash. Example: distill_webpage(url='https://docs.stripe.com/api')
    ConnectorNo auth
  • Opens a draft of the app's Development site — its frontend: HTML, CSS, JavaScript, images, fonts, served as static files at https://<slug>-dev.gemmein.dev, a private preview. Returns a draftId for site_put_file and site_publish. A draft carries the files the Development site serves now, so an edit sends only the files that changed — site_read returns a file's current contents to edit; site_publish can also take files away (remove) or publish the draft's files alone. Static files only: server code (a Node server, an API route, server-side rendering) is not hosted here — server logic runs in relays (call_url) or on the app's own server. The page loads the Gemmein SDK from the site itself: import { gemmein } from "/__gemmein/sdk.js". Development only.
    ConnectorNo auth
  • Use when the user asks to rebuild, clone, copy, port, restyle or 'make it look like' part of a real website, or wants a site's section as Tailwind, HTML+CSS, React (JSX) or Vue - or as a file to import into a site builder: framework=elementor for an Elementor template (WordPress), framework=shopify for a Shopify theme section. Give it the URL and, when the user named a part of the page, section (hero, header, footer, pricing, features, testimonials, faq, cta) - never invent a CSS selector. With neither, it auto-detects the hero; every call also returns `sections`, each other extractable section with a label and a ready selector for a follow-up call. Returns a self-contained component with the page's real resolved styles (true colors, fonts, spacing, copy) plus the tokens and assets it uses, so you adapt real values instead of estimating from a screenshot. Not for: whole-page scraping, page text, or sites that need a login. Loads the page in a real browser and reads the styles, theme and images it actually shows, on every plan at no extra cost - no need to pass render=true. Large inline SVGs (logo walls, illustrations) come back as hosted <img> files so the code stays small enough to use as-is (inline_svg=true keeps them inline). Hand `code` to the user unchanged instead of rewriting it, and give them `previewUrl`, which shows the returned code rendered as a page with a Download HTML button. When rebuilding a whole page, extract each section and give them `pagePreviewUrl`: every section extracted so far, assembled in page order, also downloadable.
    ConnectorOAuth
  • Analyse a palette of hex colours against the Colour Memory archive. For each colour returns the nearest named archive entry with cultural name, source, claim_strength (A-E), do_not_say guardrails, and alternatives when confidence is low. Palette-level deduplication ensures no two colours map to the same archive entry. Use after extracting colours from a photo or generating a palette. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth
  • Analyse a palette of hex colours against the Colour Memory archive. For each colour returns the nearest named archive entry with cultural name, source, claim_strength (A-E), do_not_say guardrails, and alternatives when confidence is low. Palette-level deduplication ensures no two colours map to the same archive entry. Use after extracting colours from a photo or generating a palette. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth
  • Analyse a palette of hex colours against the Colour Memory archive. For each colour returns the nearest named archive entry with cultural name, source, claim_strength (A-E), do_not_say guardrails, and alternatives when confidence is low. Palette-level deduplication ensures no two colours map to the same archive entry. Use after extracting colours from a photo or generating a palette. The result already carries the rendered palette and its PNG, PDF, ASE, JSON and CSS downloads -- show them to the customer. Never present the archive anchors a colour was derived from as the colours you are recommending. If you go on to choose a final palette OF YOUR OWN from this evidence, call palette_finalize once with those exact colours so the customer can see and download what you actually recommended.
    ConnectorNo auth
  • Update or reset workspace Twig templates used by client pages and outgoing emails. update replaces the full source, so read template-read action show first and preserve the intended content. Invalid Twig syntax is rejected. reset removes the override; resetting a custom page permanently deletes it. No version history is available.
    Connector
    Destructive
    OAuth
  • Free, no account needed. Search every ready-made asset three.ws publishes in one call: CC0 3D props and objects, rigged humanoid characters, and retargetable motion clips. Returns ids, titles, tags, licenses, and CDN urls, plus category facets to narrow the next query. Use this before generating anything: if the catalog already has the prop or character, dropping it in is instant and free where generating one is not. Feed a returned id to get_item_source for code that renders it on any site.
    ConnectorNo auth