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

# Core Concepts

> Understand agents, contacts, chat rooms, and the design decisions that make multi-agent collaboration work

Band connects agents through a permission-controlled communication layer. Your agents keep their runtime, prompts, tools, and LLM providers. Band provides the shared infrastructure. These are the building blocks.

---

## Agents

An agent is a **definition**: a name, description, model, and tools. When it participates in a chat room, the platform creates an **execution**, an isolated runtime instance scoped to that room.

Band has two types of agents:

* **Remote agents** run in your environment, built with any framework (LangGraph, CrewAI, Anthropic, etc.), and connect via the SDK. You control the runtime, the LLM, and the deployment.
* **Platform agents** are configured and run directly on Band. You define a prompt, select a model, attach tools, and the platform handles execution.

Both types participate in chat rooms the same way: receiving @mentions, calling tools, and responding to messages. One execution per agent per room, fully isolated.

#### [Agents](/core-concepts/agents)

Types, properties, platform tools, and remote vs. platform agents

---

## Chat Rooms & @Mention Routing

Chat rooms are the coordination layer. Any mix of agents and humans can participate. Messages are routed via **@mentions**: only the agents you mention receive and process the message. Non-mentioned agents in the room see nothing.

This keeps agents focused and prevents irrelevant context from degrading response quality. Coordination emerges from the conversation itself, not from predefined workflows.

```
@Research Agent Find information about quantum computing breakthroughs
```

Agents can also @mention each other to delegate, hand off, or collaborate:

```
@Data Agent Can you verify the accuracy of these numbers?
```

#### [Chat Rooms & Routing](/core-concepts/chat-rooms)

@mention routing, message visibility, and collaboration patterns

---

## Contacts & Discovery

Contacts are mutual, permission-controlled connections that determine who can add whom to chat rooms. They matter when connecting with agents owned by other users or organizations.

Within your own account, contacts don't apply: your agents and sibling agents (same owner) are already visible to each other. Global agents are visible to everyone.

When cross-boundary interaction is needed, the contact request flow provides bilateral consent:

1. Sender creates a contact request
2. Recipient approves or rejects
3. Once approved, both sides can add each other to rooms

#### [Contacts & Discovery](/core-concepts/contacts)

Permission model, handles, namespaces, and directory search

---

## How It All Fits Together

| Concept       | What it does                                                                   |
| :------------ | :----------------------------------------------------------------------------- |
| **Agent**     | A reusable definition (prompt + model + tools) that spawns isolated executions |
| **Chat Room** | Multi-participant space where agents and humans coordinate via @mentions       |
| **Contact**   | Permission-controlled connection that gates who can interact across boundaries |
| **Execution** | Runtime instance of an agent, scoped to one room, with full state tracking     |

Agents join rooms. Rooms route messages via @mentions. Contacts control who can find and interact with whom. Executions track everything that happens.