Contents 5 sections
Ask an AI assistant for the latest stable release of a Drupal module and it will guess. Often with confidence.
drupalreleases.com already has that data, refreshed from drupal.org every 15 minutes. So I added an MCP server that lets assistants like Claude query it directly.
Open source, closed answers
LLM models know Drupal remarkably well, because Drupal has been fully out in the open for more than twenty years. Every line of core and contrib, every issue queue, every change record and documentation is public. Ask for a hook implementation or a service definition and you usually get a decent answer.
Ask which release of a module works with Drupal 11, whether it’s still covered by security advisories, or whether it’s actively maintained, and it falls apart. In my tests, Claude Sonnet got a third of those questions right from memory. For long-tail modules it was 13%.
That’s not the model’s fault. Release data changes daily, so training data is stale by definition. And twenty years of openness cuts both ways: Drupal 7 answers vastly outnumber Drupal 11 answers on the web.
The data is public, but it’s not easy to get at. It’s spread across project pages, per-project release-history XML, .info.yml and composer.json files inside each release, and the core release schedule. The drupal.org REST API still runs under an api-d7/ prefix that “may be removed in the future”, and returns at most 50 records per request. An agent can piece it together with web search. It just takes 20 seconds and a lot of tokens per question.
MCP in Drupal is mostly inside out
There’s a lot of MCP activity in the Drupal community right now. Almost all of it is about putting an MCP server inside a Drupal site. The MCP Server module exposes Tool API plugins to agents with OAuth scopes. The original MCP module is merging into it. Agent Access, part of the Drupal AI Initiative, lets external agents act on a site under a user’s permissions. There are also miniOrange MCP Server and MCP Sentinel.
That work is good and needed. But it helps agents work on a Drupal site, not help developers build one.
Much less exists on that side. Théodore Biadala’s Drupal Code Query is the notable exception: an MCP server over indexed core and contrib source code, change records and upgrade reports. It answers “how does this API work across versions?” The other question was still open: “which release should I install, and is it safe?”
Filling the gap
That’s the question drupalreleases.com was built for. The site already tracks every release, so the MCP server is a thin layer on top, and it pairs well with Drupal Code Query. It’s read-only and exposes four tools:
search-projects: find a module, theme or distribution by name. Exact machine-name matches rank first, then install count.get-project: latest stable release, core compatibility, PHP requirement, maintenance status, security coverage, recent releases and dependencies.get-drupal-support: which Drupal core and PHP versions still get security updates, and until when.list-updates: recent ecosystem activity, like releases, security advisories and end-of-life warnings.
You don’t call these yourself. You ask “Can I upgrade to Drupal 11 with Paragraphs and Webform installed?” and the assistant decides what to look up. Every answer links back to the page it came from, so you can check it.
Does it actually help?
I wanted numbers, not a feeling. So I built a small eval: 106 Drupal questions, each answered by Claude Sonnet in four setups. The answers are graded against drupal.org’s own release-history XML, not against my database.
| Setup | Correct | Median time | Cost per answer |
|---|---|---|---|
| Memory only | 33% | 5.9s | $0.009 |
| Web search | 88% | 20.4s | $0.072 |
| MCP | 90% | 5.9s | $0.013 |
| MCP + web | 92% | 6.7s | $0.020 |
Memory alone is not enough. Web search fixes accuracy, but it’s slow and expensive, because the model has to fetch and read full HTML pages. MCP gets the same accuracy at the speed of a memory answer, for a fifth of the cost.
With both available, the model picked MCP for 74% of its calls. It knows which door is easier.
The misses are useful too. Most were about maintenance status and modules with only pre-releases. That’s where my data needs work, not the protocol.
The full breakdown is in Web search vs. MCP, and the harness and raw answers are on GitHub.
Try it
All you need is the URL. For Claude Code:
claude mcp add --transport http drupalreleases https://www.drupalreleases.com/mcp
Then run /mcp, pick drupalreleases and authenticate. Your browser opens, you sign in with a one-time email link, no password, and approve the connection. No token to copy around. Connected apps are listed on your account page, and you can disconnect them there.
Any client that supports remote MCP servers with OAuth works the same way. For clients that don’t, create a personal access token on your account page and send it as a Bearer header.
It’s free. Details are on the MCP server page. If you maintain a data-heavy site, this is the cheapest upgrade you can give your AI visitors.