Skip to main content
Glama

update-contact-folder

update-contact-folder
Destructive

Rename or move a Microsoft 365 contact folder by updating its display name or parent folder ID, directly through the Graph API.

Instructions

Update the properties of contactfolder object.

šŸ’” TIP: Updates a contact folder. Body: { displayName?: 'New name', parentFolderId?: '' } — both displayName (rename) and parentFolderId (move) are writable. The default 'Contacts' folder may not be renameable. Get the folder id via list-contact-folders.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
confirmNoFor destructive operations when the confirm gate is enabled (MS365_MCP_REQUIRE_CONFIRM=true; off by default). Set to true only after the user has explicitly approved this action. When the gate is on, calls without confirm: true return { error: "confirmation_required" } without touching user data.
includeHeadersNoInclude response headers (including ETag) in the response metadata
contactFolderIdYesValue for the 'contactFolderId' path segment. Pass it under the name 'contactFolderId', not as 'id'. Use the 'id' field of the contact folder object as returned by Microsoft Graph.
excludeResponseNoExclude the full response body and only return success or failure indication
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false, so the agent knows this is a write operation. The description adds useful behavioral context: it notes that the default 'Contacts' folder may not be renameable, and clarifies that both displayName and parentFolderId are writable. This goes beyond the annotations without contradicting them.

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 description is concise, consisting of a main sentence, a tip, and a body example. It is front-loaded with the core purpose. There is slight redundancy between 'Update the properties of contactfolder object' and 'Updates a contact folder', but overall it is efficient and easy to parse.

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 mutation tool with nested objects and multiple parameters, the description covers the essential usage: which fields are writable and how to obtain the folder ID. It does not explain the response format or the confirm parameter, but these may be covered by common patterns given no output schema is expected. The description provides enough context for an agent to correctly invoke the tool.

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?

Schema description coverage is 80%, so most parameters have descriptions in the schema. The description adds value by explicitly stating the body structure { displayName?: 'New name', parentFolderId?: '<id>' } and identifying the writable fields. It also instructs how to obtain the contactFolderId (via list-contact-folders), which clarifies the path parameter. This goes beyond the schema's generic parameter descriptions.

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 ('Update') and a specific resource ('contactfolder object'). It clearly identifies what the tool does. Sibling tools like update-outlook-contact, delete-contact-folder, and create-contact-folder are distinct, and the description makes it clear this is for updating contact folders, not contacts or other resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description provides a helpful tip to get the folder id via list-contact-folders, which is a prerequisite for the contactFolderId parameter. However, it does not explicitly state when to use this tool versus alternatives (e.g., when to use create-contact-folder vs update). The guidance is implicit based on the tool name, but not explicit about exclusions or alternative selection conditions.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/A-Impact-Pavel/ms365-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server