Skip to content

Your EMCP guide

Answers from our docs

YOUR CHAT, YOUR CHOICE

Before we chat

MSR Builds processes your question and up to four recent messages on our server to answer from the EMCP docs. AI is optional and needs your separate permission.

The chat is kept in this page's memory, not saved as a conversation in our database or browser storage. Our hosting and security services process connection information, such as your IP address, to prevent abuse.

Cloudflare Turnstile checks your browser and connection to prevent automated abuse when you send a question. No login is required.

Please leave out personal, sensitive or confidential information, passwords and API keys.

You can withdraw consent and clear this page's chat at any time. This cannot undo a request already sent or erase provider/security records.

Chat privacy, retention & your rights ↗ · Privacy contact

Starting chat consents to this processing. You can browse our docs without using the chat.

WordPress Settings

Read and update core WordPress settings (general / reading / writing / discussion / media / permalinks) over MCP. Both tools work against a curated, typed allowlist. There is no arbitrary option access. Both require manage_options. Both are enabled by default; their switches are in the WordPress Settings section of the WordPress tab on EMCP Tools → Tools.

These tools cover WordPress core settings only. EMCP’s own settings live on its admin screens (for example EMCP Tools → Connection and EMCP Tools → Modules) and are not reachable through these tools.

Safety boundaries:

  • Allowlist only: keys outside it are never read or written.
  • siteurl / home and users_can_register / default_role are excluded entirely.
  • admin_email is read-only (returned by get-settings, rejected by update-settings).

Reads allowlisted WordPress settings across all groups. Doubles as discovery: each entry includes its type, label, enum options (where applicable), and a writable flag.

Input: group (optional, limit to one of general, reading, writing, discussion, media, permalinks).

Returns: array of { key, value, type, label, options?, writable }.

Capability: manage_options. Read-only.

Batch-updates allowlisted settings. Partial failure never aborts the batch: any non-allowlisted, read-only, or invalid value is reported in skipped[] while the rest apply. Changing a permalink setting auto-flushes rewrite rules.

Input: settings: a key/value map of allowlisted settings to write.

Returns: { updated: [...], skipped: [{ key, reason }] }.

Capability: manage_options.

get-settings { "group": "reading" }
→ discover posts_per_page, show_on_front, page_on_front, …
update-settings { "settings": { "posts_per_page": 12, "blog_public": 1 } }
→ { updated: ["posts_per_page", "blog_public"], skipped: [] }