Skip to main content
Glama

workspace

Destructive

Workspace management: list/details/update/delete, archive, members, notes, quickshares, share import, import toggle. NOTE: metadata actions MOVED — the workspace metadata vocabulary → metadata tool; node-level metadata → storage tool. There are no metadata-* actions on this tool. Call action='describe' for the full action/param reference. Destructive: delete (workspace + all files). ⚠️ intelligence COSTS CREDITS (10/page) — only enable on explicit user request; toggle is rate-limited. Verbosity (detail param): list/available/members/list-shares default to terse (compact rows). details defaults to full (drill-down). Pass an explicit detail='standard'|'full' to override.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoName. Send "null" to clear on update.
limitNoMaximum number of items to return (1-500, default 100)
actionYesOperation. Use 'describe' for full action reference.
detailNoPer-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See action='describe' for per-level field lists.
offsetNoNumber of items to skip (default 0)
org_idNoFilter workspaces to this org.
blob_idNoBlob ID from POST /blob. Preferred for large note content (UTF-8 decoded). Single-use.
confirmNoMust match folder_name or numeric ID.
contentNoPlain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger.
node_idNoStorage tree node opaque ID. Both files and folders are nodes — use this name regardless of which.
archivedNoFilter by archive status (default "false").
blob_refNoAlias for blob_id (deprecated).
share_idNo19-digit numeric ID or custom name of share to import.
note_nameNoNote filename (must end with .md).
parent_idNoParent folder opaque ID or 'root'.
perm_joinNoWho can join the workspace.
descriptionNoDescription. Newlines allowed. Send "null"/"" to clear on update.
folder_nameNoURL-safe workspace folder name (4-80 chars).
accent_colorNoBrand accent color JSON. "null" to clear.
check_org_idNoOrg ID for check-name — suggests org-prefixed alternative if name taken.
intelligenceNoToggle AI features. ⚠️ COSTS CREDITS (10/page) — only enable on explicit user request. Disable flushes embeddings; re-enable re-indexes. Rate-limited.
workspace_idNoWorkspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or custom name.
display_limitNoHow many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members.
name_to_checkNoFolder name to check availability.
owner_definedNoCustom properties JSON. "null"/"" to clear.
describe_actionNoWhen action='describe', narrow the output to ONE action's full params/notes (e.g. 'list'). Omit to get the compact action index.
background_color1NoBackground color 1 JSON. "null" to clear.
background_color2NoBackground color 2 JSON. "null" to clear.
perm_member_manageNoWho can manage members.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-versions",
      -  "metadata-search",
      -  "enable-import",
      -  "disable-import"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "jobs-status",
      +  "enable-import",
      +  "disable-import"
      +]
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members, metadata-search."New value: +"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members."
    • removedInput schema / properties / extract_fields
      Removed value: -{
      -  "description": "JSON array of field names (e.g. `[\"vendor\",\"amount\"]`); omit for a full-row extract. WITH a template bound it narrows extraction to those fields. WITHOUT one it is NOT a filter: the request may be REFUSED, and where accepted the names act only as a re-run key — the file is still read in full, other fields are still written, and named fields are not guaranteed to return.",
      -  "type": "string"
      -}
    • removedInput schema / properties / key_values
      Removed value: -{
      -  "description": "JSON object of field-name -> value, max 100 entries, matching the workspace field VOCABULARY (list names with `metadata action=fields-list`) — NOT template fields; templates were removed. ADDITIVE: send ONLY the fields you are changing; it CANNOT clear a field (use metadata-delete with an explicit `keys` list).",
      -  "type": "string"
      -}
    • removedInput schema / properties / keys
      Removed value: -{
      -  "description": "JSON array of metadata keys to delete (omit for all).",
      -  "type": "string"
      -}
    • removedInput schema / properties / node_ids
      Removed value: -{
      -  "description": "JSON array of node IDs (1-25, same workspace; deduped server-side). Bulk metadata-get returns {format:'multi', objects, templates, errors}.",
      -  "type": "string"
      -}
    • removedInput schema / properties / q
      Removed value: -{
      -  "description": "Search keyword(s). 1-1024 chars. Multi-token = ALL tokens (AND); case-insensitive; substring for ≤64 chars, else whole-word.",
      -  "maxLength": 1024,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / template_id
      Removed value: -{
      -  "description": "RETIRED — metadata templates were removed, so there is no template to scope to. Supplying it FAILS the request on EVERY action here, including `metadata-extract`: the platform hard-refuses it on the extract, set and search routes alike. Narrow by FIELD NAME instead — list valid names with `metadata action=fields-list`, and scope an extraction with `extract_fields`.",
      -  "type": "string"
      -}
  2. Changed15 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "metadata-view-export",
      -  "metadata-search",
      -  "enable-import",
      -  "disable-import"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-versions",
      +  "metadata-search",
      +  "enable-import",
      +  "disable-import"
      +]
    • removedInput schema / properties / category
      Removed value: -{
      -  "description": "Metadata template category.",
      -  "enum": [
      -    "legal",
      -    "financial",
      -    "business",
      -    "medical",
      -    "technical",
      -    "engineering",
      -    "insurance",
      -    "educational",
      -    "multimedia",
      -    "hr"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / config
      Removed value: -{
      -  "description": "Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters AND-chained; operator in `= != < <= > >=`; value_type in `string|int|float|bool`.",
      -  "type": "string"
      -}
    • changedInput schema / properties / description / description
      Previous value: -"Description. metadata-template-create: required, 0-1000 (empty allowed); metadata-template-update/-clone: 10-1000; preview-match/suggest-fields: 1-2000. Newlines allowed. Send \"null\"/\"\" to clear on update."New value: +"Description. Newlines allowed. Send \"null\"/\"\" to clear on update."
    • changedInput schema / properties / extract_fields / description
      Previous value: -"JSON array of field names to extract (e.g. `[\"vendor\",\"amount\"]`); omit/null for full row."New value: +"JSON array of field names (e.g. `[\"vendor\",\"amount\"]`); omit for a full-row extract. WITH a template bound it narrows extraction to those fields. WITHOUT one it is NOT a filter: the request may be REFUSED, and where accepted the names act only as a re-run key — the file is still read in full, other fields are still written, and named fields are not guaranteed to return."
    • removedInput schema / properties / fields
      Removed value: -{
      -  "description": "JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}.",
      -  "type": "string"
      -}
    • changedInput schema / properties / key_values / description
      Previous value: -"JSON object of key-value pairs matching template fields."New value: +"JSON object of field-name -> value, max 100 entries, matching the workspace field VOCABULARY (list names with `metadata action=fields-list`) — NOT template fields; templates were removed. ADDITIVE: send ONLY the fields you are changing; it CANNOT clear a field (use metadata-delete with an explicit `keys` list)."
    • removedInput schema / properties / metadata_filters
      Removed value: -{
      -  "description": "JSON filter criteria for metadata file listing.",
      -  "type": "string"
      -}
    • changedInput schema / properties / name / description
      Previous value: -"Name. 1-255 (metadata-template-create, preview-match); 2-100 (metadata-template-update/-clone). Send \"null\" to clear on update."New value: +"Name. Send \"null\" to clear on update."
    • removedInput schema / properties / order_by
      Removed value: -{
      -  "description": "Field key to sort metadata file list by.",
      -  "type": "string"
      -}
    • removedInput schema / properties / order_desc
      Removed value: -{
      -  "description": "Sort descending: 'true' or 'false'.",
      -  "type": "string"
      -}
    • removedInput schema / properties / parent_node_id
      Removed value: -{
      -  "description": "Destination folder opaque ID for TSV export (must be folder, not trashed). Omit for workspace root.",
      -  "maxLength": 64,
      -  "type": "string"
      -}
    • removedInput schema / properties / template_filter
      Removed value: -{
      -  "description": "Filter for metadata template list.",
      -  "enum": [
      -    "enabled",
      -    "disabled",
      -    "custom",
      -    "system"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / properties / template_id / description
      Previous value: -"Metadata template ID (e.g. mt_abc123). For metadata-search, restricts to nodes with values from this template (custom fields excluded)."New value: +"RETIRED — metadata templates were removed, so there is no template to scope to. Supplying it FAILS the request on EVERY action here, including `metadata-extract`: the platform hard-refuses it on the extract, set and search routes alike. Narrow by FIELD NAME instead — list valid names with `metadata action=fields-list`, and scope an extraction with `extract_fields`."
    • removedInput schema / properties / user_context
      Removed value: -{
      -  "description": "Short view/template hint (1-64 chars, letters/numbers/spaces). Example: \"photo collection\".",
      -  "maxLength": 64,
      -  "minLength": 1,
      -  "type": "string"
      -}
  3. Changed6 schema fields changed
    • changedInput schema / properties / config / description
      Previous value: -"Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters…"New value: +"Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters AND-chained; operator in `= != < <= > >=`; value_type in `string|int|float|bool`."
    • changedInput schema / properties / description / description
      Previous value: -"Description. metadata-template-create: required, 0-1000 (empty allowed); metadata-template-update/-clone: 10-1000; preview-match/suggest-fields: 1-2000.…"New value: +"Description. metadata-template-create: required, 0-1000 (empty allowed); metadata-template-update/-clone: 10-1000; preview-match/suggest-fields: 1-2000. Newlines allowed. Send \"null\"/\"\" to clear on update."
    • changedInput schema / properties / detail / description
      Previous value: -"Per-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See…"New value: +"Per-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See action='describe' for per-level field lists."
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to…"New value: +"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members, metadata-search."
    • changedInput schema / properties / fields / description
      Previous value: -"JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type…"New value: +"JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}."
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Workspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or…"New value: +"Workspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or custom name."
  4. Changed5 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "metadata-view-export",
      -  "metadata-search",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import",
      -  "settings-get"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "metadata-view-export",
      +  "metadata-search",
      +  "enable-import",
      +  "disable-import"
      +]
    • removedInput schema / properties / nl_summaries_daily_cap
      Removed value: -{
      -  "description": "Per-workspace daily ceiling on AI enrichment operations (0-100000, default 100). 0 disables enrichment without flipping nl_summaries_enabled.",
      -  "maximum": 100000,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedInput schema / properties / nl_summaries_enabled
      Removed value: -{
      -  "description": "Master switch for AI summary enrichment of workflow obligations (default true). Setting 'true' requires the plan's content_ai feature. When 'false',…",
      -  "enum": [
      -    "true",
      -    "false"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / workflow_approval_native_enabled
      Removed value: -{
      -  "description": "Tri-state gate for the native workflow-review surface. 'disabled' (default): native review off. 'mvs': single-asset, member-only, single-mode. 'extended': full…",
      -  "enum": [
      -    "disabled",
      -    "mvs",
      -    "extended"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / workflow_trigger_aliases
      Removed value: -{
      -  "description": "Verb->template alias map (JSON object), e.g. {\"redact\":\"mt_x\",\"summarize\":\"mt_y\"}. A comment beginning with an alias verb (@redact) resolves through this map…",
      -  "type": "string"
      -}
  5. Changed3 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "metadata-view-export",
      -  "metadata-search",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear",
      -  "settings-get"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "metadata-view-export",
      +  "metadata-search",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import",
      +  "settings-get"
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Plain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger. Instructions: max 65536 bytes UTF-8."New value: +"Plain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger."
    • removedInput schema / properties / scope
      Removed value: -{
      -  "description": "AI instructions scope: 'profile' (workspace-wide; owner/admin) or 'me' (per-user; any member). Independent slots, do NOT merge.",
      -  "enum": [
      -    "profile",
      -    "me"
      -  ],
      -  "type": "string"
      -}
  6. Changed13 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "describe",
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "metadata-view-export",
      -  "metadata-search",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "metadata-view-export",
      +  "metadata-search",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear",
      +  "settings-get"
      +]
    • changedInput schema / properties / config / description
      Previous value: -"Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters AND-chained; operator in `= != < <= > >=`; value_type in `string|int|float|bool`."New value: +"Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters…"
    • addedInput schema / properties / describe_action
      Added value: +{
      +  "description": "When action='describe', narrow the output to ONE action's full params/notes (e.g. 'list'). Omit to get the compact action index.",
      +  "type": "string"
      +}
    • changedInput schema / properties / description / description
      Previous value: -"Description. 10-1000 chars (update/metadata-template-*); 1-2000 (preview-match/suggest-fields). Newlines allowed. Send \"null\"/\"\" to clear on update."New value: +"Description. metadata-template-create: required, 0-1000 (empty allowed); metadata-template-update/-clone: 10-1000; preview-match/suggest-fields: 1-2000.…"
    • changedInput schema / properties / detail / description
      Previous value: -"Per-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See action='describe' for per-level field lists."New value: +"Per-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See…"
    • changedInput schema / properties / display_limit / description
      Previous value: -"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members, metadata-search."New value: +"How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to…"
    • changedInput schema / properties / fields / description
      Previous value: -"JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}."New value: +"JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type…"
    • changedInput schema / properties / name / description
      Previous value: -"Name. 2-100 chars (update/metadata-template-*); 1-255 (preview-match). Send \"null\" to clear on update."New value: +"Name. 1-255 (metadata-template-create, preview-match); 2-100 (metadata-template-update/-clone). Send \"null\" to clear on update."
    • addedInput schema / properties / nl_summaries_daily_cap
      Added value: +{
      +  "description": "Per-workspace daily ceiling on AI enrichment operations (0-100000, default 100). 0 disables enrichment without flipping nl_summaries_enabled.",
      +  "maximum": 100000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / nl_summaries_enabled
      Added value: +{
      +  "description": "Master switch for AI summary enrichment of workflow obligations (default true). Setting 'true' requires the plan's content_ai feature. When 'false',…",
      +  "enum": [
      +    "true",
      +    "false"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / workflow_approval_native_enabled
      Added value: +{
      +  "description": "Tri-state gate for the native workflow-review surface. 'disabled' (default): native review off. 'mvs': single-asset, member-only, single-mode. 'extended': full…",
      +  "enum": [
      +    "disabled",
      +    "mvs",
      +    "extended"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / workflow_trigger_aliases
      Added value: +{
      +  "description": "Verb->template alias map (JSON object), e.g. {\"redact\":\"mt_x\",\"summarize\":\"mt_y\"}. A comment beginning with an alias verb (@redact) resolves through this map…",
      +  "type": "string"
      +}
    • changedInput schema / properties / workspace_id / description
      Previous value: -"Workspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or custom name."New value: +"Workspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or…"
  7. Changed12 schema fields changed
    • removedInput schema / properties / display_limit / anyOf
      Removed value: -[
      -  {
      -    "maximum": 500,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / display_limit / maximum
      Added value: +500
    • addedInput schema / properties / display_limit / minimum
      Added value: +1
    • addedInput schema / properties / display_limit / type
      Added value: +"integer"
    • removedInput schema / properties / limit / anyOf
      Removed value: -[
      -  {
      -    "maximum": 500,
      -    "minimum": 1,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / limit / maximum
      Added value: +500
    • addedInput schema / properties / limit / minimum
      Added value: +1
    • addedInput schema / properties / limit / type
      Added value: +"integer"
    • removedInput schema / properties / offset / anyOf
      Removed value: -[
      -  {
      -    "maximum": 9007199254740991,
      -    "minimum": 0,
      -    "type": "integer"
      -  },
      -  {
      -    "pattern": "^-?\\d+$",
      -    "type": "string"
      -  }
      -]
    • addedInput schema / properties / offset / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / offset / minimum
      Added value: +0
    • addedInput schema / properties / offset / type
      Added value: +"integer"
  8. Changed4 schema fields changed
    • removedInput schema / properties / description / pattern
      Removed value: -"^(?:[^\\p{C}]|[\\t\\n\\r])*$"
    • removedInput schema / properties / folder_name / pattern
      Removed value: -"^[\\p{L}\\p{N}-]+$"
    • removedInput schema / properties / name / pattern
      Removed value: -"^[^\\p{C}]*$"
    • removedInput schema / properties / user_context / pattern
      Removed value: -"^[\\p{L}\\p{N}\\p{Zs}]+$"
  9. Changed51 schema fields changed
    • changedInput schema / properties / accent_color / description
      Previous value: -"Brand accent color as JSON. Send \"null\" to clear. (used by: update)"New value: +"Brand accent color JSON. \"null\" to clear."
    • changedInput schema / properties / action / description
      Previous value: -"Operation to perform"New value: +"Operation. Use 'describe' for full action reference."
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "metadata-view-export",
      -  "metadata-search",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear"
      -]New value: +[
      +  "describe",
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "metadata-view-export",
      +  "metadata-search",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear"
      +]
    • changedInput schema / properties / archived / description
      Previous value: -"Filter by archive status: \"true\" for archived, \"false\" for active (default) (used by: list-shares)"New value: +"Filter by archive status (default \"false\")."
    • changedInput schema / properties / background_color1 / description
      Previous value: -"Background color 1 as JSON. Send \"null\" to clear. (used by: update)"New value: +"Background color 1 JSON. \"null\" to clear."
    • changedInput schema / properties / background_color2 / description
      Previous value: -"Background color 2 as JSON. Send \"null\" to clear. (used by: update)"New value: +"Background color 2 JSON. \"null\" to clear."
    • changedInput schema / properties / blob_id / description
      Previous value: -"Blob ID from POST /blob response. The recommended method for large note content — avoids base64 overhead and MCP transport limits. Consumed (deleted) after use. Bytes are decoded as UTF-8 and passed as note content. (used by: create-note, update-note as one of content/blob_id)"New value: +"Blob ID from POST /blob. Preferred for large note content (UTF-8 decoded). Single-use."
    • changedInput schema / properties / blob_ref / description
      Previous value: -"Alias for blob_id (deprecated — use blob_id instead) (used by: create-note, update-note)"New value: +"Alias for blob_id (deprecated)."
    • changedInput schema / properties / category / description
      Previous value: -"Metadata template category (used by: metadata-template-create, metadata-template-update, metadata-template-clone)"New value: +"Metadata template category."
    • changedInput schema / properties / check_org_id / description
      Previous value: -"Org ID for check-name — if provided and name is taken, suggests an org-prefixed alternative (optional for: check-name)"New value: +"Org ID for check-name — suggests org-prefixed alternative if name taken."
    • changedInput schema / properties / config / description
      Previous value: -"Saved-view config as a JSON-encoded string. Schema: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. columns array order IS the display order; sort.dir is 'asc' or 'desc'; filters are AND-chained (max 5) with operator in `= != < <= > >=` and value_type in `string|int|float|bool` (json rejected). Unknown keys rejected with 1605. Auto-apply: GET /workspace/{id}/metadata/templates/{tid}/nodes/ applies config.sort and config.filters when the caller omits sort_field/filters — that endpoint is not exposed as an MCP workspace action, so reach it via code-mode execute. Columns are never auto-applied server-side. (required for: metadata-view-save)"New value: +"Saved-view config JSON: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. Max 5 filters AND-chained; operator in `= != < <= > >=`; value_type in `string|int|float|bool`."
    • changedInput schema / properties / confirm / description
      Previous value: -"Safety confirmation: must match the workspace folder_name or numeric ID (required for: delete)"New value: +"Must match folder_name or numeric ID."
    • changedInput schema / properties / content / description
      Previous value: -"Plain text/markdown content. For create-note/update-note: markdown body (max 102400 bytes / 100 KiB). For larger notes, use POST /blob + blob_id instead to avoid base64 overhead and MCP transport limits. For instructions-set: full markdown body that replaces the AI instructions slot (max 65536 bytes / 64 KiB UTF-8). (used by: create-note, update-note as one of content/blob_id; instructions-set)"New value: +"Plain text/markdown. Notes: max 102400 bytes (100 KiB) — use blob_id for larger. Instructions: max 65536 bytes UTF-8."
    • changedInput schema / properties / description / description
      Previous value: -"Description. Server-enforced ranges: 10-1000 chars for update/metadata-template-create/metadata-template-update/metadata-template-clone; 1-2000 chars for metadata-template-preview-match and metadata-template-suggest-fields. Newlines allowed. For update, send \"null\" or \"\" to clear. (used by: update, metadata-template-create, metadata-template-update, metadata-template-clone, metadata-template-preview-match, metadata-template-suggest-fields)"New value: +"Description. 10-1000 chars (update/metadata-template-*); 1-2000 (preview-match/suggest-fields). Newlines allowed. Send \"null\"/\"\" to clear on update."
    • addedInput schema / properties / detail
      Added value: +{
      +  "description": "Per-entity verbosity for list/available/members/list-shares/details. Defaults: terse for list/available/members/list-shares, full for details. See action='describe' for per-level field lists.",
      +  "enum": [
      +    "terse",
      +    "standard",
      +    "full"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / display_limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 500,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "pattern": "^-?\\d+$",
      +      "type": "string"
      +    }
      +  ],
      +  "description": "How many items to return. Default 10, max 500. The MCP trims post-fetch; backend page_size stays MCP-internal so the platform cache stays warm. Applies to list, list-shares, members, metadata-search."
      +}
    • changedInput schema / properties / extract_fields / description
      Previous value: -"Optional JSON-encoded array of field NAMES (e.g. `[\"vendor\",\"amount\"]`) to extract a subset of template fields rather than the full row. Omit (or pass `null`) for full-row extraction. Partial extractions with different field subsets coexist as independent jobs. (used by: metadata-extract)"New value: +"JSON array of field names to extract (e.g. `[\"vendor\",\"amount\"]`); omit/null for full row."
    • changedInput schema / properties / fields / description
      Previous value: -"JSON-encoded array of field definitions. IMPORTANT: at least one field per template must have `autoextract:true` (omitted → defaults to true) or the API returns 1605 / HTTP 400. Each field: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}. Set `autoextract:false` on fields managed manually (user-entered notes, reviewer flags, etc.) — those are skipped by full-row AI extraction but still writable via metadata-set. (used by: metadata-template-create, metadata-template-update, metadata-template-clone)"New value: +"JSON array of field defs. At least one field must have autoextract:true (default) or API returns 1605. Each: {name, description, type (string|int|float|bool|json|url|datetime), min?, max?, default?, fixed_list?, can_be_null?, autoextract?}."
    • changedInput schema / properties / folder_name / description
      Previous value: -"URL-safe workspace folder name (4-80 chars) (used by: update)"New value: +"URL-safe workspace folder name (4-80 chars)."
    • changedInput schema / properties / intelligence / description
      Previous value: -"Enable/disable AI features (\"true\"/\"false\"). ⚠️ Enabling COSTS CREDITS: 10 credits per page for every document — can consume the entire free plan budget quickly. Only enable when user explicitly requests RAG or AI search. Disabling flushes indexed embeddings; re-enabling re-indexes at AI credit cost. Toggle is temporarily rate-limited after each flip. (used by: update)"New value: +"Toggle AI features. ⚠️ COSTS CREDITS (10/page) — only enable on explicit user request. Disable flushes embeddings; re-enable re-indexes. Rate-limited."
    • changedInput schema / properties / key_values / description
      Previous value: -"JSON object of key-value pairs matching template fields (required for: metadata-set)"New value: +"JSON object of key-value pairs matching template fields."
    • changedInput schema / properties / keys / description
      Previous value: -"JSON array of metadata key names to delete (omit to delete all) (used by: metadata-delete)"New value: +"JSON array of metadata keys to delete (omit for all)."
    • addedInput schema / properties / limit / anyOf
      Added value: +[
      +  {
      +    "maximum": 500,
      +    "minimum": 1,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^-?\\d+$",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / limit / maximum
      Removed value: -500
    • removedInput schema / properties / limit / minimum
      Removed value: -1
    • removedInput schema / properties / limit / type
      Removed value: -"integer"
    • changedInput schema / properties / metadata_filters / description
      Previous value: -"JSON-encoded filter criteria for listing files with metadata (used by: metadata-list-files)"New value: +"JSON filter criteria for metadata file listing."
    • changedInput schema / properties / name / description
      Previous value: -"Name. Server-enforced ranges: 2-100 chars for update/metadata-template-create/metadata-template-update/metadata-template-clone; 1-255 chars for metadata-template-preview-match. Send \"null\" to clear (update only). (used by: update, metadata-template-create, metadata-template-update, metadata-template-clone, metadata-template-preview-match)"New value: +"Name. 2-100 chars (update/metadata-template-*); 1-255 (preview-match). Send \"null\" to clear on update."
    • changedInput schema / properties / name_to_check / description
      Previous value: -"Workspace folder name to check availability (required for: check-name)"New value: +"Folder name to check availability."
    • changedInput schema / properties / node_id / description
      Previous value: -"Storage node opaque ID (used by: update-note, read-note, quickshare-get, quickshare-delete, metadata-template-assign, metadata-template-resolve, metadata-get (single), metadata-set, metadata-delete, metadata-extract, metadata-list-files, metadata-list-templates-in-use, metadata-versions)"New value: +"Storage tree node opaque ID. Both files and folders are nodes — use this name regardless of which."
    • changedInput schema / properties / node_ids / description
      Previous value: -"JSON-encoded array of storage node IDs (1-25 items, all in the same workspace; duplicates are silently deduped server-side before counting against the cap). For metadata-template-suggest-fields, typically sourced from metadata-template-preview-match results — folder nodes are filtered out server-side. For metadata-get (bulk variant), the response collapses to {format:'multi', objects, templates, errors} with templates deduplicated across objects. (used by: metadata-template-suggest-fields, metadata-get)"New value: +"JSON array of node IDs (1-25, same workspace; deduped server-side). Bulk metadata-get returns {format:'multi', objects, templates, errors}."
    • changedInput schema / properties / note_name / description
      Previous value: -"Filename for note (must end with .md extension, e.g. 'my-note.md') (used by: create-note, update-note)"New value: +"Note filename (must end with .md)."
    • addedInput schema / properties / offset / anyOf
      Added value: +[
      +  {
      +    "maximum": 9007199254740991,
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "pattern": "^-?\\d+$",
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / offset / minimum
      Removed value: -0
    • removedInput schema / properties / offset / type
      Removed value: -"integer"
    • changedInput schema / properties / order_by / description
      Previous value: -"Field key to sort by when listing files with metadata (used by: metadata-list-files)"New value: +"Field key to sort metadata file list by."
    • changedInput schema / properties / order_desc / description
      Previous value: -"Sort descending for metadata list: 'true' or 'false' (used by: metadata-list-files)"New value: +"Sort descending: 'true' or 'false'."
    • changedInput schema / properties / org_id / description
      Previous value: -"Optional org ID to filter workspaces by organization (used by: list)"New value: +"Filter workspaces to this org."
    • changedInput schema / properties / owner_defined / description
      Previous value: -"Custom user-defined properties as JSON. Send \"null\" or empty to clear. (used by: update)"New value: +"Custom properties JSON. \"null\"/\"\" to clear."
    • changedInput schema / properties / parent_id / description
      Previous value: -"Parent folder opaque ID, or 'root' for root (required for: create-note)"New value: +"Parent folder opaque ID or 'root'."
    • changedInput schema / properties / parent_node_id / description
      Previous value: -"Destination folder opaque ID for the TSV export. Must be an existing folder (not a file, not trashed). Omit to write to workspace root. (used by: metadata-view-export)"New value: +"Destination folder opaque ID for TSV export (must be folder, not trashed). Omit for workspace root."
    • changedInput schema / properties / perm_join / description
      Previous value: -"Who can join the workspace (used by: update)"New value: +"Who can join the workspace."
    • changedInput schema / properties / perm_member_manage / description
      Previous value: -"Who can manage members (used by: update)"New value: +"Who can manage members."
    • changedInput schema / properties / q / description
      Previous value: -"Search keyword(s). 1-1024 chars; whitespace-only rejected. Multi-token queries require ALL tokens (analyzer-tokenized AND); case-insensitive; substring matching applies for queries ≤64 chars, otherwise whole-word/token matching only. (required for: metadata-search)"New value: +"Search keyword(s). 1-1024 chars. Multi-token = ALL tokens (AND); case-insensitive; substring for ≤64 chars, else whole-word."
    • changedInput schema / properties / scope / description
      Previous value: -"AI instructions scope. \"profile\" (default) targets the workspace-wide slot at /workspace/{ws_id}/instructions/ — owner/admin only (403 code 1680 for non-admins). \"me\" targets the per-user slot at /workspace/{ws_id}/instructions/me/ — any member (no guests). The two scopes are independent slots and do NOT merge server-side; concat client-side if you want a combined view. (used by: instructions-get, instructions-set, instructions-clear)"New value: +"AI instructions scope: 'profile' (workspace-wide; owner/admin) or 'me' (per-user; any member). Independent slots, do NOT merge."
    • changedInput schema / properties / share_id / description
      Previous value: -"19-digit numeric ID or custom name of share to import (required for: import-share)"New value: +"19-digit numeric ID or custom name of share to import."
    • changedInput schema / properties / template_filter / description
      Previous value: -"Filter for metadata template list (used by: metadata-template-list)"New value: +"Filter for metadata template list."
    • changedInput schema / properties / template_id / description
      Previous value: -"Metadata template ID (e.g. mt_abc123) (used by: metadata-template-delete, metadata-template-details, metadata-template-update, metadata-template-clone, metadata-template-assign, metadata-set, metadata-extract, metadata-list-files, metadata-view-get, metadata-view-save, metadata-view-delete, metadata-view-export; optional for metadata-search to restrict to nodes with at least one value contributed by the template — custom fields are excluded when set)"New value: +"Metadata template ID (e.g. mt_abc123). For metadata-search, restricts to nodes with values from this template (custom fields excluded)."
    • changedInput schema / properties / user_context / description
      Previous value: -"Optional short hint describing the kind of view/template being created (1-64 chars, letters/numbers/spaces only; must contain at least one letter or digit). Omit to send no hint. Example: \"photo collection\" or \"contract tracker\". (used by: metadata-template-suggest-fields)"New value: +"Short view/template hint (1-64 chars, letters/numbers/spaces). Example: \"photo collection\"."
    • changedInput schema / properties / workspace_id / description
      Previous value: -"19-digit numeric ID or custom name"New value: +"Workspace opaque ID. Use this when only workspaces are valid (not shares or other contexts). For polymorphic contexts use profile_id. 19-digit numeric ID or custom name."
  10. Changed4 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import",
      -  "instructions-get",
      -  "instructions-set",
      -  "instructions-clear"
      -]New value: +[
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "metadata-view-export",
      +  "metadata-search",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear"
      +]
    • addedInput schema / properties / parent_node_id
      Added value: +{
      +  "description": "Destination folder opaque ID for the TSV export. Must be an existing folder (not a file, not trashed). Omit to write to workspace root. (used by: metadata-view-export)",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / q
      Added value: +{
      +  "description": "Search keyword(s). 1-1024 chars; whitespace-only rejected. Multi-token queries require ALL tokens (analyzer-tokenized AND); case-insensitive; substring matching applies for queries ≤64 chars, otherwise whole-word/token matching only. (required for: metadata-search)",
      +  "maxLength": 1024,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / template_id / description
      Previous value: -"Metadata template ID (e.g. mt_abc123) (used by: metadata-template-delete, metadata-template-details, metadata-template-update, metadata-template-clone, metadata-template-assign, metadata-set, metadata-extract, metadata-list-files, metadata-view-get, metadata-view-save, metadata-view-delete)"New value: +"Metadata template ID (e.g. mt_abc123) (used by: metadata-template-delete, metadata-template-details, metadata-template-update, metadata-template-clone, metadata-template-assign, metadata-set, metadata-extract, metadata-list-files, metadata-view-get, metadata-view-save, metadata-view-delete, metadata-view-export; optional for metadata-search to restrict to nodes with at least one value contributed by the template — custom fields are excluded when set)"
  11. Changed5 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "metadata-view-get",
      -  "metadata-view-save",
      -  "metadata-view-delete",
      -  "metadata-views-list",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import"
      -]New value: +[
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import",
      +  "instructions-get",
      +  "instructions-set",
      +  "instructions-clear"
      +]
    • changedInput schema / properties / content / description
      Previous value: -"Markdown content for the note (max 100KB). For larger notes, use POST /blob + blob_id instead to avoid base64 overhead and MCP transport limits. (used by: create-note, update-note as one of content/blob_id)"New value: +"Plain text/markdown content. For create-note/update-note: markdown body (max 102400 bytes / 100 KiB). For larger notes, use POST /blob + blob_id instead to avoid base64 overhead and MCP transport limits. For instructions-set: full markdown body that replaces the AI instructions slot (max 65536 bytes / 64 KiB UTF-8). (used by: create-note, update-note as one of content/blob_id; instructions-set)"
    • changedInput schema / properties / node_id / description
      Previous value: -"Storage node opaque ID (used by: update-note, read-note, quickshare-get, quickshare-delete, metadata-template-assign, metadata-template-resolve, metadata-get, metadata-set, metadata-delete, metadata-extract, metadata-list-files, metadata-list-templates-in-use, metadata-versions)"New value: +"Storage node opaque ID (used by: update-note, read-note, quickshare-get, quickshare-delete, metadata-template-assign, metadata-template-resolve, metadata-get (single), metadata-set, metadata-delete, metadata-extract, metadata-list-files, metadata-list-templates-in-use, metadata-versions)"
    • changedInput schema / properties / node_ids / description
      Previous value: -"JSON-encoded array of storage node IDs (1-25 items), typically sourced from metadata-template-preview-match results. Folder nodes are filtered out server-side. (used by: metadata-template-suggest-fields)"New value: +"JSON-encoded array of storage node IDs (1-25 items, all in the same workspace; duplicates are silently deduped server-side before counting against the cap). For metadata-template-suggest-fields, typically sourced from metadata-template-preview-match results — folder nodes are filtered out server-side. For metadata-get (bulk variant), the response collapses to {format:'multi', objects, templates, errors} with templates deduplicated across objects. (used by: metadata-template-suggest-fields, metadata-get)"
    • addedInput schema / properties / scope
      Added value: +{
      +  "description": "AI instructions scope. \"profile\" (default) targets the workspace-wide slot at /workspace/{ws_id}/instructions/ — owner/admin only (403 code 1680 for non-admins). \"me\" targets the per-user slot at /workspace/{ws_id}/instructions/me/ — any member (no guests). The two scopes are independent slots and do NOT merge server-side; concat client-side if you want a combined view. (used by: instructions-get, instructions-set, instructions-clear)",
      +  "enum": [
      +    "profile",
      +    "me"
      +  ],
      +  "type": "string"
      +}
  12. Changed3 schema fields changed
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "list",
      -  "details",
      -  "update",
      -  "delete",
      -  "archive",
      -  "unarchive",
      -  "members",
      -  "list-shares",
      -  "import-share",
      -  "available",
      -  "check-name",
      -  "create-note",
      -  "update-note",
      -  "read-note",
      -  "quickshare-get",
      -  "quickshare-delete",
      -  "quickshares-list",
      -  "metadata-template-create",
      -  "metadata-template-delete",
      -  "metadata-template-list",
      -  "metadata-template-details",
      -  "metadata-template-update",
      -  "metadata-template-clone",
      -  "metadata-template-preview-match",
      -  "metadata-template-suggest-fields",
      -  "metadata-template-assign",
      -  "metadata-template-unassign",
      -  "metadata-template-resolve",
      -  "metadata-template-assignments",
      -  "metadata-get",
      -  "metadata-set",
      -  "metadata-delete",
      -  "metadata-extract",
      -  "jobs-status",
      -  "metadata-list-files",
      -  "metadata-list-templates-in-use",
      -  "metadata-versions",
      -  "enable-workflow",
      -  "disable-workflow",
      -  "enable-import",
      -  "disable-import"
      -]New value: +[
      +  "list",
      +  "details",
      +  "update",
      +  "delete",
      +  "archive",
      +  "unarchive",
      +  "members",
      +  "list-shares",
      +  "import-share",
      +  "available",
      +  "check-name",
      +  "create-note",
      +  "update-note",
      +  "read-note",
      +  "quickshare-get",
      +  "quickshare-delete",
      +  "quickshares-list",
      +  "metadata-template-create",
      +  "metadata-template-delete",
      +  "metadata-template-list",
      +  "metadata-template-details",
      +  "metadata-template-update",
      +  "metadata-template-clone",
      +  "metadata-template-preview-match",
      +  "metadata-template-suggest-fields",
      +  "metadata-template-assign",
      +  "metadata-template-unassign",
      +  "metadata-template-resolve",
      +  "metadata-template-assignments",
      +  "metadata-get",
      +  "metadata-set",
      +  "metadata-delete",
      +  "metadata-extract",
      +  "jobs-status",
      +  "metadata-list-files",
      +  "metadata-list-templates-in-use",
      +  "metadata-versions",
      +  "metadata-view-get",
      +  "metadata-view-save",
      +  "metadata-view-delete",
      +  "metadata-views-list",
      +  "enable-workflow",
      +  "disable-workflow",
      +  "enable-import",
      +  "disable-import"
      +]
    • addedInput schema / properties / config
      Added value: +{
      +  "description": "Saved-view config as a JSON-encoded string. Schema: `{version:1, columns:[{field,visible?,width?}], sort:{field,dir}, filters:[{field,operator,value_type,value}]}`. columns array order IS the display order; sort.dir is 'asc' or 'desc'; filters are AND-chained (max 5) with operator in `= != < <= > >=` and value_type in `string|int|float|bool` (json rejected). Unknown keys rejected with 1605. Auto-apply: GET /workspace/{id}/metadata/templates/{tid}/nodes/ applies config.sort and config.filters when the caller omits sort_field/filters — that endpoint is not exposed as an MCP workspace action, so reach it via code-mode execute. Columns are never auto-applied server-side. (required for: metadata-view-save)",
      +  "type": "string"
      +}
    • changedInput schema / properties / template_id / description
      Previous value: -"Metadata template ID (e.g. mt_abc123) (used by: metadata-template-delete, metadata-template-details, metadata-template-update, metadata-template-clone, metadata-template-assign, metadata-set, metadata-extract, metadata-list-files)"New value: +"Metadata template ID (e.g. mt_abc123) (used by: metadata-template-delete, metadata-template-details, metadata-template-update, metadata-template-clone, metadata-template-assign, metadata-set, metadata-extract, metadata-list-files, metadata-view-get, metadata-view-save, metadata-view-delete)"
  13. Changed1 schema field changed
    • changedInput schema / properties / intelligence / description
      Previous value: -"Enable/disable AI features (\"true\"/\"false\"). ⚠️ Enabling COSTS CREDITS: 10 credits per page for every document — can consume the entire free plan budget quickly. Only enable when user explicitly requests RAG or AI search. Cannot re-enable once disabled. (used by: update)"New value: +"Enable/disable AI features (\"true\"/\"false\"). ⚠️ Enabling COSTS CREDITS: 10 credits per page for every document — can consume the entire free plan budget quickly. Only enable when user explicitly requests RAG or AI search. Disabling flushes indexed embeddings; re-enabling re-indexes at AI credit cost. Toggle is temporarily rate-limited after each flip. (used by: update)"
  14. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The description exposes destructive scope ('delete (workspace + all files)'), cost/rate-limit implications ('intelligence COSTS CREDITS (10/page)'), side effects of toggling intelligence ('Disable flushes embeddings; re-enable re-indexes'), and verbosity defaults. Annotations only mark destructiveHint=true and readOnlyHint=false, so the description adds substantial behavioral context without contradiction.

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

Conciseness5/5

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

The description is long but every sentence carries load-bearing operational information: exclusions, destructive warning, cost caveats, verbosity defaults. It front-loads purpose and is organized logically, so an agent can quickly scan the key points without wading through fluff.

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 tool with 29 parameters and 20 actions, the description covers the full scope, explicit exclusions, destructive/cost behavior, and points to action='describe' for exhaustive per-action details. It is complete enough for an agent to decide whether to invoke this tool and how to route the intent.

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%, so the baseline is 3. The tool description mostly echoes schema details like the `detail` param defaults and intelligence cost warning, which are already present in the schema's property descriptions. It does not add meaningful new parameter-level explanation beyond what the schema already conveys.

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?

Description opens with 'Workspace management: list/details/update/delete, archive, members, notes, quickshares, share import, import toggle' – a concrete verb+resource scope that names the operations. It further distinguishes itself from siblings by stating metadata actions moved to `metadata` and `storage` tools, so an agent knows this tool's boundaries.

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 tells the agent when not to use this tool: 'metadata actions MOVED — ... There are no `metadata-*` actions on this tool.' It also instructs calling action='describe' for the full action/param reference and warns to enable intelligence only on explicit user request. These are clear usage conditions beyond generic descriptions.

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