Skip to main content
Glama

sim_create_collection

Destructive

Mint a named Collection you own and return its content id. A collection carries no member list of its own — a mutable list would change the collection's own id every time something joined it, the same reason Lineage lives beside a model rather than inside it. Add members with sim_link(collectionID, "hasMember", memberID) — members must be stored entities — and read them back with sim_neighbors(collectionID, "hasMember") or sim_edges(collectionID). Only you, the owner, may add members: hasMember's write rule is subject-owner (https://sim.pflow.xyz/ns/predicates/v1), so sim_link refuses anyone else, naming the rule. The name and your account together are the content id: creating a collection with a name you already used returns your existing id, and another account's collection with the same name is a different collection. A collection created before collections had owners has none, so its membership is frozen as it stands (still readable); create your own to add to. Members cannot be removed: an edge, once written, is immutable. Needs sign-in with write scope (opens OAuth the first time); costs 1 compute token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYescollection name

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that sign-in with write scope is required (OAuth opens on first use), that it costs 1 compute token, that only the owner may add members because hasMember's write rule is subject-owner, that edges are immutable and members cannot be removed, and that name+account deterministically form the content id. Minor tension with idempotentHint=false (same name returns the existing id), but the description reads as the more specific statement of identity semantics rather than an inversion of the annotation.

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 the core action and its return value, and most sentences carry operational facts (auth, cost, write rule, immutability). Slightly overwritten for a one-parameter tool — the 'Lineage lives beside a model' analogy is a digression that does not help invocation.

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?

No output schema exists, and the description supplies the return value (content id) plus auth, cost, ownership enforcement, immutability and legacy-collection edge cases. An agent has everything needed to call it correctly on the first attempt.

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% for the single 'name' parameter, so the baseline is 3. The description adds real meaning beyond the schema: name combined with account forms the content id, duplicate names return the existing id, and another account's identically-named collection is a distinct entity.

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?

Opening sentence states a specific verb+resource+outcome: 'Mint a named Collection you own and return its content id.' It is immediately distinguishable from siblings sim_link, sim_neighbors and sim_edges, which are named as the member-manipulation/read tools rather than the create tool.

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?

Explicitly routes the agent: add members via sim_link(collectionID, "hasMember", memberID), read them back via sim_neighbors or sim_edges, and create your own collection when you encounter a pre-ownership legacy collection whose membership is frozen. Alternatives and the conditions selecting them are spelled out.

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