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

# resources/list

> Retrieve the list of all resources available on the MCP server.

The `resources/list` method returns all resources configured for the server. AI clients call this to discover what data content is available to read.

## MCP Endpoint

```
POST https://yoursite.com/mcp/{slug}
Content-Type: application/json
```

## Request

<ParamField body="jsonrpc" type="string" required>
  Must be `"2.0"`.
</ParamField>

<ParamField body="id" type="integer | string" required>
  Arbitrary request identifier echoed back unchanged in the response.
</ParamField>

<ParamField body="method" type="string" required>
  Must be `"resources/list"`.
</ParamField>

<ParamField body="params" type="object">
  Empty object `{}`. No parameters accepted.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
       --url https://yoursite.com/mcp/my-server \
       --header 'content-type: application/json' \
       --header 'Mcp-Session-Id: your_session_id' \
       --data '
  {
    "jsonrpc": "2.0",
    "id": 1,
    "method": "resources/list",
    "params": {}
  }
  '
  ```

  ```python Python theme={null}
  import requests
  response = requests.post(
      "https://yoursite.com/mcp/my-server",
      headers={"Content-Type": "application/json"},
      json={"jsonrpc": "2.0", "id": 1, "method": "resources/list", "params": {}}
  )
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    "https://yoursite.com/mcp/my-server",
    {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "resources/list", params: {} })
    }
  );
  const data = await response.json();
  ```
</RequestExample>

## Response

<ResponseField name="result.resources" type="array">
  Array of resource objects. Each object contains:

  * `uri` — Unique identifier for the resource (used in `resources/read`)
  * `name` — Human-readable display name
  * `description` — What the resource contains; used by AI for discovery
  * `mimeType` — Content type (e.g., `text/plain`, `text/markdown`, `application/json`)
</ResponseField>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
      "resources": [
        {
          "uri": "docs://api-overview",
          "name": "API Overview",
          "description": "Overview of available API endpoints and usage",
          "mimeType": "text/markdown"
        },
        {
          "uri": "resource://products/featured",
          "name": "Featured Products",
          "description": "Current featured products from the catalog",
          "mimeType": "application/json"
        }
      ]
    }
  }
  ```
</ResponseExample>

<Note>
  To retrieve the actual content of a resource, call [`resources/read`](/api-reference/mcp-protocol/resources-read) with the URI from this list.
</Note>
