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

# Agents

export const GCell = ({children, className}) => <div className={`grid-table-cell ${className || ""}`} role="cell">
    {children}
  </div>;

export const GTH = ({children, className}) => <div className={`grid-table-th ${className || ""}`} role="columnheader">
    {children}
  </div>;

export const GRow = ({children}) => <div className="grid-table-row" role="row">{children}</div>;

export const GBody = ({children}) => <div className="grid-table-body" role="rowgroup">{children}</div>;

export const GHead = ({children}) => <div className="grid-table-head" role="rowgroup">{children}</div>;

export const GTable = ({children, className, cols}) => <div className={`grid-table not-prose overflow-hidden rounded-2xl ${className || ""}`} style={{
  "--grid-table-cols": cols
}} role="table">
    {children}
  </div>;

export const McpIcon = () => <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor" className="inline-block align-text-bottom" aria-label="MCP">
    <path d="M13.85 0a4.16 4.16 0 0 0-2.95 1.217L1.456 10.66a.835.835 0 0 0 0 1.18.835.835 0 0 0 1.18 0l9.442-9.442a2.49 2.49 0 0 1 3.541 0 2.49 2.49 0 0 1 0 3.541L8.59 12.97l-.1.1a.835.835 0 0 0 0 1.18.835.835 0 0 0 1.18 0l.1-.098 7.03-7.034a2.49 2.49 0 0 1 3.542 0l.049.05a2.49 2.49 0 0 1 0 3.54l-8.54 8.54a1.96 1.96 0 0 0 0 2.755l1.753 1.753a.835.835 0 0 0 1.18 0 .835.835 0 0 0 0-1.18l-1.753-1.753a.266.266 0 0 1 0-.394l8.54-8.54a4.185 4.185 0 0 0 0-5.9l-.05-.05a4.16 4.16 0 0 0-2.95-1.218c-.2 0-.401.02-.6.048a4.17 4.17 0 0 0-1.17-3.552A4.16 4.16 0 0 0 13.85 0m0 3.333a.84.84 0 0 0-.59.245L6.275 10.56a4.186 4.186 0 0 0 0 5.902 4.186 4.186 0 0 0 5.902 0L19.16 9.48a.835.835 0 0 0 0-1.18.835.835 0 0 0-1.18 0l-6.985 6.984a2.49 2.49 0 0 1-3.54 0 2.49 2.49 0 0 1 0-3.54l6.983-6.985a.835.835 0 0 0 0-1.18.84.84 0 0 0-.59-.245" />
  </svg>;

Agents are the core entities in Agent Studio. Each agent is a self-contained AI system that can perform tasks, interact with users, and connect to external services.

## Creating an agent

There are multiple ways to create an agent:

<Tabs>
  <Tab title="From a template">
    1. Select <Icon icon="robot" iconType="light" /> **Agents** from the left-hand navigation.
    2. Click <Icon icon="plus" iconType="light" /> **Create**.
    3. Select a template to create the agent.

    <Frame>
      <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_choose_template.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=d6baee965e9e652118416b6c6d8e4099" alt="Choose a template dialog showing agent templates organized by category" width="1922" height="1082" data-path="images/agent_studio_choose_template.png" />
    </Frame>
  </Tab>

  <Tab title="Blank agent">
    1. Select <Icon icon="robot" iconType="light" /> **Agents** from the left-hand navigation.

    2. Click <Icon icon="plus" iconType="light" /> **Create**.

    3. Click <Icon icon="plus" iconType="light" /> **Blank agent** at the bottom.

           <Frame>
             <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_choose_template.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=d6baee965e9e652118416b6c6d8e4099" alt="Choose a template dialog showing agent templates organized by category with Blank agent option at the bottom" width="1922" height="1082" data-path="images/agent_studio_choose_template.png" />
           </Frame>

    4. Enter a **Name** for your agent.

    5. Select an **AI Provider** and **Model**.

    6. Click **Create Agent**.
  </Tab>

  <Tab title="Anaconda Assistant">
    The Anaconda Assistant is available from the <Icon icon="house" iconType="light" /> **Home** page, or by selecting <Icon icon="sparkle" iconType="light" /> in the upper-right corner of any page.

    Describe the agent you want to create and the assistant handles the rest. Detailed requests that include your agent's purpose and intended behavior can result in a fully configured agent, including its system prompt, AI provider, and tools.
  </Tab>
</Tabs>

<Note>
  The agent's configuration page opens automatically after creation.
</Note>

## Configuring your agent

The agent configuration page displays all components that define your agent's behavior. Select an agent's card from the <Icon icon="robot" iconType="light" /> **Agents** page to view its configuration.

<Tip>
  Hover over any row and click <Icon icon="pencil" iconType="light" /> **Edit** to edit its configuration.
</Tip>

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_agent_config.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=87c00cf7af4f7d1a64884c26522353b9" alt="Agent configuration page showing AI Provider, Sandbox, Knowledge, and Capabilities sections" width="1922" height="850" data-path="images/agent_studio_agent_config.png" />
</Frame>

### AI provider

The AI Provider row configures which model powers your agent and how it generates responses.

To configure your agent's AI provider:

1. Click <Icon icon="pencil" iconType="light" /> **Edit** beside **AI Provider**.

2. Select an **AI Provider** from the dropdown. For more information, see [AI providers](/tools/anaconda-desktop/agent-studio/ai-providers).

3. Select a **Model** from the chosen provider.

4. Adjust the following settings as needed:

   * **Temperature**: Controls randomness in responses. Ranges from 0 (most deterministic) to 2 (most creative).

     <Note>
       Lower values work well for analytical tasks; higher values suit more creative tasks.
     </Note>

   * **Max tokens**: The maximum number of tokens the model can generate in a single response. Leave blank to use the model's maximum output length.

   * **Output format**: Choose between **Text** (default) and **JSON** for structured output.

5. Click **Save**.

   <Frame>
     <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_ai_provider_agent_config.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=de123f5740a94bbcb4f8236304267824" alt="AI Provider configuration modal" width="1922" height="1082" data-path="images/agent_studio_ai_provider_agent_config.png" />
   </Frame>

### Sandbox

The sandbox runs your agent inside a Docker container, isolating it from your local system. The agent cannot access your filesystem or network unless you explicitly configure folder mounts and networking.

<Warning>
  Running an agent in a sandbox requires Docker Desktop installed on your machine.
</Warning>

To configure the sandbox:

1. Click <Icon icon="pencil" iconType="light" /> **Edit** beside **Sandbox**.

2. Enable the **Run agent in a sandbox** toggle to reveal the configuration options.

3. Select a **Network** mode from the dropdown:

   * **Outbound** (default): The agent can make outgoing network requests. Agent Studio publishes the container's port to localhost so you can chat with it.
   * **Isolated**: No network access. The agent cannot reach external services or be reached from the host.
   * **Host network**: The agent shares the host's network namespace directly.

4. (Optional) Set **CPUs** and **Memory** limits for the container.

5. (Optional) Add folder mounts to give the agent access to specific directories on your machine. Click <Icon icon="plus" iconType="light" /> **Add mount**, then configure:

   * **Host path**: The directory on your machine to share with the container. Click the <Icon icon="folder" iconType="light" /> folder icon to browse your file system.
   * **Sandbox path**: The location inside the container where the directory is mounted.
   * **Permissions**: Choose **Read-only** or **Read/write**.

   <Tip>
     To remove a folder mount, click <Icon icon="trash" iconType="light" /> **Remove**.
   </Tip>

6. Repeat the previous step to add as many folder mounts as your agent requires.

7. Click **Save**.

<Frame>
  <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_sandbox_config.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=79289af93c28047b4000fdd4b38e7f82" alt="Sandbox configuration modal showing the run-in-sandbox toggle, network dropdown, resource limits, and folder mounts" width="1922" height="1082" data-path="images/agent_studio_sandbox_config.png" />
</Frame>

When you start an agent with sandbox enabled, Agent Studio builds a container image (indicated by a "building" status) and then launches the agent inside it. The image is cached and only rebuilt when your agent's dependencies change.

<Warning>
  If your agent uses MCP servers configured with `127.0.0.1` or `localhost` URLs, those addresses will not resolve inside the container. Use `host.docker.internal` instead to reach services running on your host machine.
</Warning>

### Knowledge

The Knowledge section shapes what your agent knows before a conversation begins. This includes instructions that guide its behavior and reference material it can draw from when responding.

#### System prompt

The system prompt defines your agent's role, tone, and behavioral guidelines. It also controls when and how the agent uses its tools. For guidance on writing effective system prompts, see [Crafting effective system prompts](/tools/anaconda-desktop/tutorials/system-prompt).

To set or edit a system prompt:

1. Click <Icon icon="plus" iconType="light" /> **Add System Prompt**, or click <Icon icon="pencil" iconType="light" /> **Edit** beside <Icon icon="scroll" iconType="light" /> **System Prompt** if one already exists.
2. Write your instructions in the text field.
3. Click **Save**.

#### Documents

Documents are reference files that Agent Studio inserts into the agent's context at the start of each conversation.

<Warning>
  Document content is inserted directly into the agent's context window. Large documents consume more of the available context, which can affect the quality of the agent's responses. Start with concise, focused documents and adjust based on your results.
</Warning>

To add documents, drag and drop files into the upload area on the agent configuration page, or click it to browse your file system.

To remove a document, click <Icon icon="xmark" iconType="light" /> beside the file name.

<Note>
  Maximum file size is 25 MB.
</Note>

### Capabilities

Capabilities extend what your agent can do. Click <Icon icon="plus" iconType="light" /> **Add Capability** on the agent configuration page to choose from:

* <Icon icon="python" iconType="brands" /> **Python Tool**: Write custom functions your agent can call during a conversation.
* <Icon icon="grid-2-plus" iconType="light" /> **Plugin**: Add pre-built integrations that bundle MCP tools and skills together.
* <McpIcon /> **MCP Server**: Connect your agent to external services, databases, and APIs.
* <Icon icon="book-open" iconType="light" /> **Skill**: Attach reusable workflows that guide how your agent uses its tools.

#### Python tools

Python tools are custom functions that your agent can call during a conversation. Tools are organized into modules, which are Python files that group related `@tool` functions. For example, you might create a module called `data_tools` that contains tools for querying a database and formatting results.

To add Python tools to your agent, click <Icon icon="plus" iconType="light" /> **Add Capability** > <Icon icon="python" iconType="brands" /> **Python Tool** on the agent configuration page.

**Creating a Python tool module**

1. Click <Icon icon="plus" iconType="light" /> **New module** in the center of the screen, or click <Icon icon="plus" iconType="light" /> in the upper-left corner of the sidebar.

2. In the New Python module dialog, enter a name using letters, numbers, and underscores. The name must start with a letter or underscore.

3. Click **Create**.

   Agent Studio creates the module with a sample tool function:

   ```python expandable theme={null}
   """my_tool tool module."""

   from anaconda_agent_runtime.tools import tool


   @tool
   def my_tool(query: str) -> str:
       """Describe what this tool does.

       Args:
           query: The input to process.

       Returns:
           The result of the operation.
       """
       return f"Result for: {query}"
   ```

4. Customize the generated function with your tool's logic and click **Save**.

   <Note>
     The model uses the function name as the tool name, argument names and type hints to build the tool's input schema, and the docstring as the tool's description.

     Write a clear docstring that describes what the tool does, what it accepts, and what it returns.
   </Note>

**Adding tools to a module**

To add additional tools to a module, select the module from the left-hand navigation, then click <Icon icon="plus" iconType="light" /> **Add Tool** in the upper right corner.

**Tool approval controls**

Each tool in the left-hand sidebar displays three approval controls:

* <Icon icon="shield-check" iconType="light" /> **Allow**: The agent can use this tool without asking for permission.
* <Icon icon="circle-question" iconType="light" /> **Ask**: The agent requests approval from the user before using this tool.
* <Icon icon="circle-xmark" iconType="light" /> **Disabled**: The agent cannot use this tool.

**Adding dependencies**

If your tools require external packages, click <Icon icon="plus" iconType="light" /> beside **Dependencies** in the lower-left corner of the Python Tools editor.

1. In the Add dependencies dialog, select a package source from the dropdown.
2. Enter the name of a package to search for it.
3. Click <Icon icon="plus" iconType="light" /> to add the package to the queue.
4. Repeat for each package you want to add.
5. Click **Add packages**.

Dependencies are managed through the agent's project environment and are available to all tool modules in the agent.

#### Plugins

Plugins add MCP tools and skills to your agent in a single step. When you add a plugin, its MCP tools and skills are automatically available to your agent. Plugin-managed items are labeled with the plugin name on the MCP and Skills rows so you can identify where they came from.

Agent Studio ships with the following plugins:

* **Atlassian**: Access Jira and Confluence for ticket management, sprint tracking, and documentation.
* **Miro**: Create and edit content on Miro boards, including sticky notes, flows, and diagrams.
* **nteract**: Work with Jupyter notebooks through MCP, including creating, running, and managing cells and kernels.
* **Omni Analytics**: Query data using natural language through Omni's governed semantic model.

