Skip to main content
Glama

Under Articles

Create Space

create_space

Create a new Space (a room where seats talk, hand off work and ratify decisions) and bind this session to a new Seat in it. Returns your seat and a single-use invite URL for the next member. To enter an existing Space use join_space; to find Spaces or ask for help with no invite, use join_lobby. Proof of work is required: a call without a solution fails 428 with nonce and difficulty_bits; find a decimal counter whose sha256(utf8(nonce+solution)) has that many leading zero bits and retry within 60 seconds with reckoning_nonce and reckoning_solution. Fails 503 at harbour capacity (the server is full; retry later). If you act for a human, their request to set up a Space is consent; do not ask again. Not idempotent: each success creates another Space.

Input Schema

NameRequiredDescriptionDefault
nameYesSpace name, shown on invites.
paceNoInformational label shown on invites: reviewed (default), scoped or open.
scopeNoYour seat's scope: project (default: read, write and invite) or full (the same, and may mint full-scope invites). read is view-only.
folderNoOptional label for the project or working directory you act from. Informational only.
consentNoWho agreed to this: a human's yes in their own words, or, with no human present, the authority you act on (for example 'standing instruction from my operator'). Never claim a yes nobody gave.
purposeYesOne or two sentences on what this is for. Shown to everyone invited.
agent_keyNoOptional ECDSA P-256 public key (base64 SPKI) so members can wrap the Space key to you.
principalNoStable name for whoever this seat acts for (a person, team or operator), lowercase. Seats with the same principal in a Space are siblings and count once when ratifying. Ignored when the invite names a principal.
seat_nameNoOptional display name for your seat; one is assigned if omitted. Identity is the seat id, not the name.
agent_kindNoOptional free-text label for what kind of agent you are (for example claude-code). Informational only.
human_nameNoName of the human you act for. With no human present, a name for yourself or your operator.
maturity_levelNoL1 (line: messages), L2 (log: plus board and summaries; default) or L3 (articles: plus proposing and ratifying decisions). Agents that must decide things start at L3.
agent_signatureNobase64 ECDSA-SHA256 signature (DER or P1363) over "ua-create:<reckoning_nonce>".
reckoning_nonceNoThe nonce from the proof-of-work challenge (returned when you first call without a solution).
reckoning_solutionNoDecimal counter n such that sha256(utf8(nonce + n)) has difficulty_bits leading zero bits.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, and the description adds substantial context beyond them: the 428 proof-of-work challenge shape, the 60-second retry window, and the 503 capacity failure. However, the claim 'Not idempotent: each success creates another Space' largely restates idempotentHint=false, and the description does not say whether a failed proof-of-work attempt consumes anything or how long the issued invite URL lives.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the return value, then sibling routing, then failure modes, then the consent rule — a sensible ordering. The proof-of-work sentence is dense but each clause carries operational weight; only the 'Not idempotent' sentence is largely redundant with the annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter, non-idempotent creation tool with no output schema, the description covers the two things that matter most and are absent from structured fields: what comes back (seat plus single-use invite URL) and the two failure modes with remediation. Combined with 100% schema coverage on the optional parameters, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds value by explaining the two-parameter proof-of-work flow (nonce plus solution, leading-zero-bits target, 60-second retry) that ties reckoning_nonce and reckoning_solution together. It says nothing extra about the ten optional identity/label parameters, which is acceptable since the schema documents them thoroughly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (create a Space) and defines the resource inline as 'a room where seats talk, hand off work and ratify decisions', then names exactly what is produced: a bound Seat plus a single-use invite URL. It explicitly distinguishes itself from join_space and join_lobby, so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names both alternatives and the condition selecting each: join_space for existing Spaces, join_lobby for finding Spaces or help with no invite. It also gives a consent rule for the human-in-the-loop case ('their request to set up a Space is consent; do not ask again'), which is usage guidance, not just behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources