Skip to main content
Glama
Outlook MCP Server

Outlook MCP Server

by kennymatsudo

categorize_messages

Set Outlook categories on multiple messages, replacing existing tags to create reversible batch labels for review before moving or deleting.

Instructions

Set Outlook categories (coloured tags) on many messages, replacing any they already have. Reversible. Useful for labelling a batch so the user can review it in Outlook before anything is moved or deleted.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "message_ids": "<message_ids>",
      "categories": "<categories>"
    },
    "name": "categorize_messages"
  }
}

Input Schema

NameRequiredDescriptionDefault
categoriesYes
message_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the two most important mutation facts: existing categories are replaced (not appended), and the change is reversible. It omits whether category names must already exist in the mailbox master list, whether new categories are created, and what happens on partial failure across many IDs.

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 short sentences, zero filler, with the mutation semantics and reversibility front-loaded before the usage hint. Every clause adds information an agent needs.

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?

For a batch mutation tool with no annotations, no output schema, and undocumented parameters, the definition covers the essential semantics but leaves gaps: no return value (counts, per-ID failures), no prerequisite that categories typically pre-exist, and no guidance on sourcing the message IDs.

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. It adds meaning for 'categories' ('coloured tags', replacing existing ones) and clarifies message_ids targets many messages, but it never explains the ID format/source (e.g. from search_message_ids) or whether unknown category names are auto-created.

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 gives a specific verb and resource ('Set Outlook categories'), clarifies the domain concept ('coloured tags'), and scopes it to 'many messages'. No sibling tool touches categories, so the operation is unambiguously distinct from mark_read, move_messages, and the archive/delete family.

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?

It states a concrete use case: label a batch so the user can review it in Outlook before anything is moved or deleted, which implicitly positions this as a pre-step to move_messages/delete_messages. It does not name those siblings explicitly or state when not to use it, but the workflow context is clear enough to guide selection.

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