Skip to main content
Glama

Read Workspace knowledge gaps

workspace_knowledge_gaps
Read-onlyIdempotent

Reads retained unanswered questions across authorized Workspace with stable cursor.

This is the existing 7-day Workspace feed, not Agent similarity groups or a completeness claim. Both cursor fields and returned window_end identify continuation of the same window.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of retained Workspace knowledge-gap questions in this page.
before_atNoTimezone-aware next_before_at from the prior page, paired with before_id and window_end.
before_idNonext_before_id from the prior page, paired with before_at and window_end.
window_endNoTimezone-aware end of the seven-day window; continuation retains the returned window_end.

Output Schema

NameRequiredDescriptionDefault
itemsYes
scopeYes
has_moreYes
window_endYes
window_startYes
workspace_idYes
next_before_atNo
next_before_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / $defs / PublicWorkspaceKnowledgeGap
      Added value: +{
      +  "properties": {
      +    "asked_at": {
      +      "format": "date-time",
      +      "title": "Asked At",
      +      "type": "string"
      +    },
      +    "bot_id": {
      +      "format": "uuid",
      +      "title": "Bot Id",
      +      "type": "string"
      +    },
      +    "bot_name": {
      +      "title": "Bot Name",
      +      "type": "string"
      +    },
      +    "conversation_id": {
      +      "anyOf": [
      +        {
      +          "format": "uuid",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Conversation Id"
      +    },
      +    "handoff": {
      +      "title": "Handoff",
      +      "type": "boolean"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "question": {
      +      "title": "Question",
      +      "type": "string"
      +    },
      +    "question_message_id": {
      +      "anyOf": [
      +        {
      +          "format": "uuid",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Question Message Id"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "bot_id",
      +    "bot_name",
      +    "question",
      +    "asked_at",
      +    "handoff"
      +  ],
      +  "title": "PublicWorkspaceKnowledgeGap",
      +  "type": "object"
      +}
    • removedOutput schema / $defs / WorkspaceKnowledgeGap
      Removed value: -{
      -  "description": "One retained unanswered question, without similarity grouping or inferred counts.",
      -  "properties": {
      -    "asked_at": {
      -      "format": "date-time",
      -      "title": "Asked At",
      -      "type": "string"
      -    },
      -    "bot_id": {
      -      "format": "uuid",
      -      "title": "Bot Id",
      -      "type": "string"
      -    },
      -    "bot_name": {
      -      "title": "Bot Name",
      -      "type": "string"
      -    },
      -    "conversation_id": {
      -      "anyOf": [
      -        {
      -          "format": "uuid",
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Conversation Id"
      -    },
      -    "handoff": {
      -      "title": "Handoff",
      -      "type": "boolean"
      -    },
      -    "id": {
      -      "format": "uuid",
      -      "title": "Id",
      -      "type": "string"
      -    },
      -    "question": {
      -      "title": "Question",
      -      "type": "string"
      -    },
      -    "question_message_id": {
      -      "anyOf": [
      -        {
      -          "format": "uuid",
      -          "type": "string"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Question Message Id"
      -    }
      -  },
      -  "required": [
      -    "id",
      -    "bot_id",
      -    "bot_name",
      -    "question",
      -    "asked_at",
      -    "handoff"
      -  ],
      -  "title": "WorkspaceKnowledgeGap",
      -  "type": "object"
      -}
    • changedOutput schema / properties / items / items / $ref
      Previous value: -"#/$defs/WorkspaceKnowledgeGap"New value: +"#/$defs/PublicWorkspaceKnowledgeGap"
  2. Changed4 schema fields changed
    • addedInput schema / properties / before_at / description
      Added value: +"Timezone-aware next_before_at from the prior page, paired with before_id and window_end."
    • addedInput schema / properties / before_id / description
      Added value: +"next_before_id from the prior page, paired with before_at and window_end."
    • addedInput schema / properties / limit / description
      Added value: +"Maximum number of retained Workspace knowledge-gap questions in this page."
    • addedInput schema / properties / window_end / description
      Added value: +"Timezone-aware end of the seven-day window; continuation retains the returned window_end."
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real value on top: the data is retained unanswered questions, scoped to an existing seven-day window, with a stable cursor whose continuation requires echoing the returned window_end. That is behavior an agent cannot infer from the annotations alone.

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?

Two short sentences, with the verb-and-resource statement front-loaded and no filler. The second sentence is dense with caveats but each clause carries 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?

An output schema exists, so return shape need not be described. For a paginated read tool, the description covers resource scope, time window and cursor continuation rules; only the exact meaning of 'retained' versus dismissed gaps and the relationship to the sibling gap tools is left implicit.

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 per-field meaning is already documented. The description reinforces the coupling of before_at, before_id and window_end as a unit, but that pairing is also spelled out in the schema descriptions, so the added meaning beyond structured data is marginal.

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?

Specific verb plus resource: 'Reads retained unanswered questions across authorized Workspace.' The scope (workspace-wide rather than per-agent) is stated, which meaningfully separates it from agent-level gap tooling, though it never names the sibling tools (knowledge_gaps_list, knowledge_gap_read) it overlaps with.

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

Usage Guidelines3/5

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

It implies when to reach for this tool by contrasting it with 'Agent similarity groups' and disclaiming completeness, but it gives no explicit when-not condition and never points the agent at a named alternative such as knowledge_gaps_list. Selection guidance is suggested rather than stated.

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