Skip to main content
Glama

Server Details

Write pages into your notes vault, search them, and publish one as a shareable link.

Ownership verified
Status
Healthy
Uptime
34.8% over 43 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct role: reading, searching, writing whole pages, editing parts of pages, publishing, and checking account permissions. The descriptions explicitly separate write_page from edit_page and search_pages from read_page, so misselection is unlikely.

Naming Consistency5/5

All six tools use a consistent snake_case verb_noun pattern: read_page, write_page, edit_page, search_pages, publish_page, get_account. The singular/plural distinction between page and pages is natural and predictable.

Tool Count5/5

Six tools are well-scoped for a page-vault server, covering the essential lifecycle without excessive surface area. Each tool earns its place and there is no obvious redundancy.

Completeness4/5

The set covers create/update, read, partial edit, search/list, publish/unpublish, and account inspection. The main gap is the absence of any delete or archive operation for pages, which leaves part of the page lifecycle uncovered.

Available Tools

6 tools
edit_pageEdit part of a pageAInspect

Change part of a page without sending the whole thing back. Append or prepend Markdown, or replace an exact piece of text with find and replace. Read the page first when using find: what you match against is the Markdown read_page returns. The text you match must appear exactly once, so include enough of the surrounding lines to make it unique. The previous version is kept for 14 days and the owner can restore it.

NameRequiredDescriptionDefault
findNoExact text to replace, as it appears in the page's Markdown. Must occur exactly once.
iconNoOptional. Set the page's icon: one emoji.
coverNoOptional. Set the page's cover, the banner across its top. One of: brush (one ink brush stroke on paper), blue-hour (blue mountains under a moon), contours (a contour map on paper), flow (dark flowing lines with amber threads), mist (grey ridges in mist), sundown (amber ridges at sunset), garden (a raked sand garden with stones), stars (constellations on a night sky), enso (an ink circle on paper), ridges (white ridgelines on black), doodles (small doodles on paper), doodles-night (the same doodles on black), boxes (white cubes, a few in black and amber), stitch (indigo cloth with white stitching), dawn (a soft gradient, sky blue to peach), dusk (a deep gradient, blue to violet and red). Or "none" for no cover. A picture the owner uploaded is never replaced.
titleNoOptional. Rename the page.
appendNoMarkdown to add at the end of the page.
prependNoMarkdown to add at the start of the page.
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.
replaceNoWhat to put in its place. An empty string deletes the matched text.
documentIdNoThe page to change.
externalIdNoThe key the page was filed under, instead of its id.

Output Schema

NameRequiredDescription
urlYesWhere the owner reads it, signed in.
iconNoThe emoji beside the title.
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.
createdNo
passcodeNoThe passcode the link needs, when access is passcode. Give it to the user exactly as written, alongside the link.
warningsNo
publicUrlNoThe shareable link, when the page is published.
documentIdYes
isPublishedYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is a non-destructive mutation, and the description adds genuinely new context: a 14-day version history and owner-initiated restore. The exact-once matching constraint is also framed behaviorally. It does not state what happens on a failed or ambiguous match (atomicity, whether other fields are still applied), which matters for a mutation with ten optional parameters.

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?

Four tight sentences, front-loaded with the core capability and followed by the operational caveats in priority order. No filler, and the read_page dependency is stated before the uniqueness rule that depends on it.

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

Completeness3/5

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

The content-editing path is well covered and an output schema handles return values, but the description never mentions the metadata operations (title, icon, cover) or project filing that account for five of the ten parameters. An agent relying on the prose alone would not know it can rename a page or set its icon here.

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 every parameter is already documented, making 3 the baseline. The description adds real value for find (uniqueness, Markdown source-of-truth) but says nothing about icon, cover, title, project, or externalId beyond what the schema provides.

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?

States a specific verb and resource (change part of a page) and enumerates the three content modes: append, prepend, and find/replace. The phrase 'without sending the whole thing back' implicitly contrasts it with write_page, but the sibling is never named. It also omits that this tool can set a page's title, icon, and cover, so the stated purpose is narrower than the actual tool.

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?

