Skip to main content
Glama
outlook-rag

outlook-rag

sync_index

Plan, start, inspect, or cancel scoped Outlook mail indexing for semantic search, using confirmed date ranges to control what gets indexed.

Instructions

Plan, start, inspect or cancel indexing.

For 'create DB' without a period, call plan first: show 30/90/365-day and all-time counts/time estimates and ASK which scope to use; never silently start all time or choose a period. plan reads Outlook metadata only, no embedding API or index writes. start requires confirmed=true AND explicit since_days (otherwise confirmation_required, no job). Set confirmed=true only for the user's chosen/approved scope. Explicit date/folder limits take precedence over all/everything: all mail from last 30 days still means since_days=30. An unrestricted all/everything/全部 request approves folders=['auto'], since_days=0 without another question. Positive since_days limits indexing without deleting older indexed mail. Default status is offline with approximate remaining-time estimates: initial assumptions, then measured scan speed. Reused jobs retain their original scope; report mismatches/unknown scope. cancel keeps committed mail. Startup/search never launch sync.

Input Schema

NameRequiredDescriptionDefault
actionNostatus
job_idNo
foldersNo
confirmedNo
reconcileNo
since_daysNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.4

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, it discloses important behavior: plan only reads Outlook metadata, start returns confirmation_required without a job unless confirmed, positive since_days does not delete older indexed mail, and cancel keeps committed mail. These details materially clarify safety and side effects for a mutation 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?

The opening sentence is front-loaded and the subsequent rules are dense but purposeful. The length is justified by the tool's complexity, though a more structured layout could improve scanability.

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 complex multi-action indexing tool with no output schema and sparse annotations, the description covers most critical behavior, including plan/status outputs and scope rules. The main gaps are job_id and reconcile semantics.

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?

With 0% schema description coverage across 6 parameters, the description carries the full burden. It explains action, confirmed, since_days, and folders well, including the folders=['auto'], since_days=0 unrestricted case, but leaves job_id and reconcile undocumented.

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 clearly states the tool can plan, start, inspect, or cancel indexing, giving specific verbs and a resource. It does not explicitly differentiate itself from sibling tools such as index_status or get_indexed_mail, so it stops short of a 5.

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?

It gives explicit conditional guidance: call plan first for 'create DB' without a period, ask which scope to use, never silently start all time, and require confirmed=true plus explicit since_days for start. It also defines how to interpret unrestricted all/everything requests and states that startup/search should never launch sync.

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