Skip to main content
Glama

Read a page

read_page
Read-only

Read one page back out of the vault, by the documentId an earlier call returned or by the externalId it was filed under. Returns the page as Markdown, which is what to change and send back when editing it, along with its title and its links.

Input Schema

NameRequiredDescriptionDefault
projectNoThe repository or project this artifact belongs to, such as the repository's name. Send the same one every time. A key is unique within its project, and a new page is filed in the project's own folder. Leave it out only for work that belongs to no project.
documentIdNoThe page's id.
externalIdNoThe key the page was filed under.

Output Schema

NameRequiredDescriptionDefault
urlYesWhere the owner reads it, signed in.
iconNoThe emoji beside the title.
textYesThe same page as plain text.
coverNoThe banner across the top of the page, by name. "uploaded" when it is a picture the owner put there.
titleYes
accessNoWho can open the shareable link: anyone who has it, or only somebody who also has the passcode.
projectNoThe project the key is filed under, lowercased.
markdownYesThe page as Markdown. Edit this and send it back, or match against it with edit_page.
passcodeNoThe passcode the link needs, when access is passcode. Give it to the user exactly as written, alongside the link.
createdAtNo
publicUrlNoThe shareable link, when the page is published.
updatedAtNo
documentIdYes
externalIdNo
isPublishedYes
markdownWarningsNoParts of the page Markdown cannot carry, which a write would drop.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / project
      Added value: +{
      +  "description": "The repository or project this artifact belongs to, such as the repository's name. Send the same one every time. A key is unique within its project, and a new page is filed in the project's own folder. Leave it out only for work that belongs to no project.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / project
      Added value: +{
      +  "description": "The project the key is filed under, lowercased.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds real context beyond that: the content is returned as Markdown suitable for round-tripping into an edit, plus title and links. It does not discuss pagination or size limits for very large pages, which is the one behavioral detail left open.

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?

Two sentences, front-loaded with the verb and scope, then the return shape and its purpose. No restatement of the title and nothing that does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety, the description need not enumerate return fields, and it still summarizes them usefully. It also compensates for the fact that no parameter is marked required by framing lookup as 'by documentId ... or by externalId', implying at least one identifier. The omission of the project parameter's role is the remaining small gap.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds provenance the schema does not: documentId is the value 'an earlier call returned' and externalId is 'the key it was filed under'. That tells an agent where to source each value and that either identifier path is acceptable, which is genuine added meaning. The project parameter is not touched in the description, keeping it from a 5.

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 one page back out of the vault') and immediately constrains scope to a single page retrieved by documentId or externalId, which implicitly separates it from search_pages. It also names the downstream action (editing) that routes the agent to edit_page, so the tool is distinguishable from siblings without opening a schema.

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

Usage Guidelines4/5

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

It says clearly when to reach for it: after an earlier call has produced an id, and when the intent is to inspect-then-edit ('what to change and send back when editing it'). It does not explicitly exclude the alternative case — e.g. 'use search_pages if you do not yet have an id' — so the when-not guidance is only implied.

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