Skip to main content
Glama
Inistate

Inistate MCP Server

Official
by Inistate

Set Active Workspace

set_workspace
Idempotent

Sets the active workspace for the current session and returns its module list, so entry, form, and schema actions can target that workspace directly.

Instructions

Set the active workspace for the current session. The response includes the workspace's module list — go straight to list_entries / get_form / get_module_schema with those names; list_modules is only needed to refresh. In stateless/remote mode, prefer passing workspaceId directly to each tool instead.

Workflow sequences after workspace is set:

  • Design: design_workflow → create_module (validates internally)

  • Execute: list_entries → get_form → submit_activity

  • Modify: get_module_canvas → validate_design → update_module

  • Query: list_entries → get_entry / get_entry_history; aggregate_entries for totals

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID (or exact name) from list_workspaces

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds real context beyond that: the mutation is session-scoped, the response carries the module list, and the stateless-mode caveat changes behavior. It stops short of describing persistence or what happens on an invalid name/ID.

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 first two sentences are tight and front-loaded with the key constraint. However, the trailing block of four workflow sequences (design/execute/modify/query) concerns other tools' chaining rather than setting a workspace, and reads as bulk that could live in each tool's own description.

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?

With no output schema, the description compensates by stating that the response includes the workspace's module list, which is the main thing an agent needs to know. The one-parameter, non-destructive, idempotent mutation is adequately characterized; only error/invalid-input behavior is unaddressed.

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 description coverage is 100% and the single parameter is fully documented in-schema (accepts ID or exact name from list_workspaces). The description only echoes the workspaceId name in the stateless-mode note and adds no new format or validation semantics, so the baseline 3 applies.

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 ('Set the active workspace for the current session') and immediately distinguishes itself from siblings by noting that list_workspaces is the discovery tool and list_modules is only needed to refresh. An agent can tell exactly what this does versus switch_mode or list_workspaces 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?

Gives explicit routing: use this in stateful sessions, but 'in stateless/remote mode, prefer passing workspaceId directly to each tool instead' — a genuine when-not-to-use rule naming the alternative. It also clarifies when list_modules is actually required, removing a common false-positive call.

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