Explicitly directs the agent to read_page first when using find and explains why: the match target is the Markdown read_page returns. It also gives a concrete usage rule for uniqueness ('include enough of the surrounding lines'), which is the main failure mode. It stops short of saying when to prefer this over write_page, or when to choose append/prepend instead of find/replace.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accountAccount and limitsA
Read-only
Inspect

What the user's plan allows, how much of it is used, and what this connection is permitted to do. Useful for telling the user why a write was refused.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
planYes
siteNo
scopesYes
documentsYes
publishedYes
maxDocumentsYes
maxPublishedYes

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds scope context (it inspects plan/usage/permissions) and a diagnostic purpose, but no auth requirements or refresh/caching behavior beyond that.

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 tight sentences with no filler, and the diagnostic use case is placed after the content summary. It reads slightly as an output inventory rather than a lead verb, but nothing is wasted.

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 no parameters, an output schema, and full annotation coverage, the description only needs to convey intent and scope, which it does. A brief note on how it relates to the page-write siblings would have made it complete.

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?

The tool takes zero parameters, so there is no parameter semantics for the description to carry; the baseline of 4 applies. Nothing in the description misleads about inputs.

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?

The description names the resource (account/plan) and enumerates the three things it reports: plan allowances, current usage, and connection permissions. It is clearly about account-level state and thus distinguishable from the page-oriented siblings (read_page, search_pages, etc.), though it never uses a direct verb like 'retrieve'.

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 gives a concrete trigger for calling it: diagnosing why a write was refused. That is a useful 'when to use' cue, but no explicit when-not-to-use or named alternative is offered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_pagePublish or unpublish a pageA
DestructiveIdempotent
Inspect

Put a page on the open web and get a link the user can send to someone, or take it back down by passing publish: false. With access: "passcode" the link opens only for somebody who also types the passcode this returns - use it whenever the user wants the page shared but not open to anyone who finds the link. A connected app can only do this for pages it wrote itself; a page the user made in the app has to be published by them. Published pages are not indexed by search engines unless their owner separately allows it in the app, and taking a page down clears that consent rather than remembering it.

NameRequiredDescriptionDefault
accessNoOptional. "passcode" puts the page on the web behind a six-character passcode, returned in the result, which the user sends along with the link. "anyone" opens it to anyone with the link. Omit to keep the page at the level it has - a page behind a passcode is never opened up unless you send "anyone", and only do that when the user asks.
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.
publishYesTrue puts it on the web, false takes it down.
documentIdNoThe page to publish or unpublish.
externalIdNoThe key the page was filed under, if you do not have its id.
newPasscodeNoOptional. True replaces the passcode with a new one, so the old one stops working everywhere. Only for a page behind a passcode.

Output Schema

NameRequiredDescription
urlYesWhere the owner reads it, signed in.
iconNoThe emoji beside the title.
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.
createdNo
passcodeNoThe passcode the link needs, when access is passcode. Give it to the user exactly as written, alongside the link.
warningsNo
publicUrlNoThe shareable link, when the page is published.
documentIdYes
isPublishedYes

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that unpublishing clears search-index consent rather than remembering it, that published pages are not indexed unless the owner separately allows it, and that the passcode is returned in the result. These are real behavioral consequences an agent could not infer from destructiveHint/openWorldHint 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?

The core action and its inverse are front-loaded in the first sentence, and every sentence carries information. It is a single dense paragraph with long nested clauses and a fairly niche trailing note on indexing, which costs a little readability.

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 6-parameter mutation tool with an output schema, the description covers the permission constraint, access-mode semantics, the passcode-in-result behavior, and the reversibility/consent implications of unpublishing. An agent has everything needed to decide and invoke correctly.

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 baseline is 3, but the description adds decision-level meaning the schema lacks: passcode is intended for share-but-not-public scenarios, and access should not be raised to "anyone" unless the user asks. The remaining semantics (externalId, project, newPasscode) are left almost entirely to the schema.

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 plus the outcome ("Put a page on the open web and get a link") and covers the inverse operation ("take it back down by passing publish: false"). It is clearly distinguishable from siblings like write_page/edit_page since this is about web exposure and access control, not content mutation.

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?

