Version
DESTRUCTIVE

create_resource_from_space

Sell a place picked from the list a connector offers; the resource is created and bound to the place at once.

The one way an agent binds a resource to a gated place. kind is spelled connector:kind on a connector whose directory card declares space_browsing, and external_id is a place list_connector_spaces listed for that kind. The installation is asked again before the row persists, so a resource is never bound to a place the installation does not administer, which is the same proof the link request gets from the platform's own picker. A place the project already sells answers its existing resource. project.resource.linked fires, as it does when a creator picks on the platform. The REST twin is POST /v1/projects/{project}/resources/from-space.

Requires ability

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Delivered to every endpoint subscribed to it once the change is made.

Annotations

DestructiveOpen world

A client that honours annotations asks a person before running it. It reaches beyond Subscriby: a connector, a provider or a member.

Arguments

project_id*string

UUID of the project the place will belong to.

kind*string

The kind of place, spelled `connector:kind`: a connector's key, a colon, and one of the `resource_kinds` that `list_connectors` lists for it.

external_id*string

The platform's id for the place, as `list_connector_spaces` lists it under `external_id`.

title*string

Resource title (5..255 chars), what members read.

descriptionstringoptional

Optional resource description. Max 1000 chars, HTML is filtered.

What it returns

{  "data": {    "id": "b73c5f21-9d80-4a6e-8215-4f70ce13a9d6",    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",    "kind": "discord:role",    "connector": "discord",    "space": {      "id": "4d2a7c1e-5b3f-4e8a-9c6d-2f1b3a4c5d6e",      "external_id": "1183455190821797899",      "title": "Gold members"    },    "title": "Gold members role",    "description": "<p>The Gold role and everything it unlocks.</p>",    "active": true,    "created_at": "2026-11-02T10:07:00Z",    "updated_at": "2026-11-02T10:07:00Z"  },  "meta": {}}

How it fails

RESOURCE_NOT_FOUND

the installation lists no place under external_id, or project_id is not a project the token can see.

VALIDATION_FAILED

kind is manual, a bare word or one no connected connector gates; the connector does not list its places; title is outside 5..255 characters.

CONNECTOR_NOT_INSTALLED

the project runs no connected connector.

CONNECTOR_NOT_CONNECTED

the installation cannot act right now.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks project-resource:create.

How is this guide?

Last updated on