Skip to main content
Glama

ctxstore — memory that follows you across models

Switch Workspace

switch_workspace
Idempotent

Narrow this session's memory to one project: name='' scopes recall, the wake bundle, self-notes and the default namespace for new facts to project::* (identity and conventions always ride along). Returns the narrowed bundle right away. name='' widens back to the whole account. Sticky for the session and across reconnects; bind_agent is unaffected. The same call ENTERS a workspace someone shared with this account: name='' (or their tenant id, or the granted prefix, as listed by list_workspaces) switches this connection into it; no second server, no header, no restart; it holds for the session, and a new session re-enters with the same call. name='' leaves it. When a person asks to work in someone else's shared memory, call this.

Input Schema

NameRequiredDescriptionDefault
nameYesProject slug (the <slug> in project:<slug>:*), the name of a granted workspace to enter (from list_workspaces), or '' to widen / leave.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / name / description
      Previous value: -"Project slug (the <slug> in project:<slug>:*), or '' to widen."New value: +"Project slug (the <slug> in project:<slug>:*), the name of a granted workspace to enter (from list_workspaces), or '' to widen / leave."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, idempotent=true, non-destructive), the description discloses stickiness for the session, persistence across reconnects, that the narrowed bundle is returned immediately, that identity/conventions always ride along, and that bind_agent is unaffected. These are non-obvious behavioral traits an agent could not infer from structured fields.

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 primary use case and scoped effect before the shared-workspace variant. Slightly redundant on session stickiness ("Sticky for the session and across reconnects" partially repeats "it holds for the session"), which keeps it from a 5.

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 one-parameter session-mutating tool with no output schema, the description covers return behavior, session/reconnect persistence, interaction with bind_agent, and the enter/leave lifecycle. Nothing an agent needs to call it correctly is missing.

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, but the description adds meaning beyond the schema by explaining what each value does downstream (project:<slug>:* scoping, tenant id / granted prefix accepted, '' widens or leaves). This gives the single parameter operational consequences, not just a type.

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?

The opening sentence states a specific verb and effect ("Narrow this session's memory to one project") and spells out exactly what gets scoped: recall, wake bundle, self-notes, and the default namespace. It is clearly distinguishable from siblings like list_workspaces and bind_agent, which it names.

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?

Explicit when-to-use instructions are given for each mode: slug to narrow, '' to widen/leave, granted name to enter a shared workspace. It also names the routing condition ("When a person asks to work in someone else's shared memory, call this") and the boundary against bind_agent.

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.