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

# Resources

> Mount workspace documents as sidecars://document/{id} resources, how the listing is filtered, and why there are no prompts.

Hosts that mount MCP **resources** next to tools (context pickers, "@"
attachments) see one resource template on the Sidecars server. Resources are
read-only views; they are not callable tools and cannot change anything.

## `sidecars://document/{id}`

| Property    | Value                                                                         |
| ----------- | ----------------------------------------------------------------------------- |
| Name        | `document`                                                                    |
| Title       | Workspace documents                                                           |
| Description | Shared collaborative documents in the pods this connection's user belongs to. |
| MIME type   | `text/markdown`                                                               |
| Argument    | `id` — an artifact id (the same value `read_document` takes as `document_id`) |

### Listing

`resources/list` returns up to 50 of the documents the signed-in person can
reach, using the same membership-filtered listing as
[`list_documents`](/reference/documents#list_documents) with no selector.
Only artifacts of type `document` are listed; pages and tables are not.

Each entry has the form:

```json theme={null}
{
  "uri": "sidecars://document/k97fq2example000000000000000000",
  "name": "Q3 launch plan",
  "mimeType": "text/markdown"
}
```

An **anonymous** `resources/list` returns an empty list rather than an
authentication challenge, so a host can probe the server before sign-in.

### Reading

`resources/read` with a `sidecars://document/<id>` URI returns the
document's derived markdown:

```json theme={null}
{
  "contents": [
    {
      "uri": "sidecars://document/k97fq2example000000000000000000",
      "mimeType": "text/markdown",
      "text": "# Q3 launch plan\n\n## Goals\n- Ship the Acme integration by 15 October\n"
    }
  ]
}
```

Reading runs the same access check as `read_document`. An artifact the
person cannot see, or that does not exist, fails with `Artifact not found`.
Reading without a token fails with `Authentication required.`

### Differences from `read_document`

|                                                 | Resource read                                                                                             | `read_document` tool |
| ----------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------- |
| Returns `version`                               | No                                                                                                        | Yes                  |
| Windowing for long documents                    | No (whole text)                                                                                           | `offset` / `window`  |
| Reports `type`, `archived`, parent conversation | No                                                                                                        | Yes                  |
| Scope required                                  | `documents:read` is not enforced at the HTTP layer for `resources/read`; membership and artifact role are | `documents:read`     |

<Note>
  Because the resource read does not return a version, use
  [`read_document`](/reference/documents#read_document) before any write. The
  resource is for putting a document into context, not for editing it.
</Note>

## Subscriptions

`resources/subscribe` and `notifications/resources/updated` are **not**
supported. Re-read a resource to see changes.

## Prompts

The server registers **no MCP prompts**; `prompts/list` is answered as an unsupported capability. What it provides instead is a short `instructions` string on `initialize` ("Sidecars: the workspace's shared knowledge, pods, conversations and documents. Tools act as the signed-in person inside the workspace their token names.") and a model-facing description on every tool, reproduced on the reference pages.
