Dries Buytaert Demonstrates Drupal Tool Reuse Across AI, APIs and Workflows

A Photo-Module Experiment Points Towards Reusable Drupal Tool Descriptions
Dries Buytaert in a blue suit beside the headline "One Drupal Module, Multiple Ways to Connect". Text explains "Dries Buytaert's prototype reuses tool descriptions across AI assistants, APIs and workflows." Identified as "Founder and Project Lead of Drupal" with The Drop Times branding.

A Drupal photo-module experiment has shown how existing operations can be reused by AI assistants, front-end applications and workflow tools without rebuilding the underlying functions for each integration. Dries Buytaert detailed the work in a 15 October 2026 blog post, arguing that shared descriptions of data and operations could become a standard part of Drupal development.

Buytaert used the contributed Tool module, which provides Tool API, to expose existing methods in his custom photo module as callable tools. PHP attributes describe operations and their inputs and outputs, while Tool API uses Drupal's Typed Data API to generate JSON Schema. The module, which manages more than 10,000 photos, exposes seven tools for tasks such as finding images and updating metadata. AI assistants can invoke them through the Model Context Protocol (MCP), with permissions and validation handled through a shared tool runner; individual operations must still enforce resource-level restrictions.

The same operations also serve other interfaces. Buytaert built a read-only HTTP route and OpenAPI generator using fewer than 150 lines of PHP, then used the generated specification to build a 45-line React photo-search component with Claude Code. He also described how ECA, FlowDrop and Maestro can call Tool API operations as workflow steps. The HTTP and OpenAPI connecting code remains a prototype on his site, not a feature available generally in Drupal.

Reusing data descriptions exposed another gap. Buytaert generated a shared schema for his photo components, but Drupal core's Single Directory Components API does not yet resolve external schema references into their full property definitions. A proposed fix in core issue #3352063 has not been merged. Attribute-based Tool API definitions are likewise available in the project's development version, rather than a stable release.

Buytaert is organising a Rosetta Sprint with module maintainers and core committers to examine how shared descriptions and integrations could become reusable infrastructure. No common standard or core adoption has been agreed. The experiment demonstrates what is possible for one module; Rosetta aims to reduce the additional work other maintainers would need to achieve similar reuse.

Disclosure: This content is produced with the assistance of AI.

Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please reach out to us at #thedroptimes channel on Drupal Slack and we will try to address the issue as best we can.

Related People

Upcoming Events