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

# spawn_profiles

> MCP tool that lists the identities you can spawn an agent as — your own developer identity and any service profiles you may borrow — with a usable/blocked verdict for each.

Lists the identities you can spawn an [agent](/concepts/agents) as in the current tenant: your own developer identity and any [service profiles](/concepts/service-profiles) you are allowed to borrow. Each entry reports whether it is usable right now and, if not, why and how to fix it. Use it before [`spawn`](/mcp-server/spawn) to discover what to pass to the `service_profile` parameter.

Profiles you cannot assume are omitted. This is the discovery companion to spawning under a service profile. To inspect every defined profile — including ones you cannot borrow — read the [service-profile](/catalog/service-profile) catalog resource, for example with [`murmur get service-profile`](/cli/get).

## Parameters

This tool takes no parameters.

## Response

Returns an array of identity entries.

| Field         | Type      | Description                                                                                                                                                                                                                                                                                                   |
| ------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`        | string    | `self` for your own developer identity, or `service_profile` for a borrowable [service profile](/concepts/service-profiles).                                                                                                                                                                                  |
| `account`     | string    | The identity's account. For a `service_profile` entry, pass this to [`spawn`](/mcp-server/spawn)'s `service_profile` parameter to spawn under it. The `self` entry reports your own account (identifying who "self" is); to spawn as yourself, leave `service_profile` empty rather than passing the account. |
| `usable`      | boolean   | Whether this identity can be used to spawn right now.                                                                                                                                                                                                                                                         |
| `blocks`      | object\[] | Present only when `usable` is `false`. Each entry has a `reason` (what is unmet) and a `remediation` (how to fix it).                                                                                                                                                                                         |
| `description` | string    | The profile's description. Populated for service profiles.                                                                                                                                                                                                                                                    |
| `builtin`     | boolean   | `true` for platform-provided profiles.                                                                                                                                                                                                                                                                        |

<Note>
  For your own identity (`self`), the `usable` verdict is advisory — the server cannot see the credentials on your local machine, so a spawn as self may still succeed even when `self` is reported as blocked.
</Note>

## Examples

### List spawn identities

```json theme={null}
{}
```

Response:

```json theme={null}
[
  {
    "type": "self",
    "account": "acme-dev",
    "usable": true
  },
  {
    "type": "service_profile",
    "account": "ci-builder",
    "usable": true,
    "description": "Opens PRs as the CI bot",
    "builtin": false
  },
  {
    "type": "service_profile",
    "account": "release-manager",
    "usable": false,
    "description": "Cuts release branches",
    "blocks": [
      {
        "reason": "missing service-profile.assume permission",
        "remediation": "ask an admin to grant you service-profile.assume on release-manager"
      }
    ]
  }
]
```

### Spawn under a discovered profile

After confirming `ci-builder` is usable, pass its account to [`spawn`](/mcp-server/spawn):

```json theme={null}
{
  "slug": "nightly-build",
  "description": "Run the nightly build and open a PR with the results",
  "workspace": "ci",
  "service_profile": "ci-builder"
}
```

## Errors

| Code              | Meaning                               | What to do                    |
| ----------------- | ------------------------------------- | ----------------------------- |
| `UNAUTHENTICATED` | Identity token is missing or expired. | Check the host's credentials. |

## Related

* [`murmur spawn-profiles`](/cli/spawn-profiles) — equivalent CLI command
* [`spawn`](/mcp-server/spawn) — spawn an agent, optionally under a service profile
* [Service profiles](/concepts/service-profiles) — bot identities agents can run as
* [MCP server](/mcp-server/overview) — all Murmur MCP tools
