drupalorg-mcp
Provides tools for interacting with Drupal.org's public REST API, enabling issue tracking, project resolution, user lookup, and maintainer management on Drupal.org.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@drupalorg-mcplist open issues for the commerce payment project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
drupalorg-mcp
MCP server for drupal.org's public api-d7 REST API. Read-only, no authentication required.
Usage
Add https://drupalorg.piasecki.dev/mcp as a custom connector (claude.ai: Settings → Connectors → Add custom connector), or point any remote MCP client at it. No login, no token — it's read-only.
The hosted instance comes with no guarantees — no SLA, no uptime promise. The maintainer keeps it running and up to date on a best-effort basis for the time being. If you need reliability, run it yourself (below).
Related MCP server: ls-apis-mcp
Tools
resolve_project — resolve a project machine name (e.g.
commerce) to its numeric project ID.resolve_user — resolve a drupal.org username to its numeric uid.
list_issues — list issues, optionally filtered by project, status, priority, category, and/or author. Omit the project to search across all of drupal.org (e.g. "issues I created"). Paginated (50/page).
get_issue — full details for a single issue by node ID, including related merge requests and credit metadata.
get_issue_comments — all comments for an issue by node ID.
list_my_projects — list projects (modules/themes/distributions/core/recipes) owned by a given user. Useful before listing "open issues on my project".
get_project_maintainers — list a project's maintainers and their permissions, by machine name.
find_maintained_projects — reverse maintainer lookup, scoped to one owner: given a user and an owner (e.g.
centarro), returns which of the owner's projects that user maintains. drupal.org has no global user→projects maintainer endpoint, so this scansmaintainers.jsonfor every project authored byowner— not usable unscoped across all of drupal.org.
Tools that take an author/username/owner argument accept a username, a numeric uid, or the literal "me" (requires DRUPALORG_USERNAME env var, see below — local/stdio use only, not the hosted connector).
Related: drupalcode-mcp
This server (drupalorg-mcp) covers drupal.org itself — issue queues, projects, maintainers — via the public api-d7 REST API; read-only, no authentication.
Its sibling, drupalcode-mcp, covers git.drupalcode.org (Drupal's GitLab): code, merge requests, CI. It is authenticated — OAuth against git.drupalcode.org, each user acts as themselves.
A hosted instance of drupalcode-mcp is available at
https://drupalcode.piasecki.dev/mcp— add it as a custom connector in claude.ai or any remote MCP client. Best-effort, no SLA.The two complement each other: issue metadata and credits live on drupal.org, code and MRs live on git.drupalcode.org — use both for full coverage of a drupal.org project.
Running it yourself
Requirements
Node.js 18+ (uses global
fetch)
Quick start (Claude Code, stdio)
claude mcp add drupalorg -s user -e DRUPALORG_USERNAME=your-username -- npx -y drupalorg-mcp-e DRUPALORG_USERNAME=... is optional — set it to enable author: "me" in tool calls instead of passing your username every time. Verify with claude mcp list.
Add to other MCP clients
E.g. Claude Desktop's config:
{
"mcpServers": {
"drupalorg": {
"command": "npx",
"args": ["-y", "drupalorg-mcp"],
"env": { "DRUPALORG_USERNAME": "your-username" }
}
}
}DRUPALORG_USERNAME is optional — set it to enable author: "me" in tool calls instead of passing your username every time.
Running from a local checkout
For development, or if you'd rather not fetch from npm on every launch:
npm install
node index.jsSee CONTRIBUTING.md for the development workflow.
Hosting your own remote instance
The stdio server above only works with local MCP clients. To run your own https://.../mcp endpoint for claude.ai custom connectors or other remote MCP clients, see DEPLOYMENT.md for the Docker + reverse-proxy setup.
Notes
The
UAheader inserver-core.jsidentifies this tool to drupal.org's API — update it if you fork/republish under a different repo.All status/priority/category values are translated from drupal.org's internal numeric IDs to readable labels.
Contributing
See CONTRIBUTING.md for development setup, code structure, and publishing steps.
Built with Claude Code — code, docs, CI workflow, and npm packaging were written by Claude in collaboration with the repo owner.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Drupal sites via JSON:API, enabling CRUD operations on nodes, taxonomy terms, and users using natural language.8MIT
- AlicenseAqualityAmaintenanceMCP server for searching and discovering 4,000+ public APIs3MIT
- Alicense-qualityBmaintenanceMCP server for the Plane project management API, enabling issue retrieval, listing, commenting, state changes, and creation.1MIT
- AlicenseBqualityBmaintenanceMCP server for the GitHub REST API: issues, PRs, repos; read always on, write env-gated.14MIT
Related MCP Connectors
Crates.io MCP — wraps the crates.io REST API v1 (free, no auth)
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zaporylie/drupalorg-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server