Skip to main content
Glama
mpalermiti

outlook-mcp

by mpalermiti

outlook_list_contacts_delta

Read-only

Lists only Outlook contact changes since a prior delta token, enabling recurring agents to poll updates without re-fetching all contacts.

Instructions

List only contact changes since the last call.

Use this for polling/recurring agents — typically 10x cheaper than outlook_list_contacts after the first call. Use outlook_list_contacts for one-shot queries.

Example: first call: outlook_list_contacts_delta(); next: outlook_list_contacts_delta(delta_token=). is_deleted=True items are tombstones (drop cached payload). has_more=True means drain immediately by passing the returned delta_token back.

Input Schema

NameRequiredDescriptionDefault
page_sizeNo
delta_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv1.30.2
    • removedInput schema / properties / delta_token / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / delta_token / default
      Removed value: -null
    • removedInput schema / properties / delta_token / title
      Removed value: -"Delta Token"
    • addedInput schema / properties / delta_token / type
      Added value: +"string"
    • removedInput schema / properties / page_size / title
      Removed value: -"Page Size"
    • removedInput schema / title
      Removed value: -"outlook_list_contacts_deltaArguments"
  2. First observedv1.11.0

TDQS

A4.6/5.0
Behavior5/5

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

With only readOnlyHint=true in annotations, the description supplies substantial operational context beyond the annotation: delta-token flow, tombstone handling for is_deleted=True items, and immediate draining when has_more=True. These are concrete behavioral details an agent needs.

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?

The description is front-loaded with purpose, then usage/alternative, then a compact example and edge-case behavior. Every sentence earns its place and adds operational value.

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 delta-polling read tool with no output schema, the description covers the key return signals: is_deleted tombstones, has_more draining, and delta_token reuse. It is not fully complete because page_size behavior remains undocumented.

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 0% for the two parameters. The description fully explains delta_token, including the no-argument first call and passing the prior token back, but it never explains page_size or its pagination implications, so compensation is only partial.

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 states a specific verb and resource: list contact changes since the last call. It explicitly distinguishes this from outlook_list_contacts, making the delta/list split clear without requiring schema inspection.

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 names the intended use case (polling/recurring agents) and the alternative (outlook_list_contacts for one-shot queries). It also gives the first-call/next-call sequence and explains how to handle has_more=True.

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

Deploy Server

Other Tools