Drupal
MCP server for Drupal sites via JSON:API, enabling CRUD operations on nodes, taxonomy terms, and users using natural language.
What is Drupal?
Drupal is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to mcp server for drupal sites via json:api, enabling crud operations on nodes, taxonomy terms, and users using natural language.
MCP server for Drupal sites via JSON:API, enabling CRUD operations on nodes, taxonomy terms, and users using natural language.
This server falls under the Business Applications category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- MCP server for Drupal sites via JSON:API, enabling CRUD oper
Use Cases
Maintainer
Works with
Installation
NPM
npx -y drupalManual Installation
npx -y drupalConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Drupal
drupal-mcp is a Node.js MCP server that connects to any Drupal 10 or 11 site through the core JSON:API module, enabling AI assistants to list, search, create, update, and delete nodes, taxonomy terms, and users using natural language. It ships as both a Claude Code plugin (installable via the lucaspretti-plugins marketplace) and a standalone stdio MCP server compatible with Claude Desktop, Cline, and other clients. Content managers and developers use it to manage Drupal content through conversation rather than the Drupal admin UI.
Prerequisites
- Node.js 18 or higher with npm
- A Drupal 10 or 11 site with the jsonapi, serialization, and basic_auth core modules enabled
- JSON:API read_only mode disabled on the Drupal site if you need create/update/delete ('drush config:set jsonapi.settings read_only false')
- A Drupal bot user account with appropriate role permissions, and its credentials stored in DRUPAL_USER and DRUPAL_PASSWORD
- An MCP-compatible client such as Claude Desktop, Claude Code, or Cline
Enable required Drupal modules
On your Drupal site, enable the three required core modules. basic_auth is needed for HTTP Basic authentication; without it, only anonymous reads work and all writes return 401.
drush en jsonapi serialization basic_auth -yEnable JSON:API writes (if needed)
By default, Drupal's JSON:API is read-only. Disable read-only mode to allow create, update, and delete operations. Skip this step if you only need read access.
drush config:set jsonapi.settings read_only false -yCreate a Drupal bot user
Create a dedicated bot user account and assign it a role with the appropriate permissions. For full access, using is_admin: true on the role is the simplest approach. Store the password securely.
drush user:create mcp_bot --password='<strong-password>'
drush user:role:add mcp_bot mcp_botClone and install the server
Clone the drupal-mcp repository and install Node.js dependencies.
git clone https://github.com/lucaspretti/drupal-mcp.git
cd drupal-mcp
npm install
cp .env.example .envSet environment variables
Edit the .env file (or set environment variables directly) with your Drupal site URL, bot username, and password.
DRUPAL_BASE_URL=https://your-site.example.com
DRUPAL_USER=mcp_bot
DRUPAL_PASSWORD=your-strong-passwordConfigure your MCP client
Add the server to your MCP client's configuration. Use the absolute path to drupal-mcp.js. Environment variables are passed in the env block.
{
"mcpServers": {
"drupal": {
"command": "node",
"args": ["/absolute/path/to/drupal-mcp/drupal-mcp.js"],
"env": {
"DRUPAL_BASE_URL": "https://your-site.example.com",
"DRUPAL_USER": "mcp_bot",
"DRUPAL_PASSWORD": "your-strong-password"
}
}
}
}Drupal Examples
Client configuration (Claude Desktop)
Full claude_desktop_config.json entry for drupal-mcp. All three env vars are required. DRUPAL_BASE_URL must not have a trailing slash.
{
"mcpServers": {
"drupal": {
"command": "node",
"args": ["/Users/yourname/drupal-mcp/drupal-mcp.js"],
"env": {
"DRUPAL_BASE_URL": "https://your-site.example.com",
"DRUPAL_USER": "mcp_bot",
"DRUPAL_PASSWORD": "your-strong-password"
}
}
}
}Prompts to try
These prompts exercise the eight available tools: list, get, create, update, delete nodes, list taxonomy terms, list users, and the arbitrary JSON:API query escape hatch.
- "List all published Article nodes and show their titles and URLs"
- "Create a new Blog Post node with title 'Hello World' and body 'My first AI-created post'"
- "Find all taxonomy terms in the 'tags' vocabulary and list them"
- "Update node with UUID abc-123 to change its title to 'Updated Title'"
- "List all users on the site and show their email addresses and roles"Troubleshooting Drupal
Every request returns 401 Unauthorized
The basic_auth core module is not enabled. Run 'drush en basic_auth -y' on your Drupal site. Also verify the DRUPAL_USER and DRUPAL_PASSWORD values are correct and the user account is not blocked.
Write operations return 403 Forbidden on a specific content type
The bot role lacks permissions for that bundle. Grant 'create <bundle> content', 'edit any <bundle> content', and 'delete any <bundle> content' explicitly, or set is_admin: true on the role. Note that 'administer nodes' alone is not sufficient for per-bundle CRUD.
Write operations return 405 Method Not Allowed
JSON:API is in read-only mode. Disable it with 'drush config:set jsonapi.settings read_only false -y' and clear caches with 'drush cr'.
Frequently Asked Questions about Drupal
What is Drupal?
Drupal is a Model Context Protocol (MCP) server that mcp server for drupal sites via json:api, enabling crud operations on nodes, taxonomy terms, and users using natural language. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Drupal?
Install via npm with the command: npx -y drupal. Then add the server configuration to your AI client's JSON config file (e.g., claude_desktop_config.json or .cursor/mcp.json).
Which AI clients work with Drupal?
Drupal works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Drupal free to use?
Yes, Drupal is open source and available under the MIT License license. You can use it freely in both personal and commercial projects.
Drupal Alternatives — Similar Business Applications Servers
Looking for alternatives to Drupal? Here are other popular business applications servers you can use with Claude, Cursor, and VS Code.
n8n
★ 189.1kA comprehensive MCP server that provides full control over n8n automation workflows through natural language. It offers 43 tools for managing workflows, executions, credentials, and data tables, with safety features like write-mode protection and dou
LobeHub
★ 77.5k🤯 LobeHub is your Chief Agent Operator, organizing your agents into 7×24 operations by hiring, scheduling, and reporting on your entire AI team.
Jeecgboot
★ 46.4kAI 低代码平台,「低代码 + 零代码」双模式驱动:低代码一键生成前后端代码,零代码 5 分钟搭建系统,AI Skills 一句话画流程、设计表单、生成整套系统。内置 AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领「AI 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,消除 Java 项目 80% 的重复工作,提效而不失灵活。
CowAgent
★ 44.7kCowAgent (chatgpt-on-wechat) 是基于大模型的超级AI助理,能主动思考和任务规划、访问操作系统和外部资源、创造和执行Skills、通过长期记忆和知识库不断成长,比OpenClaw更轻量和便捷。同时支持微信、飞书、钉钉、企微、QQ、公众号、网页等接入,可选择DeepSeek/OpenAI/Claude/Gemini/ MiniMax/Qwen/GLM/LinkAI,能处理文本、语音、图片和文件,可快速搭建个人AI助理和企业数字员工。
Minds Platform
★ 39.2kPlatform dedicated to building an open foundation for applied Artificial Intelligence, designed for people seeking production-ready AI systems they can truly control, extend and deploy anywhere.
Astrbot
★ 32.8kAI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative. ✨
Browse More Business Applications MCP Servers
Explore all business applications servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Drupal in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Drupal?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.