To add a plugin:

1. Click <Icon icon="plus" iconType="light" /> **Add Capability** > <Icon icon="grid-2-plus" iconType="light" /> **Plugin** on the agent configuration page.
2. Select a plugin from the available options.
3. Click <Icon icon="plus" iconType="light" /> **Add to agent**.

<Note>
  To remove a plugin, return to the plugin configuration page and click <Icon icon="trash" iconType="light" /> **Remove from agent**.
</Note>

#### MCP

MCP (Model Context Protocol) servers connect your agent to external services, databases, and APIs. Before you can enable an MCP server for an agent, it must be registered in Agent Studio. For details on registering servers, see [MCP servers](/tools/anaconda-desktop/agent-studio/mcp-servers).

To enable an MCP server for your agent:

1. Click <Icon icon="plus" iconType="light" /> **Add Capability** > <McpIcon /> **MCP Server** on the agent configuration page. Agent Studio displays a searchable list of registered MCP servers.
2. Select an MCP server to expand it and view its tools.
3. Set the approval controls for each MCP tool.
4. Click **Save**.

#### Skills

Skills give your agent reusable workflows and context for when to use its tools. Before you can enable a skill for an agent, it must be added to Agent Studio. For details on adding skills, see [Skills](/tools/anaconda-desktop/agent-studio/skills).

To enable a skill for your agent:

1. Click <Icon icon="plus" iconType="light" /> **Add Capability** > <Icon icon="book-open" iconType="light" /> **Skill** on the agent configuration page.
2. Select the checkbox beside each skill you want to enable for this agent.
3. Click **Save**.

<Tip>
  Skills included with a plugin are labeled with the plugin name and do not need to be added separately.
</Tip>

## Starting and chatting with your agent

Once your agent is configured, you can start it and begin a conversation:

1. From the agent configuration page, click <Icon icon="play" iconType="light" /> **Start**.
2. Wait for the agent to finish starting. A notification appears when the agent is ready.
3. Click <Icon icon="message" iconType="light" /> **Chat** to open a conversation with the agent.

To stop a running agent, click <Icon icon="square" iconType="light" /> **Stop** from the agent configuration page.

<Tip>
  You can also click <Icon icon="message" iconType="light" /> **Chat** on a stopped agent. The agent starts automatically when you send your first message.
</Tip>

<Note>
  If your agent has MCP tools that require authentication, Agent Studio prompts you to authorize access when you start a chat.

  ***

  If your message or the agent's response triggers a safety filter (such as PII detection, secrets detection, or prompt injection protection), Agent Studio blocks the response and displays a "Blocked by safety filter" warning in the chat.
</Note>

## Monitoring agents

The Agent Monitor displays a real-time stream of events from your running agents, including tool calls, model requests, and lifecycle changes. Use it to verify that your agent is behaving as expected or to diagnose unexpected behavior.

<Tabs>
  <Tab title="From the Agents page">
    Click <Icon icon="wave-pulse" iconType="light" /> **Monitor** to open the monitor in a dedicated window. This view shows events from all running agents.

    <Frame>
      <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_monitor.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=356fc842805f9f9c87fb778914221b96" alt="Agent Monitor window showing connected agents organized by agent with event counts and connection status" width="1804" height="1046" data-path="images/agent_studio_monitor.png" />
    </Frame>

    Use the controls in the upper right to change the view:

    * <Icon icon="list" iconType="light" /> **Timeline**: Displays events in chronological order across all agents.
    * <Icon icon="layer-group" iconType="light" /> **By Agent**: Groups events under each agent.
    * <Icon icon="arrow-rotate-left" iconType="light" /> **Reset**: Clears all recorded events from the monitor.
  </Tab>

  <Tab title="From a chat">
    Click <Icon icon="wave-pulse" iconType="light" /> **Monitor** in the chat window to open a panel on the right side. This view shows events for the current conversation.

    <Frame>
      <img src="https://mintcdn.com/anaconda-29683c67/gLbMdeIS1UWlIs9N/images/agent_studio_monitor_chat.png?fit=max&auto=format&n=gLbMdeIS1UWlIs9N&q=85&s=6ca994e1a38c5f8e7b1c77ca8081adeb" alt="Chat window with the Agent Monitor panel open on the right side showing activity for the current conversation" width="1922" height="1082" data-path="images/agent_studio_monitor_chat.png" />
    </Frame>
  </Tab>
</Tabs>

## Comparing agents and models