Gives explicit decision guidance for the access parameter ("use it whenever the user wants the page shared but not open to anyone who finds the link") and an explicit when-not constraint ("A connected app can only do this for pages it wrote itself"). It also states a guardrail against silent escalation of access levels, covering both when and when-not to act.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_pageRead a pageA
Read-only
Inspect

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.

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

NameRequiredDescription
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.

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.

search_pagesSearch the vaultA
Read-only
Inspect

Find pages already in the vault by words in their title or body. Use this before writing when you are not sure whether a page for this artifact exists. Called with no query it lists the newest pages instead, which is how to see what a vault holds.

NameRequiredDescriptionDefault
limitNoHow many results at most. Defaults to 10.
queryNoWhat to look for. Omit to list the newest pages.

Output Schema

NameRequiredDescription
resultsYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely useful behavior beyond that: an empty query silently switches to a newest-first listing, which is a mode change an agent must know about. No pagination or result-ordering detail beyond that, but the output schema covers returns.

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?

Three short sentences, front-loaded with the primary action, then the usage trigger, then the degenerate-input behavior. Every sentence carries distinct information with no repetition of the title.

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?

With annotations covering the safety profile, 100% schema coverage on both parameters, and an output schema handling return values, the description leaves nothing an agent needs unanswered. The one non-obvious behavior (empty query mode) is explicitly called out.

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; the description earns an extra point by explaining the meaning of an omitted query ("lists the newest pages instead, which is how to see what a vault holds") rather than just restating the schema's default. The limit parameter is left to the schema, which documents it fully.

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?

States a specific verb and resource ("Find pages already in the vault by words in their title or body"), which is clearly a search rather than a fetch or write. It doesn't explicitly name the nearest sibling (read_page) to contrast with, so it falls just short of full differentiation.

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?

"Use this before writing when you are not sure whether a page for this artifact exists" gives a concrete trigger condition tied to the write_page/edit_page siblings. It also documents the zero-argument mode, though it never explicitly says when to prefer read_page instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_pageWrite a pageA
Idempotent
Inspect

File a Markdown document into the user's vault as a page, creating it or updating an existing one. This replaces the whole page, so use edit_page instead to change part of one. Returns the page and a link to it. Set externalId to a stable key for this artifact, such as the source file's path in the repository, so that writing it again updates the same page rather than adding a second copy. The previous version is kept for 14 days and the owner can restore it.

NameRequiredDescriptionDefault
iconNoOne emoji, shown beside the title in the sidebar and above it on the page. Always choose one that fits the document - a map for a plan, a scale for a decision, a handshake for a handoff, a microscope for research - even when the user did not ask. A new page sent without one gets a guess from its title; an existing page keeps the icon it has.
coverNoThe banner across the top of the page, by name. Choose one that suits the document when you create a page. One of: brush (one ink brush stroke on paper), blue-hour (blue mountains under a moon), contours (a contour map on paper), flow (dark flowing lines with amber threads), mist (grey ridges in mist), sundown (amber ridges at sunset), garden (a raked sand garden with stones), stars (constellations on a night sky), enso (an ink circle on paper), ridges (white ridgelines on black), doodles (small doodles on paper), doodles-night (the same doodles on black), boxes (white cubes, a few in black and amber), stitch (indigo cloth with white stitching), dawn (a soft gradient, sky blue to peach), dusk (a deep gradient, blue to violet and red). Or "none" for no cover. A new page sent without one gets a banner picked from its title; an existing page keeps the cover it has, and a picture the owner uploaded is never replaced.
titleNoOptional. Defaults to a title in the Markdown's frontmatter, else its leading level-one heading. With neither, a new page is called Untitled and an existing page keeps the title it has.
accessNoOptional. "passcode" puts the page on the web behind a six-character passcode, returned in the result, which the user sends along with the link. "anyone" opens it to anyone with the link. Omit to keep the page at the level it has - a page behind a passcode is never opened up unless you send "anyone", and only do that when the user asks.
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.
publishNoOptional. True also puts the page on the web and returns publicUrl. Omit to leave the page's current visibility alone. A connected app can set this on a page it wrote, not on one the user made in the app.
markdownYesThe page body, in Markdown. Headings, lists, tables, task lists, quotes, code blocks, links, images and dividers are kept. Anything else degrades to its own text and is named in warnings.
documentIdNoOptional. Update this exact page, using an id an earlier call returned. Takes precedence over externalId.
externalIdNoA stable key for this artifact, unique within its project. Strongly recommended: without it, writing the same document twice leaves two pages.
newPasscodeNoOptional. True replaces the passcode with a new one, so the old one stops working everywhere. Only for a page behind a passcode.
parentDocumentNoOptional. File a new page underneath this one. Ignored when updating.

