> This page is for Voice APIs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://dev.hume.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://dev.hume.ai/_mcp/server.

# Tools

EVI supports tool use to enhance conversations. Tools allow EVI to trigger custom logic based on user input, such as
searching the web, invoking business logic, calling an API, or updating a database.

Tool use is only supported when specifying certain [supplemental LLMs](/docs/speech-to-speech-evi/configuration/language-model) within your configuration. Currently, tool use
is supported by [Claude](https://docs.anthropic.com/en/docs/tool-use),
[GPT](https://platform.openai.com/docs/guides/function-calling),
[Gemini](https://ai.google.dev/gemini-api/docs/function-calling),
and [Moonshot AI](https://platform.moonshot.ai/docs/guide/use-kimi-api-to-complete-tool-calls) models. Function calling is also available if you are
using your own custom language model using the [OpenAI function calling specification](https://platform.openai.com/docs/guides/function-calling).

For best results, we suggest choosing a fast and intelligent LLM that performs well on function calling benchmarks.

#### [Tool Use Guide](/docs/speech-to-speech-evi/features/tool-use)

See our guide for defining tools and configuring EVI to use them.

## Tool types

### Function tools

Also sometimes referred to as **client tools**, function tools are schemas containing a description and parameters.

When included in your EVI configuration, the model will infer when your function should be called and with which
arguments based upon the user's prompt and the tool schema's tool and parameter descriptions. You then invoke a
function in your application code with the provided arguments and send the result to EVI for response generation.

Function tools are user-defined, and are created and managed via our Platform UI or through the API.

### Built-in tools

Often referred to as **server tools**, are tools which are natively implemented on the server, and therefore do not
require you to define or invoke them.

**EVI currently supports two built-in tools:**

1. **web_search**: Searches the web for real-time information when needed.
2. **hang_up**: Closes the WebSocket connection with a status code of 1000 (normal closure), typically
   triggered when the conversation has ended.

## Creating tools

You can create and manage Tools through our UI or programmatically using our API.

#### [Tools UI](https://app.hume.ai/evi/tools)

Visit our Platform UI to create and manage Tools.

#### [Tools API](/reference/speech-to-speech-evi/tools/create-tool)

Explore our API reference for details on how to create and manage Tools through the API.

---