Back to tracker
Plugin tracker
Tools
Explore what tracked Claude Connectors and ChatGPT Plugins can actually do. Search by tool, Plugin, Brand, category, verb, or access requirement.
Latest snapshot2026-09-12USmethodology registry-public-v1
Searchable tools
113,018
Authless tools
7,424
Auth required
100,766
Described tools
61,167
113,018 tools
- show_signalshow · Show one procurement signal cluster and its source records.GovlyGovly
PluginrequiredSales & CRM - show_workspaceshow · Show a workspace visible to the authenticated user, including recent comments, attachments, and custom field values.GovlyGovly
PluginrequiredSales & CRM - sidekiq_find_jobsidekiq · Read-only: is a job class present anywhere in Sidekiq in prod? Govly sys-admin only. Defaults scan everywhere a straggler can hide: work (executing), queues (enqueued), retry, scheduled, dead. Returns a per-set three-state result: found (with a sample), absent (set fully swept with every entry decoded — trustworthy), or inconclusive (budget exhausted, unreadable entries, OR a live surface: queues and work can prove presence but never absence — the work snapshot refreshes on a ~10s heartbeat). Treat any inconclusive as NOT drained; for a drain check, run twice at least 15s apart. Use for pre-deploy drain checks when deleting/renaming a job class. Samples carry jid/queue/class/error_class/retry_count but NOT job args or error messages (they can contain credentials and customer PII) — look a jid up in Sidekiq Web if you need the payload. Returns JSON.GovlyGovly
PluginrequiredSales & CRM - sidekiq_metricssidekiq · Read-only Sidekiq per-job-class execution metrics for prod. Govly sys-admin only. Omit job_class for the top jobs by throughput; pass job_class for one class. Returns JSON with processed, failed, failure_rate, and avg_ms over a recent window (max 8h). This is Sidekiq's own Redis-side counters — exact, but short-windowed; for longer history use AppSignal's background-job performance data.GovlyGovly
PluginrequiredSales & CRM - sidekiq_overviewsidekiq · Read-only Sidekiq/Redis dashboard summary for prod. Govly sys-admin only. Returns JSON with per-queue depth + latency, retry/scheduled/dead sizes, cumulative processed/failed counters, process/busy counts, per-process-group queue coverage (which worker lane consumes which queues, with thread counts — plus unserved_queues nothing live is subscribed to; queues are consumed in strict list order, so a busy lane starves its tail queues), and a capped snapshot of jobs running right now. This is the LIVE point-in-time truth; for history and trends use AppSignal's sidekiq_queue_latency / sidekiq_queue_length metrics instead of polling this tool. Use sidekiq_set_profile to see what a backlog is made of. No arguments.GovlyGovly
PluginrequiredSales & CRM - sidekiq_set_profilesidekiq · Read-only: what is a Sidekiq backlog MADE OF in prod? Govly sys-admin only. Groups a bounded sample of a set or queue by job class — the discovery complement to sidekiq_find_job (which confirms a class you already suspect). retry/scheduled/dead: random sample with per-class counts and earliest/latest score times (fire time for retry/scheduled, death time for dead). queue: newest+oldest pages of the LIST — newest reveals active inflow, oldest what has been stuck longest. work: full snapshot of executing jobs grouped by class. Shares are estimates unless exact:true (the whole set fit in the sample). Returns class names, counts, and timestamps only — never job args. Returns JSON.GovlyGovly
PluginrequiredSales & CRM - update_award_saved_searchupdate · Update an award saved search. Only provided fields change; omitted fields keep their current values. Set active=false to deactivate. Authorization matches the web UI (any saved search the caller can see per their organization's visibility settings).GovlyGovly
PluginrequiredSales & CRM - update_opportunity_saved_searchupdate · Update an opportunity saved search. Only provided fields change; omitted fields keep their current values. Set active=false to deactivate. Buyer filtering takes government-entity IDs directly. Authorization matches the web UI (any saved search the caller can see per their organization's visibility settings).GovlyGovly
PluginrequiredSales & CRM - update_workspaceupdate · Update a workspace visible to the authenticated user. The response includes the workspace's custom field values.GovlyGovly
PluginrequiredSales & CRM - Buscar veículos do catálogosearch · Busca veículos zero km do catálogo público da Mooxy por marca ou modelo, retornando preço oficial e categoria.MooxyMooxy
PluginnoneFinance - Comparar cenários de consórciocompare · Compara de 2 a 3 cenários de consórcio (crédito, prazo e parcela desejada) usando as cotas reais disponíveis, retornando parcela, custo total, aderência e economia vs. financiamento em cada cenário.MooxyMooxy
PluginnoneFinance - Diagnóstico por orçamento mensaldiagnose · A partir do valor que a pessoa pode pagar por mês, calcula o crédito ideal, a faixa de aquisição recomendada, o custo estimado de posse e o planejamento de contemplação. Não coleta dados pessoais e não registra nada.MooxyMooxy
PluginnoneFinance - Listar planos e operadoras ativaslist · Lista as operadoras ativas da Mooxy e as faixas de crédito e prazo dos planos de consórcio disponíveis.MooxyMooxy
PluginnoneFinance - Recomendar estratégia de consórciorecommend · Motor determinístico da Mooxy: a partir da faixa de renda, valor do veículo, urgência, uso, reserva e capacidade de lance, recomenda estratégia de prazo, abordagem de lance, custo de posse e próximos passos. Não usa IA e não registra dados.MooxyMooxy
PluginnoneFinance - Simular consórcio com cotas reaissimulate · Simula um consórcio com as cotas reais disponíveis hoje na Mooxy: retorna a cota mais aderente, parcela, prazo, custo total e a economia estimada em relação ao financiamento. Não expõe operadora, grupo ou número da cota.MooxyMooxy
PluginnoneFinance - Get property detailsget · Get full details for one Metaprona listing by its numeric id (as returned by search_properties): description, features, floor, year built, baths, market context and the listing URL. Shqip: merr detajet e plota të një njoftimi prone në Metaprona.MetapronaMetaprona
PluginnoneOperations - Market prices by citymarket · Current average real-estate asking prices on Metaprona, per city: average €/m² for sale listings and average monthly rent (EUR), with listing counts. Use for questions like 'how much does an apartment cost in Tirana?' or comparing Albanian cities. Shqip: 'sa kushton një apartament në Tiranë?', 'çmimet e pronave për m²', 'sa është qiraja mesatare në Prishtinë?'.MetapronaMetaprona
PluginnoneOperations - Search propertiessearch · Search live real-estate listings for sale or rent across Albania and Kosovo on Metaprona, the Albanian property marketplace. Filter by city, deal (sale/rent), property type, rooms, price range (EUR) and minimum area (m²). Returns matching listings with price, location and a link to the full listing on metaprona.com. Works in Albanian too — use this tool for Albanian-language property questions, e.g. 'apartamente me qera në Tiranë', 'shtëpi në shitje në Vlorë', 'banesa në Prishtinë', 'kërkoj apartament 2+1 në Durrës'. Major cities: Tiranë (Tirana), Durrës, Vlorë, Sarandë, Shkodër, Elbasan, Korçë, Fier, Himarë, Pogradec, Berat, Gjirokastër; Kosovo: Prishtinë (Pristina), Prizren, Pejë, Gjakovë, Ferizaj, Mitrovicë, Gjilan. English and Albanian spellings are accepted.MetapronaMetaprona
PluginnoneOperations - add_folio_transaction_to_reservationadd · Add a folio transaction (charge/payment/refund/adjustment) to a reservation. If folioId is omitted, the open room (guest) folio of the reservation is used. Use get_departments to discover departmentId.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - add_note_to_reservationadd · Append a note/message to a reservation. The note appears in the reservation message thread and is synced to reservation.notes.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - add_reminder_to_reservationadd · Create a reminder, optionally attached to a reservation, that will surface to staff on its remindDate.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - create_reservationcreate · Create a new (tentative) reservation for a hotel. One reservation can contain one or many room blocks. IMPORTANT: This is a WRITE action. Before calling, you MUST summarise all details (dates, rooms, guests, nights, per-room and total price) to the user and get an explicit confirmation. Only then call with confirm=true. Without confirm=true the reservation is NOT created. SINGLE ROOM: use the top-level roomId/roomTypeId/roomNumber/autoPick/adult/children/nightlyPrice fields. MULTIPLE ROOMS: send the rooms[] array with one entry per room block; each entry carries its own room, occupancy, nightlyPrice and optionally its own arrivalDate/departureDate and room-leader guest name. When rooms[] is given the top-level room fields are ignored (top-level nightlyPrice and guest name are only used as fallbacks for entries that omit them). Room selection per block: provide roomId (+roomTypeId) from get_availability, OR roomNumber (the backend resolves it), OR set autoPick=true to let the backend pick any available room (optionally constrained by roomTypeId). nightlyPrice is the per-night, tax-inclusive amount; a block's total is its nightlyPrice * its nights. Use list_agencies to pick an agencyId when relevant.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_availabilityget · Get per-day room availability for a hotel between two dates (inclusive). Max range 31 days.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_departmentsget · List departments of a hotel (used to pick a departmentId when adding folio transactions / charges).ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_hotelget · Get details for a single hotel by propertyUuid.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_new_reservationsget · List the most recently created reservations for a hotel (default: last 3 days, max 20). Useful to surface fresh leads to contact.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_occupancy_summaryget · Get an occupancy summary (overall rate + per-day breakdown) for a hotel between two dates (inclusive). Max range 31 days.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_reservation_detailget · Get full detail of a single reservation including guest contact info (phone, email, address) and room blocks. Use this to retrieve guest phone number for WhatsApp or other communication.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_today_checkinsget · Get reservations checking in on a given date (defaults to today) for a hotel.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - get_today_checkoutsget · Get reservations checking out on a given date (defaults to today) for a hotel.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - list_agencieslist · List active agencies (channels) of a hotel. Use this to discover a valid agencyId before calling create_reservation when the guest booked via a specific channel/agency. If omitted, create_reservation uses the default walk-in agency.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - list_hotelslist · List hotels the authenticated user has access to.ButiksoftButiksoft
PluginrequiredTravel & Hospitality - search_reservationssearch · Search reservations of a hotel by guest name, status, and/or arrival date range. (use get_new_reservations for a quick way to find recent reservations)ButiksoftButiksoft
PluginrequiredTravel & Hospitality - Accountbloom · Show which Bloom account this session is connected to.
Returns the email and name of the authenticated user behind the session's API key or login. Use it to confirm whose account is active.
Args: (none)
Returns:
{ "email": string, "name": string | null }BloomBloom
PluginrequiredContent & Design - Apply Brand Editbloom · Apply the exact immutable candidate returned by bloom_edit_brand.
Call this only after the user or client policy accepts the candidate change_set.
The operation is idempotent after success. If the Brand changed while the
candidate waited, the edit becomes stale and is not silently rebased; create a
new candidate from the latest active Brand instead.BloomBloom
PluginrequiredContent & Design - Check Creditsbloom · Check the remaining credit balance for a workspace.
Credits are the unit for all image operations in Bloom. Each generation, edit, or resize consumes credits:
- Standard resolution (2K): 1 credit per image
- High resolution (4K): 2 credits per image
Variants (multiple images from one prompt) cost per image (e.g. 3 variants at 2K = 3 credits).
Args:
- workspace_id (string, required): Workspace ID from bloom_list_workspaces. If the intended workspace is unknown, call bloom_list_workspaces first rather than choosing one.
Returns:
{ "workspace_id": string, "workspace_name": string, "balance": number, "unlimited": boolean, "subscription_paused"?: true }
subscription_paused is present (true) when the workspace's plan is past_due —
the last payment failed, so plan credits are on hold until payment is
completed. Credits remain spendable.BloomBloom
PluginrequiredContent & Design - Create Image Upload URLbloom · Upload one or more local image files for use as a reference or edit subject in bloom_generate_image / bloom_edit_image.
Use this for reference images, edit subjects, AI-generated outputs the user
wants to keep, screenshots, mood-board inputs, and other images being added to
a Brand Library.
Does NOT change the brand's logo. For a Brand with an active Brand Skill,
use this tool to add the intended logo to the Brand Library, then pass the
returned image ID to bloom_update_brand_profile. For a Visual DNA Brand, logo
replacement is a separate operation through bloom_create_logo_upload_url. If
the Brand system is unclear, inspect it before choosing a logo workflow.
Two surfaces exist for getting local file bytes into a brand session;
pick by what the client can do:
- bloom_open_upload_ui renders a multi-file picker inline. Use it when
the client is an MCP App-capable host.
- bloom_create_image_upload_url (this tool) returns one or more signed
URLs the client POSTs bytes to itself. Use it when the client has
filesystem + HTTP access but cannot render UI.
bloom_upload_image is for publicly hosted URLs.
Mints short-lived signed URLs that accept raw image bytes with no
Authorization header — the token in the URL is the credential. Tokens
are single-use and expire in 10 minutes.
Args:
- brand_session_id (string): Brand session UUID (from bloom_list_brands)
- count (number, optional): How many URLs to mint (1-10, default 1)
Returns:
{ "upload_urls": string[], "expires_at": string }
Workflow:
1. Call this tool with brand_session_id and the number of files to upload (1-10).
2. For each returned upload_url, POST the file bytes:
curl -X POST "$upload_url" -F "file=@./photo.png;type=image/png"
The token in the URL is the credential — do not send Authorization.
3. Each URL is single-use (one upload attempt — a failed attempt also
burns the token) and expires in 10 minutes.
4. The HTTP response body is: { "data": { "id": string, "imageUrl": string, "width": number, "height": number, "mimeType": string, "existing": boolean } }
5. Use the returned "id" as a reference_image_ids entry in bloom_generate_image / bloom_edit_image, or as image_id in bloom_edit_image.
Supported formats: PNG, JPEG, WebP, AVIF
Max file size: 10MB per uploadBloomBloom
PluginrequiredContent & Design - Create Logo Upload URLbloom · Replace a brand's primary logo file. The new logo is validated and triggers a fresh visual DNA extraction (the brand re-enters "analyzing" status).
Use this when the user explicitly indicates the image is meant to be
the brand's logo. Trigger phrases:
- "use this as the logo"
- "set/update/replace the logo for brand X"
- "this is the brand's logo"
- "logo for brand X"
A bare "upload this image to brand X" is not a trigger for this tool —
that's a reference-image upload, use bloom_create_image_upload_url. If
the user's intent is ambiguous (e.g. they say "image" or "this" without
saying "logo"), ask them whether the image is meant to be the brand's
logo before calling either tool — don't guess.
Mints a short-lived signed URL that accepts raw logo bytes with no
Authorization header. Use this when you need to upload a local logo
file (PNG, SVG, etc.) but cannot access a Bloom API key directly
(common when the key lives in an MCP client's config rather than your
shell environment) — bloom_update_brand_logo with logo_url requires
a publicly hosted URL.
Two surfaces exist for getting local logo bytes onto a brand; pick by
what the client can do:
- bloom_open_logo_upload_ui renders a file picker inline. Use it
when the client is an MCP App-capable host.
- bloom_create_logo_upload_url (this tool) returns a signed URL the
client PUTs bytes to itself. Use it when the client has
filesystem + HTTP access but cannot render UI.
Args:
- brand_session_id (string): Brand session UUID (from bloom_list_brands or bloom_onboard_brand)
Returns:
{ "upload_url": string, "expires_at": string }
Workflow:
1. Call this tool with the brand_session_id whose logo you want to replace.
2. PUT the file bytes to the returned upload_url:
curl -X PUT "$upload_url" -F "file=@./logo.png;type=image/png"
The token in the URL is the credential — do not send Authorization.
3. The URL is single-use (one upload attempt — a failed attempt also
burns the token) and expires in 10 minutes.
4. The HTTP response body is: { "data": { "id": string, "status": "analyzing" } }
5. Call bloom_get_brand with wait=true to wait for the brand to reach "ready".
Supported formats: PNG, JPEG, WEBP, SVG, AVIF
Max file size: 10MBBloomBloom
PluginrequiredContent & Design - Delete Brandbloom · Delete a brand from the caller's account.
Only call this when the user has explicitly asked to delete the brand.
Don't infer it from a vague cleanup request — confirm which brand they
mean first (use bloom_list_brands to disambiguate by name).
Args:
- id (string): Brand session UUID (from bloom_list_brands)
Returns:
{
"id": string,
"name": string,
"workspace_id": string | null,
"workspace_name": string
}BloomBloom
PluginrequiredContent & Design - Delete Imagesbloom · Delete one or more images from the user's library.
The images are removed from the user's library and stop appearing in
list/search/get results. Re-deleting an already-deleted image is a no-op.
Only call this when the user has explicitly asked to delete specific images. For
bulk cleanup ("remove the old ones"), first list the candidates with
bloom_list_images and confirm the exact set with the user, then call this with
those ids.
deleted_count may be lower than the number of ids passed — ids that aren't the
user's, or were already deleted, are skipped rather than erroring.
Args:
- image_ids (string[]): IDs of images to delete (1-50). From bloom_list_images,
bloom_generate_image, or bloom_get_image.
Returns:
{ "deleted_count": number }BloomBloom
PluginrequiredContent & Design - Discard Brand Editbloom · Discard a waiting Brand edit without changing the active Brand.
The immutable change set remains available as a receipt. To refine the edit,
discard this candidate and call bloom_edit_brand again with the revised
instruction; candidates are never modified in place.BloomBloom
PluginrequiredContent & Design - Edit Brandbloom · Prepare a semantic Brand edit for review.
Bloom's Brand Agent loads and inspects the complete active Brand Skill, reasons
about the Markdown guidance and supplied evidence, edits the Skill, and
snapshots one exact immutable candidate. This is a semantic Agent operation.
Supply an instruction, Brand evidence, or both. Evidence supports one website,
one Instagram account, and general files up to 25MB. Generalized file processing
uses one temporary network-denied Sandbox and runs cleanup before the tool returns.
When sources are present, instruction is optional.
Authorized attachment ids let the Agent inspect and use images already in this
Brand's library. To use a local image, upload it first with
bloom_open_upload_ui or bloom_create_image_upload_url, then pass the resulting
id in attachment_ids.
Args:
- brand_session_id (string): Brand session UUID from bloom_list_brands
- instruction (string, optional): Natural-language Brand edit (1-4000 characters)
- attachment_ids (string[], optional): Image ids in this Brand workspace (max 10)
- sources (object[], optional): Website, Instagram, or general file evidence (max 30)
Returns the edit handle, deterministic change set, candidate identity, and a
short summary. Review the returned change_set, then call bloom_apply_brand_edit
to activate that exact candidate or bloom_discard_brand_edit to reject it. To
refine a rejected result, discard it and call this tool again with the revised
instruction.BloomBloom
PluginrequiredContent & Design - Edit Imagebloom · Edit a previously generated or uploaded image using Bloom AI.
Submits an edit request and returns immediately with a new image ID.
The edit typically takes 60-90 seconds.
For one result, call bloom_get_image with image_id and wait: true.
For several results, call bloom_list_images with image_ids and wait: true.
The aspect ratio is locked to the original image's ratio.
Args:
- image_id (string): ID of a completed generated image or an uploaded image to edit
- prompt (string): What to change (1-2000 chars)
- brand_session_id (string): Brand session UUID (from bloom_list_brands)
- image_size (string, optional): "2K" (default, 1 credit) or "4K" (2 credits)
- model (string, optional): "fast" (cheaper/faster), "standard" (mid tier), or "pro" (default, highest quality)
- reference_image_ids (string[], optional): IDs of uploaded/generated images for additional context (max 9). To get an ID for a new image, use bloom_upload_image.
Returns:
{ "image_id": string, "status": "pending", "operation": "edit", "message_for_assistant": string }
Workflow:
1. Generate an image with bloom_generate_image, or upload one with bloom_upload_image
2. Call this tool with the image's ID and a prompt describing the change
3. Collect results using the waiting and batch guidance above.
4. When status is "completed", the edited image_url will be available
Prompt guidance:
- Describe the change directly: "make the background blue", "remove the text",
"add a person on the left side"
- Bloom preserves everything not mentioned — only describe what should change
- For creating new images (not editing), use bloom_generate_image insteadBloomBloom
PluginrequiredContent & Design - Find Reference Adsbloom · Semantic search over Bloom's curated library of real, high-performing brand ads. A good fit when the user wants an ad and looking at some concrete examples would help. Let the user pick the one(s) they want — or pick yourself if they've given you autonomy — then recreate the chosen one(s) with bloom_generate_image.
Decide what kind of ad fits the user's goal — the angle, layout, hook — and search for that concept. Plain noun phrases describing what the ad looks like work best: "minimalist product on solid color," "before/after split," "bold type over lifestyle photo." Omit the query entirely to get ads that fit the brand's overall style instead — useful when the user has no specific concept yet. By default the search spans all industries; pass `verticals: "brand"` to scope to the brand's own industry, or a list of industries to target those. (The brand's styling is applied later at recreation, so a query search doesn't need to match the brand's look.)
Return a small, relevant shortlist (not the whole catalog) and let the user pick the one(s) that fit — then recreate each. If they want something different, refine the concept and search again rather than asking for more results.
Args:
- brand_session_id (string, optional): Brand session UUID (from bloom_list_brands). Required only when query is omitted or verticals is "brand"; a plain query search is global and needs no brand.
- query (string, optional): The ad concept to search for (a visual/format phrase). Omit to get ads that fit the brand's overall style instead.
- verticals (string[] | "brand", optional): Industries to search. Omit to search all industries; pass "brand" to scope to the brand's own industry; or pass specific industry names to target those.
- top_k (number, optional): Max ads to return (1-24, default 12)
- cursor (string, optional): To show the user MORE of the same results, pass the next_cursor from the previous call along with the SAME query and verticals. For different results, change the query instead.
- mode ("display" | "select", optional): Default "select" — the user picks. "display" is reserved for a future phase where the agent picks.
Returns:
{
"mode": "display" | "select",
"query": string,
"ads": [
{ "id": string, "image_url": string, "brand_name": string, "description": string }
],
"next_cursor": string | null,
"has_more": boolean
}
Each ad carries a description which you can use to tell the ads apart and help choose ads yourself (when operating with autonomy) or help the user choose.
Empty array means nothing relevant was found — try a different concept or vertical. When has_more is true and the user wants more like these, call again with next_cursor (same query and verticals). To recreate a chosen ad, call bloom_generate_image with recreate_ad_id set to that ad's id (one call per ad when several are picked).BloomBloom
PluginrequiredContent & Design - Generate On-Brand Imagebloom · Generate on-brand images using Bloom AI.
Submits a generation request and returns immediately with image ID(s).
Each image typically takes 60-90 seconds to generate.
Start independent generation calls in parallel when producing several images.
For one result, call bloom_get_image with image_id and wait: true.
For several results, call bloom_list_images with image_ids and wait: true.
Args:
- prompt (string): Description of the image to generate (1-2000 chars). Optional only when recreate_ad_id is set.
- brand_session_id (string): Brand session UUID (get from bloom_list_brands)
- aspect_ratio (string, optional): One of "1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"
- image_size (string, optional): "2K" (default, 1 credit) or "4K" (2 credits)
- model (string, optional): "fast" (cheaper/faster), "standard" (mid tier), or "pro" (default, highest quality)
- variant_count (number, optional): Generate 1-5 variants from the same prompt (default 1). Each variant costs the same credits.
- reference_image_ids (string[], optional): IDs of uploaded/generated images to use as style/content references (max 10). To get an ID for a new image, use bloom_upload_image. You may use bloom_search_user_images tool to recommend users relevant reference images for their generation.
- recreate_ad_id (string, optional): ID of a reference ad (from bloom_find_reference_ads) to recreate for this brand. See "Recreating an ad" below.
Returns:
{ "image_ids": [string, ...], "variant_group_id": string | null, "status": "pending", "operation": "generation", "message_for_assistant": string }
Workflow:
1. Call bloom_list_brands to get available brand session IDs
2. Consider calling bloom_search_user_images with which you will get existing images from the brand's library, which when passed as references, measurably improve the image outputs. Skip this step if the user has added reference images for this generation and adding more would not help.
3. (Optional) Upload reference images with bloom_upload_image
4. Call this tool with a prompt and brand_session_id (+ optional reference_image_ids)
5. Collect one result with bloom_get_image and wait: true. Collect several with bloom_list_images, image_ids, and wait: true.
6. When status is "completed", the image_url will be available
Variant workflow:
1. Call this tool with variant_count (2-5) to generate multiple variations
2. Each variant uses the same prompt but produces a different result
3. All variants share a variant_group_id for grouping
4. Call bloom_list_images with all returned image_ids and wait: true.
5. Credits: variant_count × per-image cost (e.g., 3 variants of 2K = 3 credits)
Reference image guidance:
Reference images help ground image outputs in the brand's world. For a single image, passing all the chosen references is usually fine. For multiple distinct images in one brief (different concepts, settings, or subjects), each generation has its own focus — pass only the references that belong to that specific image.
Always mention clearly in the prompt how you want each reference image to be used, so the image generation model uses them correctly. Refer to references by content (e.g. "the image with the cat"), not by positional labels like "image 1" or "the first image" — input ordering isn't a stable contract.
Prompt guidance:
- Bloom automatically applies brand styling, visual tone, and professional
polish from the brand identity. Your prompt should describe WHAT to create
(subject, composition, medium/format), not HOW it should look aesthetically.
- Do NOT include style/quality filler like "professional", "high-quality",
"stunning", "sleek", "premium", "clean" — Bloom handles this automatically.
- Specify the medium if it matters: photograph, illustration, 3D render, mockup, poster, etc.
- Good: "Product shot of a coffee bag on a marble countertop, soft morning light"
- Good: "Grid of 4 phone screens showing different short-form video content"
- Bad: "A stunning, professional, high-quality, sleek modern image of coffee"
Recreating an ad:
Pass recreate_ad_id (from bloom_find_reference_ads) to adapt that ad's layout and composition to the user's brand. prompt is optional here — use it only for extra instructions ("swap in our product", "make it warmer"). Aspect ratio is inherited from the ad, so aspect_ratio is ignored. Any reference_image_ids are added as extra references alongside the ad.
To edit an existing image, use bloom_edit_image instead.BloomBloom
PluginrequiredContent & Design - Get Brand Detailsbloom · Get the status and details of a brand.
Looks up the brand across every workspace the caller can access.
Call after bloom_onboard_brand to check if onboarding is complete.
Brand analysis typically takes 30-60 seconds.
Recommended: use wait=true to let the server hold the connection until
the brand is ready, instead of polling in a loop.
Args:
- id (string): The brand ID returned by bloom_onboard_brand
- wait (boolean, optional): Hold connection until terminal status. Recommended: true.
- timeout (number, optional): Max seconds to wait (1-295, default 120)
Returns:
{
"id": string,
"brand_url": string,
"status": "analyzing" | "ready" | "logo_required" | "failed",
"failure": { "code": string, "message": string } | null,
"name": string,
"url": string | null,
"logo_url": string | null,
"logo_error": string | null,
"colors": string[],
"fonts": string[],
"aesthetic": string | null,
"summary": string | null,
"workspace_id": string | null,
"workspace_name": string,
"created_at": string
}BloomBloom
PluginrequiredContent & Design - Get Brand Editbloom · Get one Brand edit candidate and its current review status.
Use the edit_id returned by bloom_edit_brand. The deterministic change_set is
the authority for review and remains available after apply or discard.
Returns the candidate identity, exact base, current status, change set, summary,
and published Skill identity when applied.BloomBloom
PluginrequiredContent & Design - Get Brand Edit Filebloom · Get a bounded page from the exact base and candidate snapshots of one changed Markdown file.
Use this when bloom_get_brand_edit marks a Markdown change as truncated. Pass a
path from change_set.markdownChanges. If next_cursor is not null, call this tool
again with the same Brand, edit, and path plus that cursor. Concatenating each
side's content in page order reconstructs the complete immutable file.
Args:
- brand_session_id (string): Brand session UUID from bloom_list_brands
- edit_id (string): Brand edit UUID returned by bloom_edit_brand
- path (string): Exact path from change_set.markdownChanges
- cursor (string, optional): next_cursor from the previous page
Returns exact bounded content for both sides, file and artifact hashes, current
edit status, and the next cursor. A side is null when the file was added or removed.BloomBloom
PluginrequiredContent & Design - Get Imagebloom · Get details of any image — generated, uploaded, or scraped.
Looks up the image across every workspace the caller can access. Works with
IDs from bloom_generate_image, bloom_upload_image, or bloom_list_images.
For one generated image, use wait: true to wait for completion or failure, up to the timeout.
For several images, use bloom_list_images with image_ids and wait: true.
A returned call does not guarantee completion. Check status and image_url
before presenting the result as finished.
Args:
- image_id (string): Image ID (any source)
- wait (boolean, optional): Wait for completion or failure, up to the timeout. Only applies to generated images. Recommended: true.
- timeout (number, optional): Max seconds to wait (1-295, default 120)
- include_url (boolean, optional): Ignored — the URL is always included in the response because this tool has an attached UI widget that requires it. Kept for backward compatibility.
Returns:
{
"id": string,
"source": "generated" | "uploaded" | "scraped",
"status": "pending" | "generating" | "completed" | "failed" | null, // null for uploads/scraped
"failure_reason": "content_safety" | "rate_limited" | null, // why a failed generation failed
"prompt": string | null,
"description": string | null,
"image_url": string | null,
"aspect_ratio": string | null,
"width": number | null,
"height": number | null,
"action_type": string | null,
"variant_group_id": string | null,
"workspace_id": string | null,
"workspace_name": string,
"created_at": string
}
For generated images:
- completed with image_url: the image is ready.
- completed with image_url null: the file is missing; generate a new image.
- failed with failure_reason "content_safety": retry the generation once with model "standard". If that also fails, ask the user to try a different prompt.
- failed with failure_reason "rate_limited": retry the generation shortly.
- pending or generating: the wait may have timed out. Call bloom_get_image again with the same image_id and wait: true.
For several pending or generating images, repeat bloom_list_images with only those image_ids and wait: true. Do not use rapid status polling.BloomBloom
PluginrequiredContent & Design - Inspect Brandbloom · Inspect the complete active Brand Skill for one Brand.
Use this when the Brand metadata from bloom_get_brand is not enough to reason
about voice, visual language, logo usage, messaging, photography, or other
Brand guidance. The result is the exact immutable active revision: SKILL.md,
every routed reference file, and the Brand Library asset ids cited by each
file. Its structured profile includes each typography role and signed files for
custom fonts. SKILL.md includes the canonical YAML frontmatter stored in the
immutable artifact. Follow its routing guidance when applying the result.
This is a read-only deterministic operation. It does not run Bloom's Brand
Agent, summarize the Skill, expose private source evidence, or create a
conversation.
Args:
- brand_session_id (string): Brand session UUID from bloom_list_brands
- cursor (string, optional): next_cursor from the previous page for this Brand
Returns one bounded page of the inspected revision, profile, and Markdown files.
Repeat this call with next_cursor until it is null to retrieve the complete Skill.
Keep the same brand_session_id. Pages stay on the original immutable revision.
Join file content and append library_asset_ids by file_index in cursor order.
Character offsets count Unicode code points. An empty content chunk can carry asset IDs.
The profile appears once. If profile_chunk appears, concatenate its content in
order and JSON.parse the completed JSON. Omitted profile fields are not null.
A small inspection fits in one page. Text and structuredContent contain the same page.
Restart without a cursor if the revision is unavailable or profile URLs change.
Custom-font URLs are temporary. Download the fonts when needed.
Use bloom_get_image to inspect a returned library asset id when its pixels are
needed.BloomBloom
PluginrequiredContent & Design
What is Tool Explorer?
Tool Explorer indexes the callable tool names and descriptions attached to public registry profiles. It is useful for seeing what agents can actually invoke, not just which profile exists.
How do category and verb filters work?
Category filters use the live registry category rollup. Verb filters use the public tool insights rollup, so the page stays backed by the same read models as the tracker charts.
Why do auth requirements matter?
Auth requirements show whether a tool is likely usable without account connection, requires authentication, is private, or is unknown in the current snapshot.