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.
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
Hosted MCP server that lets an assistant read and write Drupal content through the site's JSON:API, with usage-metered plans.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
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.Add this to your client's mcpServers config.
{
"mcpServers": {
"drupal-by-usefulapi": {
"type": "http",
"url": "https://drupal.usefulapi.io/mcp"
}
}
}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
https://drupal.usefulapi.io/mcp.claude mcp add --transport http drupal https://drupal.usefulapi.io/mcp, then run /mcp to log in.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.
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.
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].
MIT
Source: servers/drupal/README.md at commit f22f848
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.
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}.
sortbundlerequiredincludepage_limitentity_typerequiredpage_offsetfilter_fieldfilter_valuefilter_operatorGet resource
Get a single resource by UUID for an entity_type/bundle, with optional includes. JSON:API: GET /jsonapi/{entity_type}/{bundle}/{uuid}.
uuidrequiredbundlerequiredincludeentity_typerequiredSearch 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.
queryrequiredbundlerequiredpage_limitCreate 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? } }.
bundlerequiredattributesrequiredentity_typerequiredrelationshipsUpdate 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? } }.
uuidrequiredbundlerequiredattributesentity_typerequiredrelationshipsDelete resource
Delete a resource by UUID. JSON:API: DELETE /jsonapi/{entity_type}/{bundle}/{uuid} → 204 (empty body). Returns a small confirmation.
uuidrequiredbundlerequiredentity_typerequired100% 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.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Read-only access to ROLLER venue data: search bookings, check product availability, and look up guests, waivers, gift cards and daily reports.
io.usefulapiOfficial publisher
Hosted Planerio connector that lets an assistant read shifts, staffing requirements, staff, employees, absences and vacation days.
io.usefulapiOfficial publisher
Read-only access to Marmin UAE e-invoicing data: invoices, credit notes, UBL XML, Peppol status and business profiles.
io.usefulapiOfficial publisher
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
{ "mcpServers": { "drupal": { "url": "https://drupal.usefulapi.io/mcp" } }}