Drupal MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.2Updated Nov 14, 2026

Read and write Drupal JSON:API nodes, taxonomy terms, users and files.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableDeveloper ToolsBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server that lets an assistant read and write Drupal content through the site's JSON:API, with usage-metered plans.

What you can do
  • Discover resource types and list resources with sorting, pagination, includes and a single-field filter
  • Fetch a single resource by UUID and search node titles for a text string
  • Create, partially update and delete content entities
  • Check monthly call usage, request a missing feature, upgrade or cancel a paid plan
When to use it
Useful when you want an assistant to inspect or edit content on a Drupal site — listing content types, finding pages by title, or creating, updating and deleting nodes, taxonomy terms, users or files — without installing anything locally.
Requirements
A remote endpoint added as a custom connector or remote MCP server URL; no local install. Sign-in is via OAuth, and the login page asks for your Drupal credentials, which are validated and stored per user. No API key or Authorization header goes in the client config. A free plan allows 50 tool calls per month; paid plans are billed through Stripe Checkout.
Before you install
The server asks for your Drupal credentials at sign-in, so only connect a site you are willing to authorize. Create, update and delete tools change or remove live site data, including users and files; confirm before running them. Paid plans cost money (monthly or yearly), upgrades charge the price difference immediately, and cancellation gives no refund for the current period. Usage is capped by plan.

Installation

In SourceWeft

  1. Open Drupal MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fdrupal/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "drupal-by-usefulapi": {
      "type": "http",
      "url": "https://drupal.usefulapi.io/mcp"
    }
  }
}

README

Drupal MCP by usefulapi

Read and write Drupal JSON:API nodes, taxonomy terms, users and files. Hosted, no local install.

Live endpoint: https://drupal.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://drupal.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http drupal https://drupal.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "drupal": {      "url": "https://drupal.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Drupal credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/drupal/

On first connect you'll paste your Drupal credentials. They are validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
drupal_list_resource_typesreadList resource types
drupal_list_resourcesreadList resources
drupal_get_resourcereadGet resource
drupal_search_contentreadSearch content
drupal_create_resourcewriteCreate resource
drupal_update_resourcewriteUpdate resource
drupal_delete_resourcewriteDelete resource
drupal_usage_statusmetaUsage status (free-tier meter)
drupal_request_featuremetaRequest a missing feature
drupal_upgrademetaUpgrade to Pro or Pro+
drupal_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run drupal_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with drupal_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with drupal_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Source: servers/drupal/README.md at commit f22f848

Tools

7

drupal_list_resource_types

List resource types

List all available JSON:API resource types (entity_type/bundle pairs) with their hrefs, so the agent can discover what to query. JSON:API: GET /jsonapi.

Takes no parameters.

drupal_list_resources

List resources

List a collection of resources for an entity_type/bundle, with optional sorting, pagination, includes, and a single-field filter. JSON:API: GET /jsonapi/{entity_type}/{bundle}.

Parameterssortbundlerequiredincludepage_limitentity_typerequiredpage_offsetfilter_fieldfilter_valuefilter_operator

drupal_get_resource

Get resource

Get a single resource by UUID for an entity_type/bundle, with optional includes. JSON:API: GET /jsonapi/{entity_type}/{bundle}/{uuid}.

Parametersuuidrequiredbundlerequiredincludeentity_typerequired

drupal_search_content

Search content

Convenience node-title search: list nodes of a bundle whose title CONTAINS a query string. JSON:API: GET /jsonapi/node/{bundle} with a verbose CONTAINS filter on title.

Parametersqueryrequiredbundlerequiredpage_limit

drupal_create_resource

Create resource

Create a new resource (content entity) for an entity_type/bundle. JSON:API: POST /jsonapi/{entity_type}/{bundle} → 201. Body is { data: { type: entity_type--bundle, attributes, relationships? } }.

Parametersbundlerequiredattributesrequiredentity_typerequiredrelationships

drupal_update_resource

Update resource

Update an existing resource by UUID (partial update of attributes and/or relationships). JSON:API: PATCH /jsonapi/{entity_type}/{bundle}/{uuid}. Body is { data: { type, id: uuid, attributes?, relationships? } }.

Parametersuuidrequiredbundlerequiredattributesentity_typerequiredrelationships

drupal_delete_resource

Delete resource

Delete a resource by UUID. JSON:API: DELETE /jsonapi/{entity_type}/{bundle}/{uuid} → 204 (empty body). Returns a small confirmation.

Parametersuuidrequiredbundlerequiredentity_typerequired

Version history

26
  1. v1.39.2LatestNov 14, 2026
  2. v1.39.1Nov 13, 2026
  3. v1.38.0Nov 12, 2026
  4. v1.37.3Nov 11, 2026
  5. v1.36.5Nov 8, 2026
  6. v1.36.4Nov 7, 2026
  7. v1.35.3Nov 5, 2026
  8. v1.35.2Nov 5, 2026
  9. v1.35.1Nov 4, 2026
  10. v1.35.0Nov 3, 2026
  11. v1.34.1Nov 3, 2026
  12. v1.33.0Nov 1, 2026
  13. v1.31.0Oct 31, 2026
  14. v1.30.0Oct 31, 2026
  15. v1.29.2Oct 30, 2026
  16. v1.29.0Oct 30, 2026
  17. v1.24.0Oct 26, 2026
  18. v1.21.3Oct 25, 2026
  19. v1.21.0Oct 25, 2026
  20. v1.20.0Oct 24, 2026
  21. v1.17.0Oct 23, 2026
  22. v1.16.4Oct 22, 2026
  23. v1.16.3Oct 21, 2026
  24. v1.11.1Oct 9, 2026
  25. v1.10.0Oct 9, 2026
  26. v1.0.0Sep 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations