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

# Get First Available Memory Adapter • AI Agent SDK

> get_first_available_memory_adapter: Get first available memory adapter.

# get\_first\_available\_memory\_adapter

<div className="flex items-center gap-2">
  <Badge color="teal">Function</Badge>
</div>

> This function is defined in the [**registry**](../modules/registry) module.

Get first available memory adapter.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def get_first_available_memory_adapter(preferences: Optional[List[str]]) -> Optional[Tuple[str, MemoryProtocol]]
```

## Parameters

<ParamField query="preferences" type="Optional" required={false}>
  List of adapter names to try (defaults to \["sqlite", "in\_memory"]) \*\*kwargs: Configuration passed to adapter constructor
</ParamField>

### Returns

<ResponseField name="Returns" type="Optional[Tuple[str, MemoryProtocol]]">
  (adapter\_name, adapter\_instance) tuple or None
</ResponseField>

## Uses

* `get_first_available`
* `get_default_memory_registry`

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/memory/adapters/registry.py#L80">
  `praisonaiagents/memory/adapters/registry.py` at line 80
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Memory Concept" icon="brain" href="/docs/docs/concepts/memory" />

  <Card title="Memory Overview" icon="database" href="/docs/docs/memory/overview" />

  <Card title="Memory Configuration" icon="gear" href="/docs/docs/configuration/memory-config" />

  <Card title="Session Resume" icon="rotate-right" href="/docs/docs/memory/session-resume" />
</CardGroup>
