kestra-io / kestra-io/plugin-anthropic

ChatCompletion: support Anthropic server-side tools (web_search, code_execution, computer_use, bash, text_editor, memory, MCP)

Open
#86 0 comments 0 reactions 0 assignees View on GitHub
area/plugin good first issue
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.