We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog
  • Home
  • Add-Ons
default app icon

MCP Server For EE

By Multimediality
AI

Description

MCP Server For EE turns your ExpressionEngine site into a secure Model Context Protocol server, so AI assistants like Claude, Cursor, and VS Code can browse channels, search entries, and manage content — always limited by each member’s native EE permissions. A built-in OAuth 2.1 authorization server with PKCE, dynamic client registration, EE Pro MFA support, and audit logging means your team’s AI assistants sign in with their own EE accounts and there are no API keys to hand out. Writes can never exceed the publish form: every field’s contract (upload directory, relationship targets, option lists, Grid and Fluid structure) is reported up front and enforced before save. Bulk passes are first-class: filter entries by field state, update up to 25 in one call with a per-item result, dry-run any change first, read an entry’s revision history, and see in the audit log exactly what each call touched. Coding assistants can even upload large files — 50–100 MB PDFs and videos — straight to your Files, without base64-encoding them through the model, and other add-ons can plug their own tools into the same server through a versioned plugin API. Optionally, any visitor’s AI agent can read your published content too — no account needed — through a separate, allowlisted, read-only public endpoint that’s off by default.

MCP Server For EE

MCP Server For EE exposes your ExpressionEngine 7 site to AI assistants through the Model Context Protocol — the open standard used by Claude, Cursor, VS Code, Codex, and a fast-growing list of AI tools. Connect your editor or assistant once, sign in with your EE member account, and it can discover channels, search and edit entries, manage categories, and work with files. Every tool call is checked against the member’s native EE role and channel permissions, so AI access never exceeds what that member could already do in the Control Panel.