Output Schema

NameRequiredDescription
urlYesWhere the owner reads it, signed in.
iconNoThe emoji beside the title.
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.
createdNo
passcodeNoThe passcode the link needs, when access is passcode. Give it to the user exactly as written, alongside the link.
warningsNo
publicUrlNoThe shareable link, when the page is published.
documentIdYes
isPublishedYes

TDQS

A4/5.0
Behavior3/5

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

Goes well beyond the annotations by disclosing that the whole page is replaced but the prior version is retained for 14 days and restorable, that a passcode is returned in the result, that markdown constructs degrade into warnings, and that a user-uploaded cover is never replaced. However, the replacement semantics sit uncomfortably beside destructiveHint=false; the description mitigates this with the restore window but never explicitly reconciles the two.

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 purpose, then the edit_page exclusion, then the return value and the externalId rule, so the highest-value information arrives first. Five dense sentences with no filler, though the externalId sentence overlaps the schema text and could have been trimmed.

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

Completeness3/5

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

An output schema exists and the description still notes the return value and link, and annotations cover the safety profile, so coverage is largely adequate for an 11-parameter mutation tool. The remaining gap is the tension between whole-page replacement and destructiveHint=false, which an agent calling this destructively would want resolved.

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% and every parameter already carries a rich description, so the schema does the heavy lifting; baseline is 3. The prose adds one useful example (externalId as the source file path in the repository) but otherwise repeats what the schema states.

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 ("File a Markdown document into the user's vault as a page") plus the scope of the operation (create-or-update). It also names the sibling it is not ("use edit_page instead to change part of one"), so an agent can route between the two without opening either schema.

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?

Gives an explicit when-not with the alternative named (whole-page replacement vs. edit_page), and adds conditional guidance for the risky parameters: only send "anyone" when the user asks, and leave access/publish out to preserve current visibility. The externalId advice (use the source file path so rewrites update rather than duplicate) is actionable usage guidance, not just a restatement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changededit_page1 field 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"
        +}
    • Changedpublish_page1 field 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"
        +}
    • Changedread_page2 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"
        +  ]
        +}
    • Changedsearch_pages1 field changed
      • addedOutput schema / properties / results / items / properties / project
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedwrite_page2 fields changed
      • changedInput schema / properties / externalId / description
        Previous value: -"A stable key for this artifact, unique within the vault. Strongly recommended: without it, writing the same document twice leaves two pages."New value: +"A stable key for this artifact, unique within its project. Strongly recommended: without it, writing the same document twice leaves two pages."
      • 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"
        +}
  2. 6 tool updates
    • First observededit_page
    • First observedget_account
    • First observedpublish_page
    • First observedread_page
    • First observedsearch_pages
    • First observedwrite_page

Publisher details

Operator
Sumibako · Publisher source
Operator website
https://sumibako.com
Vendor relationship
Not applicable
Restrictions
Not applicable

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to read, search, and write Markdown notes kept in Postgres, alongside a web app with a file tree, wikilinks, full-text search, and a graph. Supports OAuth or API-key connections, per-account vaults, and folders shared with other people read-only or read-write.
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search, read, and safely modify markdown notes in a server-hosted vault over HTTP, with OAuth or machine-token access, atomic writes, conflict checks, dry-run diffs, trash-based deletion, and an audit journal. Also turns YouTube links into transcripts and notes stored in the same vault.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources