Skip to main content
Glama
mpalermiti

outlook-mcp

by mpalermiti

outlook_list_events

Read-only

List calendar events in a date range, expanding recurring instances, to support one-shot calendar queries and day-at-a-glance scans.

Instructions

List calendar events in a date range (expands recurring instances).

Use for one-shot queries; use outlook_list_events_delta for polling/recurring agents.

Pass concise=True for day-at-a-glance scans: drops organizer, response_status, type and show_as; adds is_organizer and attendees_count; spells is_online as is_online_meeting.

calendar: a display name or an ID from outlook_list_calendars; omit for the default calendar. A cursor continues the listing it came from.

Input Schema

NameRequiredDescriptionDefault
daysNo
afterNo
countNo
beforeNo
cursorNo
conciseNo
calendarNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changedv1.30.2
    • removedInput schema / properties / after / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / after / default
      Removed value: -null
    • removedInput schema / properties / after / title
      Removed value: -"After"
    • addedInput schema / properties / after / type
      Added value: +"string"
    • removedInput schema / properties / before / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / before / default
      Removed value: -null
    • removedInput schema / properties / before / title
      Removed value: -"Before"
    • addedInput schema / properties / before / type
      Added value: +"string"
    • removedInput schema / properties / calendar / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / calendar / default
      Removed value: -null
    • removedInput schema / properties / calendar / title
      Removed value: -"Calendar"
    • addedInput schema / properties / calendar / type
      Added value: +"string"
    • removedInput schema / properties / concise / title
      Removed value: -"Concise"
    • removedInput schema / properties / count / title
      Removed value: -"Count"
    • removedInput schema / properties / cursor / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / cursor / default
      Removed value: -null
    • removedInput schema / properties / cursor / title
      Removed value: -"Cursor"
    • addedInput schema / properties / cursor / type
      Added value: +"string"
    • removedInput schema / properties / days / title
      Removed value: -"Days"
    • removedInput schema / title
      Removed value: -"outlook_list_eventsArguments"
  2. Changed1 schema field changedv1.22.1
    • addedInput schema / properties / calendar
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Calendar"
      +}
  3. First observedv1.11.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, so the description carries real weight and delivers: recurring-instance expansion, the exact field set concise mode drops and adds, and the is_online → is_online_meeting rename. The cursor continuation rule ('continues the listing it came from') is behavior an agent cannot infer from any structured field.

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 routing, then the parameter notes — a sensible order with no filler sentences. The concise-mode sentence is dense but every clause carries distinct field-level information. Minor cost: it is longer than it needs to be for a list operation, and the trailing `calendar`/cursor notes read as an afterthought block.

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?

No output schema exists, yet the description never characterizes the default event shape — only the deltas in concise mode — so an agent cannot anticipate what a normal result contains. Date-range semantics (default days=7, count=50 pagination behavior, whether a next cursor is returned) are also unstated, leaving real gaps for a 7-parameter read tool.

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%, so the description must compensate for 7 parameters. It does well on three: calendar (display name or ID from outlook_list_calendars, omit for default), concise (full field-level effects), and cursor (continuation semantics). It says nothing about days, after, before, or count — notably the interplay between the relative `days` window and the absolute `after`/`before` bounds, and what happens when both are supplied, is left entirely unexplained.

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?

Specific verb and resource ('List calendar events') plus a scope qualifier ('in a date range') and a behavioral note that recurring instances are expanded. It also explicitly names the sibling it is not (outlook_list_events_delta), so an agent can route between the two 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States both when to use this tool ('one-shot queries') and when to use the alternative ('polling/recurring agents' → outlook_list_events_delta). It also gives a second conditional routing rule: pass concise=True for day-at-a-glance scans.

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