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

# List project members

> Lists the project's members with their role and resolved capabilities, one page at a time by user ID cursor.

`veryfront__list_project_members`

Requires project.members.read.

## Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

**Call type:** Read-only.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `cursor` | `string` | No | Cursor from `page_info`.next: the user ID of the last member on the previous page. Omit it to read the first page. Format: `uuid`. |
| `limit` | `integer` | No | Maximum entries per page. Integer from 1 to 100; defaults to 20. Default: `20`. Minimum: `1`. Maximum: `100`. |
| `project_reference` | `string` | No | Project UUID, slug or domain. |

## Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See [MCP client setup](https://veryfront.com/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__list_project_members",
    "arguments": {}
  }
}
```

## Result

The published output shape is summarized below. Inspect both the MCP response content and `isError` when handling a call.

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `data` | `object[]` | Yes | Primary result records returned by the tool. |
| `page_info` | `object` | Yes | Pagination cursor values for traversing the result set. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string",
      "format": "uuid",
      "description": "Cursor from page_info.next: the user ID of the last member on the previous page. Omit it to read the first page."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Maximum entries per page. Integer from 1 to 100; defaults to 20.",
      "default": 20
    },
    "project_reference": {
      "type": "string",
      "description": "Project UUID, slug or domain."
    }
  },
  "additionalProperties": false,
  "description": "Arguments for the list_project_members tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "format": "uuid",
            "description": "User ID of the project member."
          },
          "email": {
            "type": "string",
            "description": "Email address of the member."
          },
          "name": {
            "type": [
              "string",
              "null"
            ],
            "description": "Display name of the member; null when the member has none."
          },
          "avatar_src": {
            "type": [
              "string",
              "null"
            ],
            "description": "Avatar URL of the member; null when the member has none."
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "editor",
              "viewer"
            ],
            "description": "Project role of the member: owner, admin, editor or viewer."
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "project.read",
                "project.settings.manage",
                "project.delete",
                "project.members.read",
                "project.members.manage",
                "project.invites.read",
                "project.invites.manage",
                "project.files.read",
                "project.files.write",
                "project.realtime.connect",
                "project.realtime.write",
                "project.files.admin",
                "project.uploads.read",
                "project.uploads.write",
                "project.uploads.admin",
                "project.knowledge.read",
                "project.knowledge.write",
                "project.releases.read",
                "project.releases.write",
                "project.deployments.read",
                "project.deployments.write",
                "project.deploy.execute",
                "project.runtime.manage",
                "project.channels.read",
                "project.channels.write",
                "project.sandboxes.manage",
                "project.domains.write",
                "project.environments.manage",
                "project.env_vars.write",
                "project.runs.read",
                "project.runs.write",
                "project.runs.admin",
                "project.agents.read",
                "project.agents.write",
                "project.evals.read",
                "project.evals.write",
                "project.evals.run",
                "project.conversations.read",
                "project.conversations.write",
                "project.conversations.create",
                "project.integrations.read",
                "project.integrations.connect",
                "project.integrations.configure",
                "project.api_keys.read",
                "project.api_keys.manage",
                "project.cache.read",
                "project.cache.write",
                "project.logs.read",
                "project.metrics.read",
                "project.resources.read"
              ]
            },
            "description": "Project capabilities the role grants, as the permission checks resolve them."
          }
        },
        "required": [
          "user_id",
          "email",
          "name",
          "avatar_src",
          "role",
          "capabilities"
        ],
        "additionalProperties": false
      },
      "description": "Primary result records returned by the tool."
    },
    "page_info": {
      "type": "object",
      "properties": {
        "self": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor that refers to the current page."
        },
        "first": {
          "type": "null"
        },
        "next": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page when pagination is available."
        },
        "prev": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the previous page when pagination is available."
        }
      },
      "required": [
        "self",
        "first",
        "next",
        "prev"
      ],
      "additionalProperties": false,
      "description": "Pagination cursor values for traversing the result set."
    }
  },
  "required": [
    "data",
    "page_info"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the list_project_members tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__list_project_members` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run tool

  Output JSON

  <pre />
</details>


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