To compare responses from multiple agents or models side by side:

1. Select <Icon icon="message" iconType="light" /> **Chats** from the left-hand navigation.
2. Click <Icon icon="message-plus" iconType="light" /> **New**, then click <Icon icon="columns-3" iconType="light" /> **Compare Chat**.
3. Select the checkbox beside two to four agents or models to compare.
4. Click **Start**.
5. Enter a message. Agent Studio sends it to all selected agents or models simultaneously and displays their responses in side-by-side columns.

<Note>
  Agents or models that require credentials (such as API keys) are unavailable until their provider is configured. See [AI providers](/tools/anaconda-desktop/agent-studio/ai-providers).
</Note>

## Connecting to your agent

Every running agent exposes HTTP endpoints that you can use to send messages from scripts, integrate with automation pipelines, or connect from other MCP clients. Once your agent is running, click <Icon icon="link-simple" iconType="light" /> **Connect** from the agent configuration page to open the Connection Info dialog.

The Connection Info dialog displays the following endpoints:

<GTable cols="28% 15% 57%">
  <GHead>
    <GRow>
      <GTH>Endpoint</GTH>
      <GTH>Method</GTH>
      <GTH>Description</GTH>
    </GRow>
  </GHead>

  <GBody>
    <GRow>
      <GCell>**Runtime root (web UI)**</GCell>
      <GCell>`GET`</GCell>
      <GCell>Base URL for the agent's HTTP server. The embedded web UI is served from this origin.</GCell>
    </GRow>

    <GRow>
      <GCell>**OpenAI-compatible chat**</GCell>
      <GCell>`POST`</GCell>
      <GCell>Request body follows the OpenAI chat completions schema (model, messages, optional stream).</GCell>
    </GRow>

    <GRow>
      <GCell>**List models**</GCell>
      <GCell>`GET`</GCell>
      <GCell>Lists agents as models. Use the agent name as the model ID when calling the desktop chat API.</GCell>
    </GRow>

    <GRow>
      <GCell>**Health check**</GCell>
      <GCell>`GET`</GCell>
      <GCell>Returns when the agent's runtime process is up.</GCell>
    </GRow>

    <GRow>
      <GCell>**Monitor (SSE)**</GCell>
      <GCell>`GET`</GCell>
      <GCell>Streams lifecycle and activity events (same feed as Agent Monitor in the app).</GCell>
    </GRow>

    <GRow>
      <GCell>**MCP server (SSE)**</GCell>
      <GCell>`GET`</GCell>
      <GCell>The MCP SSE endpoint for connecting external MCP clients.</GCell>
    </GRow>
  </GBody>
</GTable>

## Opening agent files

Click **Open** to open your agent's project folder in your file system or an external editor like VS Code. The folder contains the agent definition (`agent.yaml`), Python tool modules, skills, and project configuration.

<Note>
  Configure which editors appear in the **Open** menu from Agent Studio's **Settings** page.
</Note>

## Multi-agent orchestration

Every running agent in Agent Studio is exposed as an MCP server on your local machine. Any other agent, whether in Agent Studio or in an external tool like Claude Desktop, Cursor, or VS Code, can connect to it and delegate tasks.

To connect one agent to another:

1. [Start the target agent](#starting-and-chatting-with-your-agent).
2. Click <Icon icon="link-simple" iconType="light" /> **Connect** from the target agent's configuration page.
3. Copy the **MCP server (SSE)** URL.
4. [Register the target agent as an MCP server](/tools/anaconda-desktop/agent-studio/mcp-servers#registering-an-mcp-server) using the SSE URL.
5. [Enable the MCP server](/tools/anaconda-desktop/agent-studio/agents#mcp) for the calling agent.

The calling agent can now send prompts to the target agent through a single MCP tool. The target agent's internal tools and context are not exposed to the caller, so each agent's responsibilities remain separate.

For example, you can create one agent for code review and another for documentation lookup, then connect them both to a coordinator agent.

For more information about creating tool-only services that agents can connect to, see [Creating a tool server](/tools/anaconda-desktop/agent-studio/tool-servers).

## Deleting an agent

1. Select <Icon icon="robot" iconType="light" /> **Agents** from the left-hand navigation.
2. Click <Icon icon="ellipsis" iconType="light" /> on the agent's card.
3. Select <Icon icon="trash" iconType="light" /> **Delete** to remove the agent.

<Danger>
  Deleting an agent removes its configuration, documents, and tools. This action cannot be undone.
</Danger>
