Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.Distribea/distribea-mcp

REMOTE · DISTRIBEA.COM · 2 COMPONENTS · SCANNED AUG 3

Generate images, video, music and voice from your CLI or AI agent. On-brand AI media toolkit.

+6 this week 61 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability34
  • AI-judged instruction clarity (fair).Partial
  • Context-footprint check failed: tool/resource definitions use about 2745 tokens (~228/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · distribea.com

# add to Claude Code
claude mcp add --transport http distribea-distribea-mcp https://distribea.com/api/mcp/remote
# ~/.codex/config.toml
[mcp_servers.distribea-distribea-mcp]
url = "https://distribea.com/api/mcp/remote"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "distribea-distribea-mcp": {
      "type": "remote",
      "url": "https://distribea.com/api/mcp/remote",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add distribea-distribea-mcp --url https://distribea.com/api/mcp/remote --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  distribea-distribea-mcp:
    url: "https://distribea.com/api/mcp/remote"
// mcp.json
{
  "mcpServers": {
    "distribea-distribea-mcp": {
      "type": "http",
      "url": "https://distribea.com/api/mcp/remote"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 54

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://distribea.com/api/mcp/remote

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=distribea.com CN=YE2,O=Let's Encrypt,C=US 9 Jun 2026 7 Sept 2026 ECDSA 256 ECDSA-SHA384 58803158692d0cd8afb386d795258ae57aa
SANs: *.distribea.com, distribea.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC insecure

Validation of distribea.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
distribea.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval' https://www.clarity.ms https://scripts.clarity.ms https://www.googletagmanager.com https://www.googleadservices.com https://js.stripe.com https://vercel.live https://unpkg.com https://fpnpmcdn.net https://fpjscdn.net https://connect.facebook.net https://www.redditstatic.com https://cdn.promotekit.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https://cdn.sanity.io https://distribea-categories-images.fra1.cdn.digitaloceanspaces.com https://distribea-categories-images.fra1.digitaloceanspaces.com https://distribea-music-uploads.fra1.cdn.digitaloceanspaces.com https://distribea-music-uploads.fra1.digitaloceanspaces.com https://images.unsplash.com https://images.pexels.com https://assets.mixkit.co https://i.pravatar.cc https://lh3.googleusercontent.com https://ui-avatars.com https://v3.fal.media https://v3b.fal.media https://v2.fal.media https://fal.media https://storage.googleapis.com https://www.google-analy
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy accelerometer=(), autoplay=(self), camera=(self), clipboard-read=(), clipboard-write=(self), display-capture=(), encrypted-media=(self), fullscreen=(self), geolocation=(self), gyroscope=(), hid=(), identity-credentials-get=(), idle-detection=(), local-fonts=(), magnetometer=(), microphone=(self), midi=(), otp-credentials=(), payment=(self "https://js.stripe.com" "https://checkout.stripe.com"), picture-in-picture=(self), publickey-credentials-create=(self), publickey-credentials-get=(self), screen-wake-lock=(), serial=(), storage-access=(self), usb=(), web-share=(self), window-management=(), xr-spatial-tracking=(), interest-cohort=(), browsing-topics=(), join-ad-interest-group=(), run-ad-auction=(), attribution-reporting=()
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://distribea.com/api/mcp/remote Verified 200
http (plaintext) http://distribea.com/api/mcp/remote HTTPS enforced 308 https://distribea.com/api/mcp/remote
MCP tools — 12 exposed · ~2,382 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
blog_cover ~226

Generates the 16:9 cover of an editorial article from ITS specific topic (never a generic photo), consistent with the site's style. Returns the CDN URL + an <img> tag. Provide the article via article_text (pasted text) or article_url (public link). illustrations:N adds N images inside the article.

NameTypeReqDescription
article_textstringThe article text (title + body), pasted directly
article_urlstringPublic URL of the article — its text is read for you
characterstringOptional: name/role of a locked character to deliberately feature on the cover
illustrationsnumberExtra images inside the article (default 0, max 5)
orientationstringCover shape — default "wide" (16:9)
productstringOptional: name of a locked product to deliberately feature on the cover
projectstringOptional: site identifier. Default: "lovable".
titlestringOptional title (overrides the one read from the source)

No output schema declared.

No examples provided.

brand_pack ~289

The brand finishing pack. action 'all' (default) chains: logo (clean lettering, correct spelling) + favicon pack (favicon.ico, apple-touch-icon, 192/512 PNG incl. maskable, site.webmanifest) + social image (og:image, needs a title). Or one piece: 'logo' | 'favicons' | 'social_image'. Returns the logo as an <img> to place in the header, the favicon FILES (base64) to write into /public + the <head> tags, and the og:image <meta> tags. Optionally derive the favicon from a given logo via image_base64/image_url.

NameTypeReqDescription
actionstringDefault 'all'
backgroundstringfavicons: solid background colour behind the icon (default white)
image_base64stringfavicons: optional existing logo/icon (base64) to derive the pack from
image_urlstringfavicons: optional logo/icon URL to derive the pack from
projectstringOptional: site identifier. Default: "lovable".
subtitlestringsocial_image: optional smaller subtitle
taglinestringlogo: optional small tagline under the brand name
titlestringsocial_image: title written on the image (required for social_image; also enables it in 'all')

No output schema declared.

No examples provided.

bring_alive ~242

Make an EXISTING page feel alive with on-brand imagery. It PROPOSES (free, generates nothing): (1) where to ADD images in sections that have none (hero, testimonials, team/about, a key benefit, gallery…), and (2) it returns the page's EXISTING <img> tags so you can REPLACE them too. DEFAULT BEHAVIOR — replace every existing image with an on-brand one UNLESS the user explicitly asks to keep a specific image; if the user only wants to add images, leave the existing ones untouched. WORKFLOW: show both lists, ask which to KEEP; then for approved NEW spots insert the given <img> placeholder at its anchor and call generate_image to fill it, AND for each existing image to replace, call generate_image with a matching subject and swap that image's src. Use this BEFORE generate_image whenever a page's imagery is missing or off-brand. Pass the page's current code as page_text.

NameTypeReqDescription
page_textstringyesThe current code (or visible text) of the page to bring alive
projectstringOptional: site identifier. Default: "lovable".

No output schema declared.

No examples provided.

create_reference ~316

Register a REAL photo so Distribea reuses it IDENTICALLY in generated images — the user's own person, product or place. kind 'character' = a recurring face (founder, baker…), 'product' = the exact same object, 'place' = the real shop/location. Give the photo as image_base64 (the uploaded file's bytes — MOST RELIABLE) or image_url (a PUBLIC image URL). Free (0 credits) when a photo is given. AFTER this, call generate_image with character:"<name>" (or product:"<name>") to feature that exact reference in a scene. For a whole product range at once, pass items:[{name,image_base64|image_url}].

NameTypeReqDescription
descriptionstringOptional physical description (product/place)
image_base64stringThe photo bytes as base64 (raw or data-uri). Preferred — works even when the image isn't on a public URL.
image_urlstringPublic URL of the photo (fallback if no base64)
itemsarrayRegister several products/places at once: each {name, image_base64 or image_url, description?}.
kindstringDefault 'character' (a recurring face)
namestringWhat to call it: a role ("le boulanger"), a product name ("Tarte pralinée"), or a place ("la boulangerie")
projectstringOptional: site identifier. Default: "lovable".

No output schema declared.

No examples provided.

edit_image ~269

Retouch an image the user already has (pass it as image_base64 or image_url). action 'edit' (default): a plain-language change (remove an object, change the background, relight; apply_style=true to also match the site's locked look); 'redo': a feedback tweak; 'remove_background': transparent PNG cutout; 'upscale': ×4; 'extend': widen to a new aspect_ratio, the scene continues seamlessly. Returns the NEW image's CDN URL + an <img> tag — swap the original's src with it. Billed; use only on the user's explicit request.

NameTypeReqDescription
actionstringDefault 'edit'
apply_stylebooleanedit only: also match the site's locked style
aspect_ratiostringextend only: target frame (default 21:9)
image_base64stringThe image to retouch, as base64 (preferred)
image_urlstringPublic URL of the image to retouch (fallback)
instructionstringedit/redo: what to change, plain language
out_formatstringOutput format (default webp; cutouts stay png)
projectstringOptional: site identifier. Default: "lovable".

No output schema declared.

No examples provided.

forget_project ~65

Wipe a project's saved memory (locked style, characters, products) so it starts fresh. Nothing on the page is touched. Free. Use when a reused project carries over unwanted style or products.

NameTypeReqDescription
projectstringSite identifier to wipe. Default: "lovable".

No output schema declared.

No examples provided.

generate_image ~234

Generates ONE image consistent with the site's style and returns its CDN URL + a ready-to-paste <img> tag. A subject mentioning a review/testimonial/avatar automatically switches to a realistic customer selfie (UGC). Ideal for heroes, about, sections, cards…

NameTypeReqDescription
brand_textbooleanIf true, the brand name appears as a clean physical sign in the image
characterstringOptional: name/role of a locked character to feature (same face). Pass "none" to FORCE no face (stops a locked founder/team face being auto-attached here).
cross_site_uniquebooleanReview/avatar subjects only. Default false. true = reviewer faces never repeat across ALL the user's sites.
orientationstringDefault: landscape
productstringOptional: name of a locked product to show (identical object)
projectstringOptional: site identifier (to keep a consistent style across its images). Default: "lovable".
subjectstringyesWhat the image shows, e.g. "hero photo: modern villa at sunrise"

No output schema declared.

No examples provided.

generate_with_model ~263

Advanced/manual mode: generate an image with a SPECIFIC model and settings the user picked, billed at the regular site price. Use this when the user names a model or wants control over quality/format/number of images; otherwise use generate_image (auto robot). Get valid ids + options from list_models. Returns CDN URL(s) + ready-to-paste <img> tag(s).

NameTypeReqDescription
countintegerOptional number of images (1..max for the model, see list_models). Default 1. Free/trial accounts are limited to 1.
formatstringOptional aspect ratio, e.g. "16:9", "1:1", "9:16" (see list_models for what the model supports).
modelstringyesModel id from list_models, e.g. "flux-2.0-pro" or "nano-banana-pro".
projectstringOptional: site identifier. Default: "lovable".
qualitystringOptional quality tier, e.g. "1K"/"2K"/"4K" (see list_models). Ignored when the model has a fixed native size.
subjectstringyesWhat the image shows (the prompt).

No output schema declared.

No examples provided.

list_models ~70

Returns the catalog of image models to choose from: id, name, what it's best at, quality tiers, formats, max images per call, and an indicative price in credits. Call this BEFORE generate_with_model when the user wants to pick a specific model or compare options/prices. Image only for now.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_projects ~63

List the projects saved on the account (name, brand, image count, products). To keep working on one, reuse its name in the project: parameter of your calls. Free.

NameTypeReqDescription
projectstringOptional: current site identifier. Default: "lovable".

No output schema declared.

No examples provided.

pack_status ~51

Shows the Distribea credit balance, the locked style, the known characters/products/avatars, and the latest generated images. Free.

NameTypeReqDescription
projectstringOptional: site identifier. Default: "lovable".

No output schema declared.

No examples provided.

site_style ~294

The site's art direction. action "setup": locks the style from a brief and/or the URL of an existing site (run this FIRST for consistent images). action "refine": plain-language feedback ("warmer") OR a correction of a misrepresented subject — the rule is recorded and honored by every subsequent image.

NameTypeReqDescription
actionstring"setup" (default) to set the style, "refine" to adjust/correct it, "lock_image" to anchor the style on an approved image (pass image_base64/image_url)
briefstringsetup: plain-language brand brief (business, mood…)
feedbackstringrefine: what to change or correct, in plain language
forcebooleansetup: true to let the engine guess if the brief is short
image_base64stringlock_image: the approved image's bytes as base64 — its look becomes the permanent style anchor
image_urlstringlock_image: public URL of the approved image (fallback)
moodboardbooleansetup, ONLY on request: also generate a 2×2 moodboard image of the locked style (billed as 1 image)
projectstringOptional: site identifier. Default: "lovable".
site_urlstringsetup: URL of an existing site to draw inspiration from (optional)

No output schema declared.

No examples provided.