Skip to main content
Glama
mpalermiti

outlook-mcp

by mpalermiti

outlook_create_task

Create a Microsoft To Do task with a due date, importance level, notes, recurrence, and optional reminder through Microsoft Graph.

Instructions

Create a Microsoft To Do task with optional due date, importance, body, and recurrence.

Example: outlook_create_task(title="Send invoice", due="2026-09-01", importance="high") reminder=True requires due and sets the reminder to the due time — Graph silently drops a reminder that has no time. due takes ISO 8601 or a relative offset — note +7d is seven days from now, while a bare 7d means seven days ago. importance is "low", "normal", or "high". Defaults to the user's default list when list_id is omitted.

Input Schema

NameRequiredDescriptionDefault
dueNo
bodyNo
titleYes
list_idNo
reminderNo
importanceNo
recurrenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed27 schema fields changedv1.30.2
    • removedInput schema / properties / body / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / body / default
      Removed value: -null
    • removedInput schema / properties / body / title
      Removed value: -"Body"
    • addedInput schema / properties / body / type
      Added value: +"string"
    • removedInput schema / properties / due / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / due / default
      Removed value: -null
    • removedInput schema / properties / due / title
      Removed value: -"Due"
    • addedInput schema / properties / due / type
      Added value: +"string"
    • removedInput schema / properties / importance / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / importance / default
      Removed value: -null
    • removedInput schema / properties / importance / title
      Removed value: -"Importance"
    • addedInput schema / properties / importance / type
      Added value: +"string"
    • removedInput schema / properties / list_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / list_id / default
      Removed value: -null
    • removedInput schema / properties / list_id / title
      Removed value: -"List Id"
    • addedInput schema / properties / list_id / type
      Added value: +"string"
    • addedInput schema / properties / recurrence / additionalProperties
      Added value: +true
    • removedInput schema / properties / recurrence / anyOf
      Removed value: -[
      -  {
      -    "additionalProperties": true,
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / recurrence / default
      Removed value: -null
    • removedInput schema / properties / recurrence / title
      Removed value: -"Recurrence"
    • addedInput schema / properties / recurrence / type
      Added value: +"object"
    • removedInput schema / properties / reminder / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / reminder / default
      Removed value: -null
    • removedInput schema / properties / reminder / title
      Removed value: -"Reminder"
    • addedInput schema / properties / reminder / type
      Added value: +"boolean"
    • removedInput schema / properties / title / title
      Removed value: -"Title"
    • removedInput schema / title
      Removed value: -"outlook_create_taskArguments"
  2. First observedv1.11.0

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the readOnlyHint=false / destructiveHint=false annotations by disclosing a silent-failure mode ('Graph silently drops a reminder that has no time') and a defaulting side effect (falls back to the default list). It also flags the ambiguous relative-offset parsing where a bare '7d' means seven days ago, which is exactly the kind of trap an agent would otherwise hit.

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?

Purpose is front-loaded, followed by a compact example and four short, high-value notes; each line carries distinct information. The example line is mildly redundant with the notes but earns its place by showing argument names in use.

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 7-parameter create tool with a nested object and no output schema, the description covers the risky and ambiguous parameters well. The gap is recurrence, an untyped nested object with no explanation anywhere in the definition, and no hint of what the call returns.

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?

With 0% schema description coverage the description must carry the load, and it does for due (ISO 8601 or relative offset), importance (low/normal/high), reminder (requires due), and list_id (default-list fallback). It documents neither the shape of the nested recurrence object nor anything about body beyond 'optional body', leaving two of seven parameters thin.

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 ('Create a Microsoft To Do task') and enumerates the optional fields, which cleanly separates it from the sibling mutators outlook_update_task, outlook_complete_task, and outlook_delete_task. An agent can identify the right tool without opening the 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?

Provides clear operating context: list_id omission falls back to the user's default list, and reminder=True requires due. It does not explicitly state when to prefer outlook_update_task or outlook_add_checklist_item instead, so the routing guidance is implied rather than spelled out.

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