Skip to content

Connect an assistant (MCP)

Let Claude write posts, update pages and read forms for one organization.

1 min readUpdated View as Markdown

On this page

The Model Context Protocol (MCP) server lets an AI assistant work with one organization using that organization's secret key. Every tool call goes through the same checks as the API: key, organization status, secret-only admin routes, rate limits and personal-data gates. The key cannot reach any other organization.

1. Make a key for the assistant

In the dashboard, open Developers → API keys and create a key just for the assistant, named for it ("Claude, John's laptop"). Then you can see its traffic separately and revoke it alone.

2. Connect

Claude Code:

Terminal
claude mcp add --transport http dashfordevs https://papi.dashfordevs.com/mcp/org \
  --header "Authorization: Bearer sk_live_YOUR_SECRET_KEY"

Clients that only accept a URL (some connectors):

Code
https://papi.dashfordevs.com/mcp/org/sk_live_YOUR_SECRET_KEY

A key in a URL can end up in logs. Prefer the header form; if you must use the URL, use a dedicated key and regenerate it if it is ever shared.

The dashboard's MCP page (sidebar: MCP → MCP server) shows these snippets and the live tool list.

3. Tools

Tool Does
org_info The organization the key belongs to.
blog_list, blog_get Read posts (list without bodies; one with its HTML).
blog_create, blog_update, blog_delete Write posts. Bodies are HTML; code as <pre><code class="language-x">.
blog_categories, blog_category_create Categories for posts.
page_groups_list, page_group_create Page groups (content types). Create is idempotent by slug.
page_items_list, page_item_get Read items in a page group.
page_item_create, page_item_update, page_item_delete Write items, with their custom fields.
contact_forms_list, contact_form_get Read contact form submissions (personal data: held back by the personal-data gate where it applies).
admin_endpoints List every admin API route the key can call.
admin_request Call one of those routes directly, for anything not covered above.

Good prompts

  • "Draft a blog post about our spring menu in the Seasonal category. Keep it as a draft."
  • "List the items in the Services page group and fix any description over 160 characters."
  • "Summarize this week's contact form submissions by topic, without quoting names or emails."

Keep reading

Something wrong or missing on this page? Email support@dashfordevs.com.