Skip to main content
Glama

Read Page

page.read
Read-onlyIdempotent

Read a page's name, body (text, capped at 15,000 chars), cover, author, date and other metadata. Use when the user references a page by name ("the launch brief", "Sara's onboarding page") and you need the actual content to summarize, recap, translate, or quote. The bodyTruncated: true flag means content was clipped — for very long pages, ask the user which section they care about, or accept that you're working from the head of the page.

Input Schema

NameRequiredDescriptionDefault
pageIdYes

Output Schema

NameRequiredDescriptionDefault
idYesPage id
bodyYesPage text, capped at 15,000 chars
dateYesThe page's date, YYYY-MM-DD
iconYesIcon name
nameYesPage name
coverYesBuilt-in cover (`atw:1`…`atw:6`) or an uploaded file's name
spaceIdYesSpace id
authorIdYesEmployee id of the page's author
authorNameYesThe author's name; null when no author or no longer a member
mentionCountYesNumber of mentions
bodyTruncatedYesTrue when `body` was clipped
attachmentCountYesNumber of attachments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / properties / authorId
      Added value: +{
      +  "description": "Employee id of the page's author",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / authorName
      Added value: +{
      +  "description": "The author's name; null when no author or no longer a member",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / cover
      Added value: +{
      +  "description": "Built-in cover (`atw:1`…`atw:6`) or an uploaded file's name",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / date
      Added value: +{
      +  "description": "The page's date, YYYY-MM-DD",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "icon",
      -  "spaceId",
      -  "body",
      -  "bodyTruncated",
      -  "attachmentCount",
      -  "mentionCount"
      -]New value: +[
      +  "id",
      +  "name",
      +  "icon",
      +  "spaceId",
      +  "body",
      +  "bodyTruncated",
      +  "attachmentCount",
      +  "mentionCount",
      +  "cover",
      +  "authorId",
      +  "authorName",
      +  "date"
      +]
  2. Changed6 schema fields changed
    • removedOutput schema / properties / icon / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / icon / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / spaceId / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / spaceId / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / body / description
      Previous value: -"Page text, capped at 4000 chars"New value: +"Page text, capped at 15,000 chars"
  4. First observed

TDQS

A4/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), so the description is free to add behavior it alone can supply: the 15,000-character cap and the meaning of `bodyTruncated: true`, plus the recommended recovery action. That is real added context, though it doesn't say what happens for missing/inaccessible pageIds.

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?

Three sentences, front-loaded with the return payload, then the trigger, then the edge case. The final sentence is somewhat sprawling with an embedded em-dash aside, but every sentence carries distinct 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?

For a one-parameter read-only tool with an output schema, this is close to complete: payload contents, truncation semantics, and use case are all covered. The remaining hole is id acquisition — an agent told to act on 'the launch brief' still has no described route to a numeric pageId.

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

Parameters2/5

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

Schema description coverage is 0% and the single required `pageId` is an integer, yet the description only ever frames the lookup as 'the user references a page by name' — it never explains how to resolve a name to the numeric id the tool actually demands. With the low coverage the description was obligated to compensate, and it instead leaves the name-to-id gap unaddressed.

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 ('Read a page') and enumerates exactly what comes back: name, body, cover, author, date, metadata. The parenthetical cap (15,000 chars) makes it distinguishable from page.edit/page.update siblings 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 Guidelines4/5

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

Gives both a trigger condition (user references a page by name) and the intended downstream actions (summarize, recap, translate, quote), which is well above 'implied usage'. It stops short of naming alternatives — e.g. workspace.search for locating a page when only fragments are known — so no explicit when-not path exists.

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