> ## Documentation Index
> Fetch the complete documentation index at: https://docs.veadk.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Tools give an agent the ability to interact with the outside world beyond reasoning: web search, code execution, image and video generation, access to third-party services, and more. VeADK packages these capabilities as tools you can register directly. At runtime the agent decides on its own — based on user input and its instruction — whether to call a tool; the framework executes it automatically and feeds the result back into the reasoning process.

## Adding tools to an agent

Whatever the tool type, registration is the same: put the tool in the `Agent`'s `tools` list.

```python lines theme={null}
from veadk import Agent
from veadk.tools.builtin_tools.web_search import web_search

agent = Agent(tools=[web_search])
```

Once registered, the agent decides when to call a tool and how to pass arguments, based on the function signature / tool description, the user input, and its instruction. Multiple tools can be registered at once, and the agent picks among them as needed during reasoning.

## Tool categories

VeADK tools are grouped by how they connect and what they do.

| Category | Description | Docs |
| :- | :- | :- |
| Built-in tools | Pre-packaged function tools for web search, image and video generation, code sandboxes, and more | [Web search](/productions/veadk/archives/1.0.7/en/components/tools/web-search) |
| Built-in MCP tools | MCP toolsets for Feishu, LAS, VOD, MCP Router, Supabase, and more | [Feishu tools](/productions/veadk/archives/1.0.7/en/components/tools/lark) |
| Custom tools | Wrap any Python function as a tool to extend the agent | [Custom tools](/productions/veadk/archives/1.0.7/en/components/tools/custom-function) |
| System tools | Knowledge-base and long-term-memory retrieval tools mounted automatically from agent configuration | [Load a knowledge base](/productions/veadk/archives/1.0.7/en/components/tools/load-knowledgebase) |
| Content safety | Callback-based checks that block unsafe input and output | [Content safety](/productions/veadk/archives/1.0.7/en/components/security/content-safety) |
| Feishu Channel extension | Bridge inbound Feishu bot messages into the `Runner` | [Feishu Channel extension](/productions/veadk/archives/1.0.7/en/components/extensions/feishu-channel) |

<Note>
  Built-in tools and built-in MCP tools mostly depend on Volcengine services — enable the corresponding service and configure authentication (AK/SK, API keys) before use. System tools are managed by the framework and need not be added to the `tools` list manually.
</Note>
