This is the findability page. You know the tool’s name — because your client printed it, a colleague mentioned it, or a model just tried to call it — and you want its parameters. Find the name below and follow the link.
A client connected to https://app.leed.ai/mcp sees one hundred and one tools at tools/list: ninety-nine from Leed’s shared tool registry, plus two introspection tools that run inside the MCP layer and have no backing API route. Twelve further registry tools exist but are never shown to an MCP client at all; they are listed at the bottom of this page so a name you cannot find here has a definite answer rather than looking like a bug.
Every tool, A to Z
| Tool | What it does | Domain | Documented in |
|---|---|---|---|
add_menu_item | Add one item (or a whole folder subtree) under a parent at an index | Structure | MCP Tools: Site Structure |
change_asset_labels | Add and remove the same labels on up to 200 assets at once — confirm-gated | Forms | MCP Tools: Forms and Assets |
create_autolink | Create one autolink mapping a phrase to a page | Structure | MCP Tools: Site Structure |
create_campaign | Create an Engage campaign (defaults to draft) | Campaigns | MCP Tools: Campaigns and Personas |
create_campaign_deliverable | Add a plan deliverable to a campaign | Campaigns | MCP Tools: Campaigns and Personas |
create_engage_contact | Create a contact from an email address plus optional profile fields | Contacts | MCP Tools: Contacts and Accounts |
create_form | Create a new form | Forms | MCP Tools: Forms and Assets |
create_label | Create a label | Structure | MCP Tools: Site Structure |
create_menu | Create a draft menu, optionally with its items | Structure | MCP Tools: Site Structure |
create_page_from_markdown | Create a page in draft from Leed Markdown in one call | Pages | MCP Tools: Pages and Content |
create_page_type | Create a posts or documentation page type — confirm-gated | Structure | MCP Tools: Site Structure |
create_path_alias | Create a URL alias that redirects to a page | Structure | MCP Tools: Site Structure |
create_persona | Create a buyer persona | Campaigns | MCP Tools: Campaigns and Personas |
create_search_index | Create a search index over one or more page types | Structure | MCP Tools: Site Structure |
delete_asset | Soft-delete one asset, refused while it is still referenced — confirm-gated | Forms | MCP Tools: Forms and Assets |
delete_path_alias | Delete an alias path row — confirm-gated | Structure | MCP Tools: Site Structure |
describe_capabilities | Describe your own permissions — role-derived privileges plus resource-level overrides | Analytics | MCP Tools: Analytics and Introspection |
describe_schema | Describe a Leed content schema (page, page type, form, menu) or the Leed Markdown guide as JSON Schema | Analytics | MCP Tools: Analytics and Introspection |
export_engage_contacts | Export a page of contacts in the bulk interchange format, at most 200 rows — confirm-gated | Contacts | MCP Tools: Contacts and Accounts |
get_analytics | Query one analytics metric over a date range, site-wide or for one page | Analytics | MCP Tools: Analytics and Introspection |
get_asset | Fetch one asset by id, with the pages, forms, templates and profiles using it | Forms | MCP Tools: Forms and Assets |
get_campaign_audience | Read a campaign’s audience targets — the personas and accounts it aims at | Campaigns | MCP Tools: Campaigns and Personas |
get_campaign_email_metrics | Roll up real send performance (sent / opened / clicked / unsubscribed / bounced) across a campaign’s email deliverables | Campaigns | MCP Tools: Campaigns and Personas |
get_company_overview | A safe workspace summary: site title, domains, custom-domain status, plan tier and API-docs languages | Analytics | MCP Tools: Analytics and Introspection |
get_engage_contact | Fetch one Engage contact by id, with its score and opt-out flag | Contacts | MCP Tools: Contacts and Accounts |
get_engage_scores | Read persisted engage scores | Contacts | MCP Tools: Contacts and Accounts |
get_form | Fetch a form by id | Forms | MCP Tools: Forms and Assets |
get_label | Fetch a single label by id | Structure | MCP Tools: Site Structure |
get_menu | Fetch a menu by id, with its item ids and the revision every menu write needs | Structure | MCP Tools: Site Structure |
get_page | Fetch a page by id, with its open comment count | Pages | MCP Tools: Pages and Content |
get_page_body | Read a page’s body as Leed Markdown, with every top-level block’s data-id anchor and baseHash token | Pages | MCP Tools: Pages and Content |
get_page_review_state | Read a page’s open comments and pending suggestions, one entry per block | Pages | MCP Tools: Pages and Content |
get_page_type | Fetch a single page type by id, including its field schema and formatting options | Structure | MCP Tools: Site Structure |
get_plan_calendar | Read the Plan calendar for a window — scheduled pages, deployments and campaign deliverables on one timeline | Publishing | MCP Tools: Publishing, Distribution and Users |
get_shortcode | Get a single shortcode by its code, resolved to its destination URL and short link | Publishing | MCP Tools: Publishing, Distribution and Users |
get_user | Fetch a single user by id | Publishing | MCP Tools: Publishing, Distribution and Users |
import_engage_contacts | Create or update up to 200 contacts from rows in the export format — confirm-gated | Contacts | MCP Tools: Contacts and Accounts |
list_analytics_metrics | List the analytics metric names get_analytics accepts | Analytics | MCP Tools: Analytics and Introspection |
list_assets | List your workspace’s assets, filtered by type, labels or a name search | Forms | MCP Tools: Forms and Assets |
list_autolinks | List the autolink definitions in the order the site builder applies them | Structure | MCP Tools: Site Structure |
list_broken_links | Read the last stored broken-external-link report | Structure | MCP Tools: Site Structure |
list_campaign_deliverables | List a campaign’s plan deliverables, ordered by sequence then date | Campaigns | MCP Tools: Campaigns and Personas |
list_campaigns | List your workspace’s Engage campaigns | Campaigns | MCP Tools: Campaigns and Personas |
list_campaigns_for_persona | List campaigns that target a given persona | Campaigns | MCP Tools: Campaigns and Personas |
list_deployments | List recent preview and production deployments, plus whether staging can be promoted | Publishing | MCP Tools: Publishing, Distribution and Users |
list_distributions | List the distribution channels armed for a page’s publish fan-out, with each channel’s enabled flag and config | Publishing | MCP Tools: Publishing, Distribution and Users |
list_engage_accounts | List accounts with their firmographics and persisted engage score | Contacts | MCP Tools: Contacts and Accounts |
list_engage_contacts | List contacts for the Engage table — paginated, searchable, sorted by readiness | Contacts | MCP Tools: Contacts and Accounts |
list_form_fills | Fetch submitted responses for a form, paginated | Forms | MCP Tools: Forms and Assets |
list_forms | List all forms visible to you | Forms | MCP Tools: Forms and Assets |
list_journey_stages | List all journey stages (funnel stages) for your workspace | Structure | MCP Tools: Site Structure |
list_label_users | List users with an RBAC override (elevated access) on a specific label | Structure | MCP Tools: Site Structure |
list_labels | List all labels for your workspace | Structure | MCP Tools: Site Structure |
list_menus | List menus available to you | Structure | MCP Tools: Site Structure |
list_page_sync_state | Report every page in one page type — path, sourceId, status — in one call | Pages | MCP Tools: Pages and Content |
list_page_types | List the page types in this workspace, with their formatting options | Structure | MCP Tools: Site Structure |
list_pages | List pages visible to you, optionally filtered by label or page type | Pages | MCP Tools: Pages and Content |
list_paths | List your site’s URL paths — live, reserved and alias | Structure | MCP Tools: Site Structure |
list_pending_changes | List every unpublished resource across the CMS — labels, page types, autolinks, menus, forms, users and more | Publishing | MCP Tools: Publishing, Distribution and Users |
list_personas | List your workspace’s buyer personas | Campaigns | MCP Tools: Campaigns and Personas |
list_search_indexes | List the search indexes and the page types each one covers | Structure | MCP Tools: Site Structure |
list_shortcodes | List all shortcodes (UTM-tagged short links) for your workspace | Publishing | MCP Tools: Publishing, Distribution and Users |
list_users | List all users in your workspace | Publishing | MCP Tools: Publishing, Distribution and Users |
move_menu_item | Move one menu item or folder to a new parent and index | Structure | MCP Tools: Site Structure |
promote_staging_to_production | Promote the preview site to production — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
publish_page_now | Publish one page to the live site now — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
publish_pending_changes | Publish selected unpublished resources straight to the live site — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
recompute_engage_scores | Recompute every contact and account engage score from current signals (async) | Contacts | MCP Tools: Contacts and Accounts |
remove_menu_item | Remove one menu item, saying what happens to its children | Structure | MCP Tools: Site Structure |
reorder_autolinks | Rearrange the order autolinks are applied in | Structure | MCP Tools: Site Structure |
reorder_menu_items | Reorder one parent’s children | Structure | MCP Tools: Site Structure |
reserve_page | Reserve a page and its pageId, in draft, with an empty body | Pages | MCP Tools: Pages and Content |
resolve_path | Resolve a URL on your own domain to an internal pageId | Structure | MCP Tools: Site Structure |
retry_deployment | Re-run a failed deployment’s build — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
schedule_pages_by_id | Schedule 1–100 pages to publish at one shared slot — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
schedule_pages_by_source_id | Schedule every page tagged with a list of source ids into one slot — confirm-gated | Publishing | MCP Tools: Publishing, Distribution and Users |
search_api | Search this workspace’s published API reference pages | Pages | MCP Tools: Pages and Content |
search_documentation | Search this workspace’s published documentation pages | Pages | MCP Tools: Pages and Content |
search_posts | Search this workspace’s published posts (blog/article pages) | Pages | MCP Tools: Pages and Content |
set_campaign_audience | Replace a campaign’s audience targeting wholesale — confirm-gated | Campaigns | MCP Tools: Campaigns and Personas |
set_menu_item_fields | Change one menu item’s fields without sending any other item | Structure | MCP Tools: Site Structure |
set_page_body | Set a page’s full body from Leed Markdown — empty bodies, or overwrite on a never-published page | Pages | MCP Tools: Pages and Content |
set_page_distribution | Create or update a page’s distribution row for one channel | Publishing | MCP Tools: Publishing, Distribution and Users |
update_asset | Change one asset’s name, alt text or labels | Forms | MCP Tools: Forms and Assets |
update_autolink | Change one autolink’s phrase or target page | Structure | MCP Tools: Site Structure |
update_campaign | Update a campaign by id (name / status / subject / preview) | Campaigns | MCP Tools: Campaigns and Personas |
update_company_settings | Update the company’s General settings, as a merge patch | Structure | MCP Tools: Site Structure |
update_distribution_by_id | Patch a distribution row by id (enabled / config / behaviors) | Publishing | MCP Tools: Publishing, Distribution and Users |
update_engage_account | Update an account’s firmographic fields by id | Contacts | MCP Tools: Contacts and Accounts |
update_engage_contact | Edit an existing contact’s profile fields (name / title / phone / linkedinUrl / country / timezone) by id | Contacts | MCP Tools: Contacts and Accounts |
update_form_draft | Update an existing form’s draft state | Forms | MCP Tools: Forms and Assets |
update_journey_stage | Edit a single journey stage by id (name, description) | Structure | MCP Tools: Site Structure |
update_label | Update a label’s metadata (name, description, visibility, series, slug) | Structure | MCP Tools: Site Structure |
update_menu_fields | Change a menu’s own name, description or expanded flag | Structure | MCP Tools: Site Structure |
update_page_body | Edit a non-empty page body with ordered, anchored block operations, directly or as suggestions | Pages | MCP Tools: Pages and Content |
update_page_metadata | Update a page’s metadata (title, slug, labels, plannedDate, etc.) | Pages | MCP Tools: Pages and Content |
update_page_type | Update a page type’s settings, as a merge patch | Structure | MCP Tools: Site Structure |
update_persona | Update a persona by id, including its title keywords | Campaigns | MCP Tools: Campaigns and Personas |
update_search_index | Rename a search index or replace its page type list | Structure | MCP Tools: Site Structure |
update_user | Update a user’s profile details (name, job title, bio, contact info, etc.) | Publishing | MCP Tools: Publishing, Distribution and Users |
upload_company_image | Upload the favicon, logo or a documentation logo into its slot | Structure | MCP Tools: Site Structure |
By domain
If you are browsing rather than searching, the same one hundred and one are split across seven pages by what they touch. Each page carries a full parameter table per tool, its backing HTTP method and route, what it returns, and whether the Leed Assistant can call it too.
| Domain | Tools | Page |
|---|---|---|
| Pages and content | 13 | MCP Tools: Pages and Content |
| Site structure | 34 | MCP Tools: Site Structure |
| Forms and assets | 10 | MCP Tools: Forms and Assets |
| Contacts and accounts | 10 | MCP Tools: Contacts and Accounts |
| Campaigns and personas | 12 | MCP Tools: Campaigns and Personas |
| Analytics and introspection | 5 | MCP Tools: Analytics and Introspection |
| Publishing, distribution and users | 17 | MCP Tools: Publishing, Distribution and Users |
Two groupings are not obvious from their names. Site structure is the largest domain because it owns page types, search indexes, menus, labels, URL paths, journey stages, autolinks and the company’s own settings — everything that decides where a page sits rather than what it says. And publishing, distribution and users owns every tool that can put something on the live site — publishing, scheduling, pending changes and deployments — as well as the three distribution-channel tools and get_plan_calendar, which belong to the publish-time fan-out rather than to campaign planning.
Registered but never exposed
These twelve tools exist in Leed’s registry and are filtered out before tools/list is answered. An MCP client cannot see them and cannot call one by guessing its name — the response is unknown tool: <name>. Nine are deletes, approvals or a permanent create; three are affordances that only mean something inside the CMS chat window.
| Tool | Why it is withheld | Available in the assistant? |
|---|---|---|
approve_campaign_deliverable | Approves a deliverable and moves its campaign from draft to scheduled | Yes — parks for approval |
create_shortcode | Creates a public short link | Yes — parks for approval |
delete_autolink | Deletes an autolink definition, with no undo | Yes — parks for approval |
delete_campaign | Deletes a campaign and its audience targeting | Yes — parks for approval |
delete_campaign_deliverable | Deletes a campaign deliverable | Yes — parks for approval |
delete_distribution | Deletes a distribution row | Yes — parks for approval |
delete_form | Deletes a form (soft delete — restorable) | Yes — parks for approval |
delete_page | Deletes a page | Yes — parks for approval |
delete_persona | Deletes a persona | Yes — parks for approval |
get_analytics_chart | Renders a chart inline in the chat; MCP clients use get_analytics for rows | Yes |
get_current_resource | Reads the resource you are currently viewing in the CMS — an MCP client has no such screen | Yes |
suggest_next_steps | Renders clickable next-step chips into the chat transcript | Yes |
Why they are absent rather than merely restricted, and what that means for an AI you have asked to “clean up the old drafts”, is explained on What the Operator MCP Can and Cannot Do. The approval card the assistant shows before running one of them is on Leed Assistant.
The two tools with no backing route
describe_schema and list_analytics_metrics are different from the other ninety-nine. They have no HTTP route behind them: the MCP layer answers them in-process from static data, which is why they are read-only, identical for every workspace, and audited with a fixed low risk tier rather than one read off a registry entry.
describe_schema { target }returns JSON Schema for one ofpage,page_type,formormenu, or the full Leed Markdown syntax guide whentargetisleed_markdown. It is how a model learns the shape of a validupdate_page_metadatapayload without you pasting one.list_analytics_metricstakes no arguments and returns the metric namesget_analyticsaccepts, split into number metrics (a single value plus a trend) and list metrics (tabular).
Counting them yourself
Two counts on this page are derived rather than independent, and they are worth stating so a reader who audits them arrives at the same numbers: the seven per-domain counts sum to one hundred and one, and the twelve withheld tools plus the ninety-nine exposed registry tools account for all one hundred and eleven entries in Leed’s shared registry. The two introspection tools are not registry entries and are counted only in the one hundred and one.
If you have not connected a client yet, start at Connecting to the Operator MCP. If a name here resolves but the call comes back as an error, that is almost always your own role rather than the tool — How Leed’s AI Is Guarded explains which layer produced which message, and MCP Troubleshooting covers connections that fail before any tool runs.