Skip to main content
Glama

Find Pages

find_pages

Search OneNote pages by text to get matching page IDs, titles, and locations. Limit results to a section, notebook, or entire account, and optionally include page body content.

Instructions

Searches OneNote pages by text and returns matches with page IDs, titles, and where they live. Works section-scoped, notebook-scoped, or across the whole account. This is the working alternative to search_pages, which relies on a Graph search endpoint that rejects requests on this account.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum matches to return (default 25).
queryYesText to look for. Case-insensitive substring match, so plain words work — no operators, wildcards, or quotes.
sectionIdNoLimit the search to one section (fastest).
notebookIdNoLimit the search to one notebook.
includeContentNoAlso search page bodies, not just titles. Much slower: it downloads each page. Off by default.
maxContentPagesNoCap on pages downloaded for the content pass (default 100, max 300).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden obliquely. It discloses that this is a search-style read operation, can span the whole account, and that the content pass downloads pages and is slower. It does not mention auth or rate limits, but for a read-only search tool the key behavioral traits are present and consistent.

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 core purpose and return value, then the scoping modes and the sibling alternative. Every sentence earns its place and there is no filler.

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 6-parameter tool with no output schema and no annotations, the description covers the main things an agent needs: what it searches, what it returns, how scoping works, and when to prefer it over search_pages. It is not exhaustive about edge cases like conflicting scopes or exact response structure, but it is strong enough for correct selection and invocation.

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 description coverage is 100%, and each parameter already has a meaningful description with defaults and tradeoffs. The tool description adds scoping context but does not add significant parameter-level semantics beyond what the schema already provides.

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?

The description opens with a specific verb and resource: 'Searches OneNote pages by text,' and states exactly what is returned (page IDs, titles, location). It also clearly distinguishes itself from search_pages, so an agent can tell them apart without opening the sibling tool.

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?

The description explicitly positions this as the 'working alternative to search_pages' and explains why search_pages is unreliable (Graph endpoint rejects requests). It also names the three scoping modes (section, notebook, whole account), making the choice of when to use it concrete.

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