Toolsets
AGENT-K uses Pydantic-AI's FunctionToolset for custom tools and relies on built-in tools when a provider supports them. Built-in tools are preferred for web search, memory, and code execution.
Built-in Tools
Use built-in tools for web search, URL fetching, memory, and code execution. AGENT-K exposes helpers for configuring them:
from pydantic_ai import Agent
from agent_k.toolsets import prepare_web_search, prepare_web_fetch
agent = Agent(
"anthropic:claude-3-haiku-20240307",
builtin_tools=[prepare_web_search, prepare_web_fetch],
)
Memory (Anthropic only) requires a backend:
from pydantic_ai import Agent
from agent_k.toolsets import create_memory_backend, prepare_memory_tool, register_memory_tool
memory_backend = create_memory_backend()
agent = Agent(
"anthropic:claude-3-haiku-20240307",
builtin_tools=[prepare_memory_tool],
)
register_memory_tool(agent, memory_backend)
Code execution is enabled only for supported providers:
from agent_k.toolsets import prepare_code_execution_tool
agent = Agent(
"anthropic:claude-3-haiku-20240307",
builtin_tools=[prepare_code_execution_tool],
)
The Evolver also uses MCPServerTool to call Kaggle MCP endpoints for submissions.
Available Toolsets
Kaggle Toolset
Provides Kaggle API operations:
| Tool | Description |
|---|---|
kaggle_search_competitions |
Search for active competitions |
kaggle_get_competition |
Get competition details |
kaggle_get_leaderboard |
Get leaderboard entries |
kaggle_list_datasets |
List competition datasets |
Usage:
from pydantic_ai import Agent
from agent_k.adapters.kaggle import KaggleAdapter, KaggleSettings
from agent_k.core.deps import KaggleDeps
from agent_k.toolsets import kaggle_toolset
from agent_k.ui.agui import EventEmitter
config = KaggleSettings(username="you", api_key="your-key")
adapter = KaggleAdapter(config)
deps = KaggleDeps(kaggle_adapter=adapter, event_emitter=EventEmitter())
agent = Agent(
"anthropic:claude-3-haiku-20240307",
deps_type=KaggleDeps,
toolsets=[kaggle_toolset],
)
result = await agent.run("Find featured competitions", deps=deps)
Code Toolset
code_toolset provides helper tools used by the Evolver for code mutation and evaluation workflows. It is composed with the Evolver's own toolset via create_production_toolset.
Combining Toolsets
Use create_production_toolset to apply strict settings and approvals:
from agent_k.toolsets import create_production_toolset, kaggle_toolset
toolset = create_production_toolset(
[kaggle_toolset],
prefix="kaggle",
)
Error Handling
Toolsets return serializable data. Errors should return a structured dict or list so the model can respond gracefully.