Connect BlackBelt to your AI
BlackBelt runs a public MCP server: connect it to your AI client (Claude, Cursor, ChatGPT) and your assistant can query BlackBelt's services, technologies, pages, and client-confirmed references directly.
Connect in three steps
- Open your AI client's MCP settings (Claude Desktop → Settings → Connectors, or Cursor → MCP).
- Add the Streamable HTTP endpoint below as a new MCP server.
- Done. Your assistant now sees BlackBelt's tools — try asking which references we have in healthcare.
MCP endpoint (Streamable HTTP)
https://blackbelt.hu/api/mcp
Client configuration — copy and paste
{
"mcpServers": {
"blackbelt": {
"type": "http",
"url": "https://blackbelt.hu/api/mcp"
}
}
}Available tools
All 5 public tools are READ-ONLY: they do not write, do not delete, and do not reach outside our own data. No sign-in is required.
This inventory lists the tools' NAMES and DESCRIPTIONS — it grants no access. The boundary is server-side: the non-public servers reject every request without a valid sign-in, and the editor's role decides what is allowed, not this page.
Public server /api/mcp
No sign-in — anyone may connect it.
about_blackbeltread-onlyA short factual company overview and how to get in touch.
list_blackbelt_servicesread-onlyThe three BlackBelt service divisions and what each covers.
list_blackbelt_technologiesread-onlyTechnologies and platforms, including the JUDO low-code platform.
list_blackbelt_pagesread-onlyThe public pages with their layout type (L1-L9), with an optional filter.
search_blackbelt_referencesread-onlyClient-confirmed case studies by free-text query and/or industry.
Studio server (editorial) /api/studio/mcp
SIGN-IN REQUIRED. These are the editorial tools: they write into the DRAFT layer. Pages and the menu can go live from a signed-in editor's agent too — in two steps, after the plan is shown and the editor says yes explicitly; articles are published only by a human, in the studio UI.
get_home_layoutread-onlyThe PUBLISHED home layout's DESIGN TOKENS (the server-side home draft is gone). ⚠ Its `sections` branch is DEAD (measured: nothing renders it) — use get_page_layout / set_block_text for real page content.
get_page_layoutread-onlyOne page's block tree, DRAFT-FIRST: the saved draft copy if there is one (`source` says which), otherwise the published document — block ids, order, enabled flags, editable fields.
reorder_blockswriteReorders one page's blocks in the RETURNED overlay — the server saves nothing, and this is NOT the page's draft document.
set_block_enabledwriteTurns one block on or off in the RETURNED overlay — the server saves nothing, and this is NOT the page's draft document.
set_block_textwriteSets bounded text overrides on one block, for one locale, in the RETURNED overlay — the server saves nothing, and this is NOT the page's draft document.
set_block_imagewriteReplaces or places a content image in one PAGE block's image slot, writing the page's DRAFT copy — a visitor keeps seeing the published picture until the draft is published (from the UI, or with publish_page_draft after the editor's explicit yes).
set_block_linkwriteSets or clears the link target (`cel`) of one card or button — an internal page, an anchor on the page, or an external https URL — writing the page's DRAFT copy. The link only works once the target page is published.
set_block_embedwriteSets the provider (YouTube, LinkedIn, Facebook, Google Maps) and URL of one embed block — the URL checked against the provider BEFORE writing — into the page's DRAFT copy. Nothing loads for a visitor before they click.
set_block_settingwriteSets one block SETTING (justify, layout, picture size, hiding an icon, the divider line…) from the block-settings registry — written on the base-language page and copied to the other languages' drafts in the same commit; into the pages' DRAFT copies.
set_page_metawriteWrites a page's own meta (page image, short title, short description) — what a card pointing at the page shows, and the share image; not shown on the page itself. Writes the page's DRAFT copy.
list_imagesread-onlyThe IMAGE LIBRARY: every stored content image once (page blocks, page image, share image, menu items, articles; published and draft, every language) — size, alt texts, where it is used; filter by text, shape, width and 'unused on live pages'. Returns the `/api/assets/…` URL to reuse.
get_editor_rulesread-onlyThe editor rule lists (watched client names, client names cleared for publication, banned phrasings) — read BEFORE writing text; the server checks every text write against them.
propose_rule_changewriteAdds or removes entries in one rule list, TWO-PHASE: without `tervAzonosito` it returns a plan and writes nothing; after the editor's yes, the same id applies it. Audited with who and when.
bulk_editwriteBULK editing: rewrites every match of one filter (template · path · block type · field) in ONE store commit, into the DRAFT layer. With a MANDATORY plan phase: without a plan id the call only returns a PLAN and writes nothing.
list_articlesread-onlyEvery Insights article's metadata, without bodies.
get_articleread-onlyOne Insights article by slug, with its full body.
get_placement_suggestionread-onlyThe deterministic placement suggestion for one article.
audit_ai_readinessread-onlyA 0-100 structural score, a per-check list and findings with block ids.
audit_social_readinessread-onlyAn article's OR a page's social readiness: first the robots gate (0015), then a 0-100 score, the per-platform link cards, UTM share links and DRAFT post texts. For a page the served and the draft card apart. Posts nothing.
create_social_postwriteStores a LinkedIn, Instagram or Facebook post DRAFT (platform, language, target page or article, text, hashtags); the link and the served link card come from the target, the Instagram image from its share image. Posts nothing.
update_social_postwriteChanges a post's text, hashtags or target; an approved post goes back to draft.
get_social_postwriteOne post with its current preview; if the target's card changed since approval it puts the post back to draft (hence a writer).
list_social_postsread-onlyThe posts (filtered by status, language and platform, discarded ones hidden by default), with previews. Read-only: shows a card change, does not write it.
set_social_post_imagewriteSets an Instagram post's image: the target's share image or an uploaded one, at 4:5 or 1:1; an approved post goes back to draft. Posts nothing.
discard_social_postwriteDiscards a post (`elvetett`): it leaves the default list and can not be approved.
approve_social_postwriteApproves a post TWO-PHASE: without `tervAzonosito` it returns a plan; after the editor's yes the same id applies it. Needs the publish right; the machine token can not approve. Posts nothing.
create_campaignwriteCreates a mini campaign: key (= utm_campaign), title, languages. Never overwrites a taken key. Posts and publishes nothing.
update_campaignwriteChanges a campaign's title or languages; a language is dropped only when no member post is in it.
get_campaignread-onlyWhere a campaign stands: the landing per language (draft/published, card and findings), the member posts with status and link, studioUrl.
list_campaignsread-onlyThe campaigns with landing status and member posts.
create_campaign_landingwriteCreates the campaign landing as a DRAFT from the campaign template at kampany/<key>, in every campaign language with its copy, no menu entry. Publishes nothing.
attach_post_to_campaignwritePuts a post into a campaign: its link's utm_campaign becomes the campaign key; an approved post goes back to draft.
detach_post_from_campaignwriteTakes a post out of its campaign (the target-derived utm_campaign returns); a post on the draft landing can not leave.
audit_linksread-onlyBroken internal links per language as they render (menu, frame, blocks, articles), with a reason code; on request one scope's external URLs too. In draft mode it audits your own draft.
get_site_structureread-onlyThe megamenu tree, the existing pages, the articles and the measured drift.
create_pagewriteCreates a NEW page by cloning an existing one's STRUCTURE (layout family, allowed blocks, block tree) and links it into the megamenu under a named — or path-inferred — parent. The page is NOT live (publishAt: null) and has no separate draft copy. Does not publish by itself — publish_page does, after the editor's explicit yes.
create_page_templatewriteCreates a NEW page TEMPLATE from an existing page's composition — dropping, reordering or adding blocks — and writes every language document in ONE commit. The page is NOT live (publishAt: null). It never improvises: a missing block type is named, not substituted.
validate_articleread-onlyThe editorial rule verdict (PASS/FAIL), with a per-type rule set.
create_articlewriteCreates a NEW draft article; nothing here can publish it.
create_article_language_variantwriteCreates the EN/DE version of an existing article as a draft; nothing here can publish it.
update_articlewriteWrites a DRAFT article's title/summary/body and its public author (szerzo/szerep).
read_blockread-onlyThe article's blocks with stable ids — the read to do before an edit.
write_blockwriteReplaces ONE block's text by id; every other block stays byte-identical.
generate_article_coverwriteDraws a 1200x630 branded cover on the server and inserts it into the draft.
create_document_uploadwriteA short-lived upload ticket for a certificate PDF.
set_block_documentwritePuts a stored PDF into ONE document row of a certificates block — into every language's DRAFT that has the row, in one commit.
create_image_uploadwriteA short-lived upload ticket for a local image file.
add_article_imagewriteInserts an image into the draft body from a URL, a site path or base64.
publish_pagewriteMakes pages visible to visitors (plan, chat confirmation, then apply). Does NOT publish a saved draft.
unpublish_pagewriteWithdraws pages: visitors get a 404, signed-in editors still see them. The draft is untouched.
publish_page_draftwriteMoves the pages' SAVED draft into the published document, every language in one commit; the plan carries the change list.
delete_pagewriteDeletes pages for good: every language's document and draft plus the menu entries pointing at them, in one commit. Explicit path list only.
move_pagewriteMoves a page to a new path: every language and draft, the menu entries and typed links in one commit; the old address answers 308 to the new one, no deploy.
create_language_variantwriteCreates a new language variant as a clone of the default-language page — born hidden, and never overwrites an existing translation.
edit_menuwriteWrites the menu with an operation list (insert, rename, move, remove), every affected language in one commit. Removing an entry does NOT delete the page.
edit_site_framewriteWrites the site frame with an operation list — footer items, group titles and a group title's target (the heading's link), contact values, the header CTA, the social links; every affected document in one commit, LIVE (the frame has no draft). A group cannot be added or removed.
get_integrationsread-onlyThe site's INTEGRATIONS (CookieScript, HubSpot, GA4, GTM, Google Ads, Meta, Hotjar, LinkedIn, Google Maps): per kind its on/off state, the filled fields and the field descriptions — declared fields only.
set_integrationwriteSwitches one integration on/off or writes its fields in two phases: a plan, then — after the publisher's yes — apply with the same plan id; LIVE, no deploy. Publishers only.
get_folder_manifestread-onlyThe editor folder's file list (knowledge base + skill supplements) with hashes, the store version and a short-lived download ticket for the plugin's local sync — no file content.
propose_folder_changewriteCreates, changes or deletes editor-folder files in two phases: a plan, then — after the editor's yes — apply with the same plan id, in one commit.