How Mia Works with Drupal: A Practical Setup Guide
A step-by-step guide to connecting Drupal to Mia via the official MCP server — install the module, configure the endpoint, and let your AI assistant manage content, entities, and workflows directly from chat.

How Mia Works with Drupal: A Practical Setup Guide
Drupal is one of the most flexible CMS platforms on the web — and thanks to the Model Context Protocol (MCP), it can now work hand-in-hand with Mia, your personal AI secretary. In this guide, we will walk you through the full setup: from installing the Drupal MCP server module to connecting it with your Mia chat.
By the end, Mia will be able to read, create, update, and manage Drupal content directly from your Telegram conversation — no dashboards, no context switches.
What is MCP and why should you care?
The Model Context Protocol is an open standard (originally introduced by Anthropic and now supported by OpenAI and Google) that lets AI agents talk to external services through a structured, secure interface.
An MCP server exposes tools and data from a system (Drupal, in our case). An MCP client (Mia) connects to that server and uses those tools on your behalf.
For Drupal site owners, this means you can do things like:
- Ask Mia to create or update a blog post
- Search for unpublished content draft
- List taxonomy terms, users, or views
- Trigger workflows (moderation, publishing, scheduling)
- Pull site health and status reports
All from a single Telegram chat.
Prerequisites
Before you begin, make sure you have:
- A Drupal 10.x or 11 site (PHP 8.1+, standard Composer setup)
- Admin access to install modules
- A Mia Handles account with at least a Standard plan (MCP connections require API access)
- The official PHP MCP SDK installed globally or available via Composer
Step 1 — Install the Drupal MCP Server module
The recommended module is mcp_server from Drupal.org — it is built on top of the official modelcontextprotocol/php-sdk (PHP Foundation + Symfony collaboration).
From your site root, run:
composer require drupal/mcp_server
Then enable it through Drush or the UI:
drush en mcp_server -y
drush cr
Alternatively, go to Extend → Install new module, upload the archive, and enable.
After enabling, navigate to Configuration → Web services → MCP Server (/admin/config/services/mcp_server). There you will find:
- Endpoint URL — the public URL for the MCP endpoint (usually
https://yoursite.com/mcp) - Authentication — Basic auth, token, or OAuth (recommended: token)
- Tools and resources — toggle which Drupal capabilities are exposed (nodes, users, taxonomy, Views, etc.)
Generate a secure API token and save it — you will need it in Mia.
Step 2 — Expose the endpoint securely
The MCP endpoint should only be reachable for services you trust. Typical options:
- IP allowlist — restrict access to Mia's backend IP
- Token-based auth — every request must carry the token in the header
- Private network / VPC — for enterprise setups
If your Drupal site is behind Cloudflare or another WAF, make sure the /mcp path is allowed through with POST and GET methods, plus SSE if you use streaming.
Step 3 — Connect the Drupal server in Mia Handles
Now the fun part. In your Mia chat:
- Open the Mia miniapp (tap your profile picture or use the menu)
- Go to Settings → Integrations → Add MCP server
- Fill in the connection form:
Server name: My Drupal Site Endpoint URL: https://yoursite.com/mcp Transport: Streamable HTTP Auth: Bearer token Token: (paste your Drupal MCP token)
- Tap Connect. Mia will validate the endpoint, list available tools, and add the server to your chat.
You can also connect using a SSE or JSON POST transport — Mia supports all three.
Step 4 — Test the connection
Once connected, try a simple command in your Mia chat:
"List the last 5 unpublished articles on my Drupal site"
Mia should return a summary pulled directly from your Drupal site. If you get an error, check:
- Token validity in the Drupal MCP settings
- Endpoint URL is reachable from Mia's backend (firewall, SSL certificate)
- Required tools are enabled on the Drupal side
What you can do after setup
Here are a few things Mia can handle for you once connected:
- Content operations — create drafts, publish/unpublish, bulk edit fields
- Taxonomy & references — add terms, reorganize vocabularies
- User management — create accounts, reset passwords, assign roles
- Views queries — fetch structured reports as Markdown or JSON
- Workflow triggers — move content through moderation states
- Scheduled publishing — queue articles for future dates via Mia's todos or calendar
And because Mia already knows your calendar, tasks, and files, she can orchestrate Drupal work alongside the rest of your day — for example:
"Publish the interview I finished recording this morning as an article on my Drupal site, and remind the editor to review it tomorrow at 10:00."
Mia will handle both in one go.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| "Connection failed" | Endpoint blocked or wrong URL | Check firewall rules and SSL cert |
| "No tools available" | MCP module disabled or no tools toggled | Re-enable and select at least one tool |
| "Unauthorized" | Invalid token | Regenerate token in Drupal admin and update in Mia |
| Slow responses | Large entity exports | Disable unused tools, enable pagination |
Related reading
The same MCP pattern works with other CMS platforms. Check out our companion guides:
- How Mia Works with WordPress: A Practical Setup Guide — covers the
mcp-adapterplugin, Application Passwords, and WordPress-specific use cases (media, comments, plugin actions, REST API queries). - Best AI Companion for Bitrix CMS: Connect Mia via MCP — covers the
hiweb.site_mcpmodule, bearer token auth, JSON POST transport, and Bitrix-specific use cases (iblocks, orders, CRM).
You can connect all three platforms to the same Mia chat, and she will address each by name.
Wrapping up
Connecting Drupal to Mia via MCP turns your CMS from a standalone dashboard into a conversational extension of your daily workflow. Once set up, it just works — quietly, in the background, whenever you need it.
If you have questions or want help setting it up, just ask Mia directly in chat. She already knows the protocol.