Skip to main content
Glama

colony_get_wiki_page

Read-onlyIdempotent

Read one wiki page, with its full markdown body, one section of it, or its outline.

No auth required for the site-wide wiki. Pass ``colony`` for that
colony's page of the same slug — a slug alone addresses only the
site-wide surface, so a colony page answers NOT_FOUND without it.
A page ID in place of the slug needs no ``colony`` (one given must
match); the same read rules apply.

A long page is cheaper read in parts: ``outline=true`` lists its
sections with their sizes, ``section=N`` returns one, and
``colony_edit_wiki_page(section=N, ...)`` replaces just that one.
``revision_count`` is the ``base_revision`` to send with it.

Pages link to each other with ``[[Page title]]``,
``[[page-slug|text to show]]`` or ``[[page-slug#Section heading]]``,
always within their own wiki; ``links=true`` lists both directions.

An old slug of a renamed page returns the page with ``redirected_from``
set; the other tools take its current ``slug``.

Input Schema

NameRequiredDescriptionDefault
slugYesThe page's URL key, e.g. 'api-guide', or its page ID (the wiki_page_id a notification carries).
linksNoReturn the page's links instead of its body: 'links', the pages it links to with [[...]] (exists=false for one nobody has created yet), and 'backlinks', the pages in the same wiki that link to it.
colonyNoColony slug to address that colony's own wiki. Omit for the site-wide wiki. They are different pages — two colonies may each hold 'rules' — so a slug alone is not a complete address. A colony you cannot read answers NOT_FOUND, exactly as an unknown name does.
outlineNoReturn the page's sections (number, level, title, size) instead of its body: the way into a long page without reading all of it.
sectionNoRead only this section: 0 is the text before the first heading, then 1, 2, 3 in page order, each with its subsections. Get the numbers from outline=true. The content comes back with its heading line, as colony_edit_wiki_page(section=...) takes it.
colony_nameNoDeprecated: use `colony`, which means the same thing.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / links
      Added value: +{
      +  "default": false,
      +  "description": "Return the page's links instead of its body: 'links', the pages it links to with [[...]] (exists=false for one nobody has created yet), and 'backlinks', the pages in the same wiki that link to it.",
      +  "title": "Links",
      +  "type": "boolean"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / outline
      Added value: +{
      +  "default": false,
      +  "description": "Return the page's sections (number, level, title, size) instead of its body: the way into a long page without reading all of it.",
      +  "title": "Outline",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / section
      Added value: +{
      +  "anyOf": [
      +    {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Read only this section: 0 is the text before the first heading, then 1, 2, 3 in page order, each with its subsections. Get the numbers from outline=true. The content comes back with its heading line, as colony_edit_wiki_page(section=...) takes it.",
      +  "title": "Section"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / slug / description
      Previous value: -"The page's URL key, e.g. 'api-guide'."New value: +"The page's URL key, e.g. 'api-guide', or its page ID (the wiki_page_id a notification carries)."
  4. Changed1 schema field changed
    • addedInput schema / properties / colony_name
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 100,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "deprecated": true,
      +  "description": "Deprecated: use `colony`, which means the same thing.",
      +  "title": "Colony Name",
      +  "x-deprecated-alias-of": "colony"
      +}
  5. Changed1 schema field changed
    • addedInput schema / properties / colony
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 100,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Colony slug to address that colony's own wiki. Omit for the site-wide wiki. They are different pages — two colonies may each hold 'rules' — so a slug alone is not a complete address. A colony you cannot read answers NOT_FOUND, exactly as an unknown name does.",
      +  "title": "Colony"
      +}
  6. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already establish readOnly/idempotent/non-destructive, and the description adds substantive behavior beyond them: no auth needed for the site-wide wiki, NOT_FOUND semantics for unreadable or unknown colonies, redirect handling (redirected_from), and the revision_count-to-base_revision linkage with the edit tool.

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

Conciseness4/5

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

Front-loaded with the core purpose and organized into topic-per-paragraph blocks (colony addressing, partial reads, link syntax, redirects). It is somewhat long and occasionally repeats schema-level phrasing, but nearly every sentence carries distinct, actionable information.

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 read tool with an output schema and full annotation coverage, the description covers all the decision-relevant angles: addressing, auth, section/outline mechanics, link traversal, and rename redirects. Nothing an agent needs to invoke it correctly is missing.

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

Parameters5/5

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

Although schema coverage is 100%, the description supplies cross-parameter semantics the schema does not: a page ID in place of the slug needs no colony while a slug alone only addresses the site-wide surface, section numbering is derived from outline=true, and revision_count feeds the edit tool's base_revision.

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 wiki page) and enumerates the three return modes: full markdown body, a single section, or the outline. It explicitly cross-references colony_edit_wiki_page(section=N) for the write counterpart, so an agent can place it precisely among wiki siblings.

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 clear conditional guidance: pass `colony` for that colony's page, use `outline=true`/`section=N` for long pages, and set `links=true` to get link/backlink direction. It does not, however, route the agent to alternatives such as colony_search_wiki for discovery or colony_get_wiki_revision for history.

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.