> ## Documentation Index
> Fetch the complete documentation index at: https://phidatainc-studio-tools-doc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Zep

> The ZepTools toolkit enables an Agent to interact with a Zep memory system, providing capabilities to store, retrieve, and search memory data associated with user sessions.

**ZepTools** enable an Agent to interact with a Zep memory system, providing capabilities to store, retrieve, and search memory data associated with user sessions.

## Prerequisites

The ZepTools require the `zep-cloud` Python package and a Zep API key.

```shell theme={null}
uv pip install zep-cloud
```

```shell theme={null}
export ZEP_API_KEY=your_api_key
```

## Example

The following example demonstrates how to create an agent with access to Zep memory:

```python cookbook/14_tools/zep_tools.py theme={null}
import time

from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.tools.zep import ZepTools

# Initialize the ZepTools
zep_tools = ZepTools(user_id="agno", session_id="agno-session", add_instructions=True)

# Initialize the Agent
agent = Agent(
    model=OpenAIResponses(id="gpt-5.2"),
    tools=[zep_tools],
    dependencies={"memory": zep_tools.get_zep_memory(memory_type="context")},
    add_dependencies_to_context=True,
)

# Interact with the Agent so that it can learn about the user
agent.print_response("My name is John Billings")
agent.print_response("I live in NYC")
agent.print_response("I'm going to a concert tomorrow")

# Allow the memories to sync with Zep database
time.sleep(10)

# Refresh the context
agent.context["memory"] = zep_tools.get_zep_memory(memory_type="context")

# Ask the Agent about the user
agent.print_response("What do you know about me?")
```

## Toolkit Params

| Parameter                   | Type   | Default | Description                                                 |
| --------------------------- | ------ | ------- | ----------------------------------------------------------- |
| `session_id`                | `str`  | `None`  | Optional session ID. Auto-generated if not provided.        |
| `user_id`                   | `str`  | `None`  | Optional user ID. Auto-generated if not provided.           |
| `api_key`                   | `str`  | `None`  | Zep API key. If not provided, uses ZEP\_API\_KEY env var.   |
| `ignore_assistant_messages` | `bool` | `False` | Whether to ignore assistant messages when adding to memory. |
| `enable_add_zep_message`    | `bool` | `True`  | Add a message to the current Zep session memory.            |
| `enable_get_zep_memory`     | `bool` | `True`  | Retrieve memory for the current Zep session.                |
| `enable_search_zep_memory`  | `bool` | `True`  | Search the Zep memory store for relevant information.       |
| `instructions`              | `str`  | `None`  | Custom instructions for using the Zep tools.                |
| `add_instructions`          | `bool` | `False` | Whether to add default instructions.                        |

## Toolkit Functions

| Function            | Description                                                                                                                                                                                                                                |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `add_zep_message`   | Adds a message to the current Zep session memory. Takes `role` (str) for the message sender and `content` (str) for the message text. Returns a confirmation or error message.                                                             |
| `get_zep_memory`    | Retrieves memory for the current Zep session. Takes optional `memory_type` (str) parameter with options "context" (default), "summary", or "messages". Returns the requested memory content or an error.                                   |
| `search_zep_memory` | Searches the Zep memory store for relevant information. Takes `query` (str) to find relevant facts and optional `search_scope` (str) parameter with options "messages" (default) or "summary". Returns search results or an error message. |

## Async Toolkit

The `ZepAsyncTools` class extends the `ZepTools` class and provides asynchronous versions of the toolkit functions.

## Developer Resources

* View [Tools](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/zep.py)
