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

# Azure Tables

> Azure Table Storage authenticated task store. Specified; not in this repository yet.

> [!WARNING]
>
> `McpEssentials.AzureTables` is specified and is not in this repository yet.

Cheap point reads for task handles that live minutes. Weak queries. Pair with a queue or Service Bus for elicitation.

> [card] When it ships
>
> The host already uses Azure Table Storage and wants `PartitionKey = OwnerUserId`, `RowKey = TaskId`.

> [card] [Until then](https://si.easyaf.dev/mcpessentials/guides/stores/cosmos.md)
>
> Cosmos is the shipped Azure document store: partition by owner, native document TTL, index for background complete.

## Intended how-to

**1. Add the package**

Add `McpEssentials.AzureTables`.

**2. Create the tables**

Tasks table: `PartitionKey = OwnerUserId`, `RowKey = TaskId`. Secondary index `McpTaskIndex` with `PartitionKey = TaskId`, `RowKey = OwnerUserId` so server-side complete can find the owner.

**3. Register the store**

Singleton, same current-user factory as [Authenticated tasks](https://si.easyaf.dev/mcpessentials/guides/authenticated-tasks.md).

**4. Register a bus**

Tables have no native pub/sub. Register [`IMcpTaskInputSignalBus`](https://si.easyaf.dev/mcpessentials/api-reference/CloudNimble/McpEssentials/Core/Tasks/IMcpTaskInputSignalBus) (Azure Queue or Service Bus) for multi-node `ElicitAsync`.

## Related

> [card] [Cosmos DB](https://si.easyaf.dev/mcpessentials/guides/stores/cosmos.md)
>
> Shipped Azure document store with native TTL.

> [card] [Stores](https://si.easyaf.dev/mcpessentials/guides/stores.md)
>
> Pick a backing store by the engine you already run.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.