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.
Quick start (Claude Code)
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.
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).
Requirements
Node.js 18+ (uses global
fetch)
Usage
Runs via npx — no install/clone needed, always fetches the latest published version.
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.
Notes
The
UAheader inindex.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.
Latest Blog Posts
- 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