> For clean Markdown of any page, append `.md` to the page URL.
> For a complete documentation index, see https://docs.sarvam.ai/llms.txt.
> For full documentation content in one file, see https://docs.sarvam.ai/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.sarvam.ai/_mcp/server.

# Tools

Tools let an agent *act*: call your APIs, validate what it collected, and run built-in behaviours. The model decides when to call a tool via function calling; the [harness](/conversations/build/concepts/harness) validates and executes it.

#### [Core tools](/conversations/build/tools/core-tools)

Built-in tools the harness provides.

#### [API tool](/conversations/build/tools/https-tool)

Call your own APIs over HTTPS.

#### [Data validation & verification](/conversations/build/tools/data-validation)

Validate or verify what the agent collects.

#### [Mocking a tool](/conversations/build/tools/mocking-a-tool)

Test agents without calling the real backend.

## Global vs state-level tools

* **Global tools** are available across all states, for capabilities needed anywhere (for example, look up a customer by phone).
* **State-level tools** are scoped to specific states, to gate sensitive actions (for example, only allow a payment tool after verification). See [Multi-state agents](/conversations/build/states-conversation-flow).

## Controlling context sent to the LLM

Each tool has a toggle that controls whether it's sent to the LLM. It's on by default, so the agent sees the tool and can call it. Turn it off to not send it in the context anymore.