Highlights

  • 🤖 34 CMS tools + live resources: Channels and field layouts (with every category group’s categories inlined), entry create/read/update/delete with text search, status and field-state filters, category-scoped counts, batch reads of up to 50 entries and the revision history of any entry, category and category-group management, file directories, uploads, in-place renames and file search by name, plus admin lookups (members, roles, site settings, the audit log, and public-endpoint usage analytics). Grid, File Grid and Fluid fields are readable and writable, relationship and file fields included, and file fields come back resolved (name, directory, URL) on read.
  • 🧭 Writes that never exceed the publish form: get_channel reports each field’s contract — the upload directory a file field accepts, the channels and statuses a relationship field may point to, a text field’s maximum length, an option field’s choices, a Grid’s columns and row limits, a Fluid field’s allowed children — and create_entry/update_entry refuse a mismatch before anything is saved, with a message that names the field and what is allowed. An assistant plans from one call and never writes what an editor could not have picked in the Control Panel.
  • 🔁 Built for bulk fix-up passes: Ask “which entries still have an empty flipbook field?” with one field-filtered list or count instead of reading every entry, then update_entries applies up to 25 updates in one call with a per-item result — a failed item never stops the rest, so a partial batch is retried by entry id. dryRun: true runs every check and shows exactly what would change without writing a thing, returnFields keeps write responses down to what you need, and list_entry_revisions/get_entry_revision show what an entry held at each save (for channels with versioning on) when a field is empty and nobody knows why.
  • 🔐 Built-in OAuth 2.1 authorization server: Members authenticate with their own EE credentials via browser login and consent. Mandatory PKCE (S256), dynamic client registration (RFC 7591), rotating RSA-signed JWTs with JWKS publishing, and signing keys encrypted at rest. ExpressionEngine Pro multi-factor authentication (authenticator/TOTP) is honored at sign-in.
  • 🛡️ Permissions you already trust: Scopes (mcp:read, mcp:write, mcp:admin) layer on top of native EE role and channel permissions — enforced on every single tool call — and tools/list is filtered per member, so an assistant is only ever shown the tools that member could actually use. Reads follow the publish form too: a member who may only edit their own entries in a channel only sees their own there. Choose which member roles may connect at all, with a per-member deny or allow for the odd exception, and revoke any connected client in one click (its live tokens stop at once).
  • 📎 Large-file uploads that don’t choke the model: upload_file returns a single-use upload URL plus a ready-to-run shell command, so a coding assistant streams the file straight to your site — 50–100 MB PDFs and videos included — without base64-encoding it through the model. A tiny-file base64 fallback is also provided. Uploads run EE’s own content validation (type sniffing, executable-extension blocks, per-destination limits), with optional in-place replace that preserves the file ID entries reference.
  • 🚀 Quick Start for every client: Copy-paste setup panels for Cursor, VS Code (GitHub Copilot), Claude Code & Claude Desktop, Codex CLI, ChatGPT (web & desktop, with a one-click plugin icon generator built from your favicon), and any generic MCP client over streamable HTTP.
  • 🎛️ Fine-grained tool control: Enable or disable any tool individually from the CP — delete_entry and delete_file ship off by default, so an agent can’t remove content until you explicitly turn that on.
  • 🧰 Zero-friction hosting: Runs on standard ?ACT= action URLs that work on any host. The control panel checks that AI clients can actually find your site’s sign-in, says so plainly when they cannot, and fixes it in one click on Apache (it even creates the .htaccess when a site has none), or hands you a ready-to-paste snippet for Nginx / LiteSpeed.
  • 📝 Operational guardrails: Per-IP rate limiting, a full audit log of every mutating tool call that names what it touched (entry:197, file:1181) — filter it to one entry in the CP, or let a Super Admin’s assistant read it over MCP with list_audit_log to answer “what touched this entry?” — and opt-in debug logging with secrets automatically redacted and a one-click download, ready to attach to a support request.
  • ✨ Spec-current: Serves both MCP protocol eras from one URL — the 2026-07-28 stateless revision and the initialize-handshake revisions back to 2025-03-26 — so today’s clients and tomorrow’s connect without configuration. Every tool carries MCP annotations (read-only, destructive, idempotent), so clients can run reads without prompting and confirm the rare destructive call. Advertises server icons (your site favicon), description, and website URL, so your brand shows up as clients adopt icon support.
  • 🔌 Extensible by other add-ons: A frozen, versioned plugin API lets any ExpressionEngine add-on register its own MCP tools (scope-gated, audited and allowlisted by the host, opt-in per tool from the CP), describe its custom fieldtype’s value to assistants, and report back on every save right in the write result (Yumpu Embed returns its remaining API quota there). Yumpu Embed is the first: nineteen flipbook tools that let an assistant run the whole publish pipeline — PDF into the File Manager, up to Yumpu, linked into the entry. The integrator guide ships in the zip.
  • 🌐 Optional public AI endpoint: Turn on a separate, anonymous, read-only MCP endpoint so any visitor’s AI agent can browse your published content without an account — off by default, with its own 7 read-only tools, an admin-picked channel allowlist, and a per-channel field allowlist. Author and member data are never exposed. Pair it with a dismissible “Add this site to your AI agent” front-end widget (auto-injected or placed with a template tag) and .well-known server-card discovery (plus a <link rel="mcp-server"> tag) so clients can find it automatically.
  • 🧱 Built to resist abuse: Per-IP and site-wide rate limits, an admin-managed IP/CIDR blocklist, and a Public Usage analytics panel with CSV export, configurable log retention (30 days by default), and automatic IP anonymization.

Requirements

  • ExpressionEngine 7.2+
  • PHP 8.2+ with the OpenSSL and Fileinfo extensions (standard on typical EE hosts; the installer checks for them)
  • A non-empty encryption_key in your EE config (EE sets one on install)
  • ExpressionEngine Pro only if members with MFA will sign in
  • The release zip ships all dependencies — no Composer step required

Pricing & license

$99 per license. One license covers a single production site plus one related staging/development site; each additional production site needs its own license. Commercial-use license — you may modify the add-on for your licensed site, but it may not be resold or redistributed. See the full license terms linked from the listing.

Support

Full documentation is linked from this listing. If something isn’t working, flip on debug logging in the add-on settings, reproduce, and use the one-click Download Debug Log button for redacted, shareable diagnostics (it never contains passwords, tokens, keys, or content); the Control Panel also keeps an audit log of every mutating tool call. Questions? Reach out to [email protected].

Information
Version 1.0.2
Last Update in 7 days
Compatibility EE 7
License Commercial
Links
  • Documentation
  • Support
ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.