Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

tool

187 sites Security covered
View on drupal.org

A pluggable API for defining executable logic with typed Inputs and Outputs.

The Tool API module provides a modern, typed, and extensible framework for defining executable units of logic in Drupal. Think of it as a next-generation replacement for core Actions—but with clear input/output schemas, less ambiguity, and designed to be reused across different systems.

Tools are defined with typed Inputs and Outputs, making them easy to validate, document, and reuse. They can power everything from workflow engines to AI agents, or simply provide cleaner APIs for developers who need to expose functionality in a structured way. Tools are expected to be usable completely from configuration or from arguments passed at call time, or with a mix of both.

Where'd the tools go?

You may notice the default tools are gone from Tool API. This was intentional to allow for the community to build their own sets of tools over time. To access the previous curated collection of core tools, checkout Tool Belt, which provides the same tools you may have been accustomed to in alpha and will continue to grow.

We encourage module maintainers to provide tools in your own modules, and also share collections of other tools you've had success with.

Why Tool API?

Drupal’s current Actions API is useful but limited:

  • Input is loosely defined, outputs are non-existent.
  • Inputs, Form and Configuration are all 'defined' separately, without anything binding them together.
  • Extending Actions for new use cases (e.g., AI integration, automation engines) is difficult.

Tool API addresses these problems by:

  • Inputs and Outputs, and Results message built into the contract
  • Using ContextDefinition-style typed data to make every tool self-describing
  • Allowing hierarchical/nested definitions to cover complex use cases.
  • Forms and config schema automatically generated from Input Definitions

Use Cases

  • Developers: expose custom functionality as reusable Tools instead of writing custom Actions/Conditions.
  • Workflow Builders: plug Tools into ECA or Rules-style engines with clear input/output schemas.
  • AI Integrations: Tools can be exported as JSON Schema for use in OpenAI/Anthropic tool-calling, allowing Drupal functionality to be safely invoked by AI agents.
  • Site Builders: more predictable and validated Actions when building automations.

Roadmap

Tools can now be used across AI Agents (using thetool_ai_connector submodule) and MCP. Support for ECA is being worked on and should be coming very soon.

I'm also working on a Tool Refiner module that will allow users to define preconfigured versions of existing tools with some values preset and/or additional constraints added. This allows you to expose specialist versions of tools to other modules without having to make a tools full unrestricted capabilities available.

Supporting this Module

Creation of this module and my work toward the AI initiative have been split between donating my own time and supporting organizations. If you are interested in supporting my efforts, please reach out through direct message or Drupal slack.

Activity

Total releases
12
First release
Aug 2025
Latest release
4 weeks ago
Release cadence
19 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.0-beta1 Pre-release Mar 20, 2026
1.0.0-alpha10 Pre-release Dec 6, 2025
1.0.0-alpha9 Pre-release Nov 20, 2025
1.0.0-alpha8 Pre-release Nov 13, 2025
1.0.0-alpha7 Pre-release Nov 10, 2025
1.0.0-alpha6 Pre-release Oct 27, 2025
1.0.0-alpha5 Pre-release Oct 20, 2025
1.0.0-alpha4 Pre-release Oct 10, 2025
1.0.0-alpha3 Pre-release Oct 10, 2025
1.0.0-alpha2 Pre-release Aug 28, 2025
1.0.x-dev Dev Aug 27, 2025
1.0.0-alpha1 Pre-release Aug 27, 2025