kestra-io / kestra-io/plugin-anthropic
ChatCompletion: support Anthropic server-side tools (web_search, code_execution, computer_use, bash, text_editor, memory, MCP)
- Dominant language
- Java
- Stars
- 0
- Forks
- 4
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 3
Description
Part of #75.
## What
Expose Anthropic-defined / server-side tools so flows can opt in without hand-rolling JSON schemas. These are first-class tools provided by Anthropic rather than user-defined functions.
## Tools to support
- `web_search` — real-time web results inline in the response.
- `code_execution` — run Python in a sandboxed interpreter; requires Files for inputs/outputs.
- `computer_use` — GUI automation (screenshot → action loop).
- `bash` — execute shell commands.
- `text_editor` — view/edit files during agentic tasks.
- `memory` tool — persistent key-value memory across conversations.
- MCP connectors — `mcp_servers` request param to attach remote MCP tool providers.
## Suggested approach
Introduce a `BuiltInTool` variant alongside the existing `Tool` class (which is user-defined), or a `serverTools` list property on `ChatCompletion`. Each built-in tool maps to the corresponding `ToolUnion` variant in the SDK.
## Dependencies
`code_execution` depends on the `Files` task (separate issue) for uploading inputs and downloading outputs.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at ChatCompletion and the existing Tool class, then trace how ToolUnion variants are represented in the SDK. Review the listed Anthropic server-side tools and the mcp_servers request parameter, keeping code_execution aligned with the separate Files task. Done means every listed tool can be opted into without hand-written user tool schemas.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- ai, api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100