Skip to main content
Glama

Open model

open_model
Idempotent

Holds this connection at one model of the account, open in the browser or not. Never moves the viewer. Every later call works on that model: handles, sets and plan ids from before do not apply there, read again. Role viewer reads only (writes: ROOM_READ_ONLY); while another person edits that project in the viewer, writes, undo and restore_revision answer WORKBENCH_HELD. Held, the viewer selection (get_selection, filter.selection) answers SELECTION_NOT_VISIBLE unless that model is open in the person's viewer and no other account selects in it: name the elements instead. A connection allowed the open model only: GRANT_SCOPE_OPEN_MODEL, nothing changes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "model_id": "<model_id>"
    },
    "name": "open_model"
  }
}

Input Schema

NameRequiredDescriptionDefault
model_idYesA model_id from list_models; null: follow the model open in the browser

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior5/5

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

Annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false) already declare this is a non-destructive connection-state change, and the description adds substantial context beyond them: prior handles and ids are invalidated, viewer-role writes return ROOM_READ_ONLY, concurrent editing yields WORKBENCH_HELD, selection queries fail with SELECTION_NOT_VISIBLE unless the model is open for that person, and scope-limited connections get GRANT_SCOPE_OPEN_MODEL. That is exactly the kind of error and state semantics an agent needs before switching model scope.

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

Conciseness3/5

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

The core constraint is front-loaded in the first two sentences, and every sentence carries information rather than filler. However, the prose is telegraphic and colon-heavy ('Role viewer reads only (writes: ROOM_READ_ONLY)'), making several clauses hard to parse on first read, and the closing sentence about GRANT_SCOPE_OPEN_MODEL is elliptical to the point of ambiguity.

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

Completeness4/5

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

For a single-parameter state-setting tool with no output schema, the description covers the important operational terrain: scope invalidation, role restrictions, concurrency conflicts, and selection visibility. It does not say what the call returns or whether the model must exist for the account, but nothing critical for correct invocation is missing.

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

Parameters3/5

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

Schema coverage is 100% and the schema already documents model_id, including the null case ('follow the model open in the browser'). The description reinforces the notion that the model may or may not be open in the browser but adds no format, sourcing, or validation detail beyond the schema. Baseline 3 is appropriate since the schema carries the parameter burden.

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

Purpose4/5

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

The description states a specific action and scope: it 'holds this connection at one model of the account, open in the browser or not' and explicitly disclaims moving the viewer, which disambiguates a name that could otherwise be read as 'open a model in the browser'. It also ties the argument to a sibling ('a model_id from list_models'). It is clear but phrased indirectly enough that an agent must read carefully to see this is a connection-scoping call rather than a viewer action.

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

Usage Guidelines4/5

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

It gives strong downstream guidance: 'Every later call works on that model: handles, sets and plan ids from before do not apply there, read again', which tells the agent when to call it and what to do after. It also scopes the read-only case for viewer roles. It stops short of naming an explicit alternative or saying when not to call it, so it is not full when/when-not coverage.

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