> ## 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.

# Registry

> Register tools, models, databases, and schemas for use in AgentOS Studio.

**The Registry manages non-serializable components (tools, models, databases, schemas, functions, etc.) that Studio depends on.**

## Component Types

* **Tools** : `Toolkit` instances, `Function` objects, or plain callables.
* **Models** : model provider instances (OpenAI, Anthropic, etc.).
* **Databases** : `BaseDb` instances for storage.
* **Vector DBs** : `VectorDb` instances for knowledge bases.
* **Schemas** : Pydantic `BaseModel` subclasses for structured I/O.
* **Functions** : Python callables used as workflow evaluators, selectors, or executors.
* **Knowledge** : `Knowledge` instances for RAG.
* **Memory Managers** : `MemoryManager` instances for memory management.
* **Session Summary Managers** : `SessionSummaryManager` instances for session summary management.
* **Teams** : `Team` instances to reuse as members in teams and workflows.
* **Agents** : `Agent` instances to reuse as members in teams and workflows.

<img src="https://mintcdn.com/phidatainc-studio-tools-doc/YKjk4lDceLWnD8SR/images/agent-os-studio-registry.png?fit=max&auto=format&n=YKjk4lDceLWnD8SR&q=85&s=0873fc1f2fdc2d06d5d774dd78b91b46" alt="Open Studio Registry from the Studio navigation" style={{ borderRadius: "8px" }} width="1200" height="920" data-path="images/agent-os-studio-registry.png" />

Example of registry configuration:

```python theme={null}
from agno.db.postgres import PostgresDb
from agno.models.openai import OpenAIChat
from agno.models.anthropic import Claude
from agno.os import AgentOS
from agno.registry import Registry
from agno.tools.calculator import CalculatorTools
from agno.tools.websearch import WebSearchTools
from agno.vectordb.pgvector import PgVector
from pydantic import BaseModel

class InputSchema(BaseModel):
    input: str
    description: str

def custom_evaluator(input: str) -> bool:
    return "urgent" in input.lower()

db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai", id="postgres_db")
user_memory_manager = MemoryManager(
    model=Claude(id="claude-opus-4-7"),
    db=db,
     additional_instructions="""
    IMPORTANT: Don't store any memories about the user's name. Just say "The User" instead of referencing the user's name.
    """,
)
concise_summary_manager = SessionSummaryManager(
    model=OpenAIResponses(id="gpt-5-mini"),
    session_summary_prompt=(
        "Summarize the conversation in 3-5 bullet points focused on decisions, "
        "open questions, and any follow-ups required."
    ),
    last_n_runs=10,
)
agent_knowledge = Knowledge(
    name="Agent Knowledge",
    description="Example knowledge base for agents",
    vector_db=PgVector(table_name="agent_knowledge_documents", db_url=DB_URL),
    contents_db=db,
)

registry = Registry(
    name="My Registry",
    tools=[CalculatorTools(), WebSearchTools()],
    models=[OpenAIChat(id="gpt-5-mini"), Claude(id="claude-sonnet-4-5")],
    dbs=[db],
    vector_dbs=[PgVector(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai", table_name="embeddings")],
    schemas=[InputSchema],
    functions=[custom_evaluator],
    memory_managers=[user_memory_manager],
    session_summary_managers=[concise_summary_manager],
    knowledge=[agent_knowledge],
)

agent_os = AgentOS(id="my-app", registry=registry, db=db)
app = agent_os.get_app()
```

## Registry API

The registry exposes a [`GET /registry`](/reference-api/schema/registry/list-registry) endpoint through AgentOS with filtering and pagination.

### Query Parameters

| Parameter        | Type     | Default | Description                                                              |
| ---------------- | -------- | ------- | ------------------------------------------------------------------------ |
| `component_type` | `string` | `None`  | Filter by type: `TOOL`, `MODEL`, `DB`, `VECTOR_DB`, `SCHEMA`, `FUNCTION` |
| `name`           | `string` | `None`  | Partial name match (case-insensitive)                                    |
| `page`           | `int`    | `1`     | Page number                                                              |
| `limit`          | `int`    | `20`    | Items per page (1-100)                                                   |

### Response Metadata

Each component in the response includes type-specific metadata:

| Component Type          | Metadata Fields                                              |
| ----------------------- | ------------------------------------------------------------ |
| Tool                    | `class_path`, `parameters`, `signature`, toolkit `functions` |
| Model                   | `provider`, `model_id`                                       |
| Database                | `db_id`                                                      |
| Vector DB               | `collection`, `table_name`                                   |
| Schema                  | JSON schema definition                                       |
| Function                | `signature`, `parameters`                                    |
| Knowledge               | `name`, `description`, `vector_db`, `contents_db`            |
| Memory Manager          | `model`, `additional_instructions`, `db`                     |
| Session Summary Manager | `model`, `session_summary_prompt`, `last_n_runs`             |
| Team                    | `name`, `type`, `id`, `metadata`                             |
| Agent                   | `name`, `type`, `id`, `metadata`                             |

## Developer Resources

* [Registry reference](/reference/agent-os/agent-os)
* [Registry API reference](/reference-api/schema/registry/list-registry)
* [Studio overview](/agent-os/studio/introduction)
* [Workflow serialization](/agent-os/studio/workflows)
