Skip to main content
Glama

create_workspace_table

Create a workspace table (list). Specify exactly one scope: projectId, proposalId, or scope="org" for a tenant-level (organization) list. Optional columns array creates the columns in the same atomic transaction. colType is one of: TEXT, TEXTAREA, NUMBER, DATE, DROPDOWN, MULTI_SELECT, CHECKBOX, URL, EMAIL, PHONE, CURRENCY, RATING. Provide options (string[]) for DROPDOWN and MULTI_SELECT. required is a boolean. Column order in the array determines render order. Use this for genuinely TABULAR reference data (registers, inventories, trackers). It is NOT a plan container: a WBS, work breakdown, task hierarchy or imported schedule belongs in real tasks, since only tasks participate in scheduling, dependencies and rollups. Plans go through instantiate_plan (creates project + tasks + subtasks atomically, and is the only one of these with no monthly cap), or bulk_create_tasks plus add_subtasks. Rows here are created one call at a time and cannot be converted into tasks afterwards.

Input Schema

NameRequiredDescriptionDefault
nameYes1-200 chars.
scopeNoSet "org" for a tenant-level list (the caller's organization).
columnsNo
projectIdNo
proposalIdNo
descriptionNo
idempotencyKeyNoOptional idempotency key. Pass a stable unique value (e.g. a UUID) to make this create safe to retry: calling again with the same key within 24h - even from a new session after a reconnect - replays the original result and creates no duplicate. Org-scoped; works across conversations.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / scope
      Added value: +{
      +  "description": "Set \"org\" for a tenant-level list (the caller's organization).",
      +  "enum": [
      +    "org"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), and the description adds real value beyond them: columns are created in the same atomic transaction, rows are created one call at a time, and rows cannot be converted into tasks afterwards. It stops short of mentioning permissions or the idempotencyKey retry behavior that the schema describes.

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 verb, resource, and scope rule, then column construction, then the sibling-disambiguation paragraph. Efficient overall, though the plan-container exclusion runs long; every sentence still carries routing or parameter information.

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?

No output schema and 7 params with low coverage, but the description supplies the scope constraint, column construction semantics, type/options rules, and sibling routing. Minor gaps (idempotency, return shape) are acceptable given the annotation and schema coverage.

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?

With only 43% schema description coverage, the description compensates well: it defines the exactly-one-scope rule (projectId / proposalId / scope="org"), enumerates the colType values, specifies options for DROPDOWN and MULTI_SELECT, notes `required` is boolean, and states that column array order determines render order. It adds clear meaning over the bare schema, though it does not address idempotencyKey or description.

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+resource ('Create a workspace table (list)') and immediately differentiates it from siblings by declaring what it is NOT (a plan container) and naming the tools that handle plans (instantiate_plan, bulk_create_tasks, add_subtasks). An agent can route correctly without opening any 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?

Explicit when-to-use ('genuinely TABULAR reference data (registers, inventories, trackers)') and when-not ('NOT a plan container: a WBS, work breakdown, task hierarchy or imported schedule belongs in real tasks'), with named alternatives and the reason each is preferred. Nothing is left to inference.

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.