Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Block Layout Accordion 1.0.2 Minor update available for module block_layout_accordion (1.0.2). Release: Canvas interactive toggle 1.0.2 Minor update available for module canvas_interactive_toggle (1.0.2). Release: Views HTTP Client 1.0.2 Minor update available for module views_http_client (1.0.2). Release: Block Layout Accordion 1.0.1 Minor update available for module block_layout_accordion (1.0.1). Release: Canvas interactive toggle 1.0.1 Minor update available for module canvas_interactive_toggle (1.0.1). Release: Video.js (HTML5 Video Player) 10.0.0-alpha1 First alpha version released for module videojs (10.0.0-alpha1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Release: Audit Trail 1.0.0-alpha7 New alpha version released for module audit_trail (1.0.0-alpha7). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

The Tool API module provides a framework for defining reusable logic units with clear, typed inputs and outputs. This makes it easier to validate, document, and integrate functionality into various systems, from workflow engines to AI agents, acting as a modern alternative to Drupal's core Actions API.

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.

Module Support

The following modules can be used together with Tool API:

  • AI Agents - install the Tool AI Connector submodule and tools are available for Agents. In AI 2.0 Tool API will work natively with agents.
  • ECA - install the ECA Tool Integration module and tools are available in ECA.
  • FlowDrop - workflow orchestration module.
  • MCP Client - connect to any MCP Server in the world and make the tools available to Drupal.
  • MCP Server - make any tool inside your Drupal instance available to any conding agent/MCP Client.

Roadmap

I'm 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.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

3 tracked projects depend on this one

Activity

Tracked releases
17
Tracked since
Aug 2025
Latest release
2 weeks ago
Releases (12 mo)
14 ▲ from 3
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.0-beta6 Pre-release 10–11 Aug 13, 2026
1.0.0-beta5 Pre-release 10–11 Aug 13, 2026
1.0.0-beta4 Pre-release 10–11 Aug 11, 2026
1.0.0-beta3 Pre-release 10–11 Jul 30, 2026
1.0.0-beta2 Pre-release 10–11 Jun 5, 2026
1.0.0-beta1 Pre-release 10–11 Mar 20, 2026
1.0.0-alpha10 Pre-release 10–11 Dec 6, 2025
1.0.0-alpha9 Pre-release 10–11 Nov 20, 2025
1.0.0-alpha8 Pre-release 10–11 Nov 13, 2025
1.0.0-alpha7 Pre-release 10–11 Nov 10, 2025
1.0.0-alpha6 Pre-release 10–11 Oct 27, 2025
1.0.0-alpha5 Pre-release 10–11 Oct 20, 2025
1.0.0-alpha4 Pre-release 10–11 Oct 10, 2025
1.0.0-alpha3 Pre-release 10–11 Oct 10, 2025
1.0.0-alpha2 Pre-release 10–11 Aug 28, 2025
1.0.x-dev Dev 10–11 Aug 27, 2025
1.0.0-alpha1 Pre-release 10–11 Aug 27, 2025