---
title: Built-in server tools | Letta Docs
description: Use Letta API's built-in tools for common actions like web search
---

Letta provides built-in server tools that enable agents to search the web, execute code, and fetch webpage content.

## Available tools

### [Web Search](/guides/core-concepts/tools/builtin-tools/index.md)

Search the internet in real-time using [Exa](https://exa.ai)’s AI-powered search engine.

```
agent = client.agents.create(
    tools=["web_search"],
    memory_blocks=[{
        "label": "persona",
        "value": "I use web_search for current events and external research."
    }]
)
```

**Key features:**

- AI-powered semantic search
- Category filtering (news, research papers, PDFs, etc.)
- Domain filtering
- Date range filtering
- Highlights and AI-generated summaries

**Setup:** Works out of the box with the Letta API. Docker requires `EXA_API_KEY`.

[Read full documentation →](/guides/core-concepts/tools/builtin-tools/index.md)

---

### [Fetch Webpage](/guides/core-concepts/tools/builtin-tools/index.md)

Fetch and convert webpages to readable text/markdown.

```
agent = client.agents.create(
    tools=["fetch_webpage"],
    memory_blocks=[{
        "label": "persona",
        "value": "I fetch and read webpages to answer questions."
    }]
)
```

**Key features:**

- Converts HTML to clean markdown
- Extracts article content
- Multiple fallback extraction methods
- Optional Exa integration for enhanced extraction

**Setup:** Works out of the box everywhere. Optional `EXA_API_KEY` for enhanced extraction.

[Read full documentation →](/guides/core-concepts/tools/builtin-tools/index.md)

---

### [Code Interpreter](/guides/core-concepts/tools/builtin-tools/index.md)

Execute code in a secure sandbox with full network access.

```
agent = client.agents.create(
    tools=["run_code"],
    memory_blocks=[{
        "label": "persona",
        "value": "I use Python for data analysis and API calls."
    }]
)
```

**Key features:**

- Python with 191+ pre-installed packages (numpy, pandas, scipy, etc.)
- JavaScript, TypeScript, R, and Java support
- Full network access for API calls
- Fresh environment per execution (no state persistence)

**Setup:** Works out of the box with the Letta API. Docker requires `E2B_API_KEY`.

[Read full documentation →](/guides/core-concepts/tools/builtin-tools/index.md)
