Connect your AI Agents to Microsoft Planner in minutes

Merge lets you securely connect your agents to Microsoft Planner and thousands of tools instantly

Available tools

list_buckets

List all buckets in a Planner plan. Planner cannot limit results server-side, so limit trims the page locally and sets pageinfo.truncated. Use listplans to find valid plan IDs. Use cursor from page_info for next page.

get_bucket

Get a Planner bucket by ID. Use list_buckets to find valid bucket IDs.

create_bucket

Create a new bucket in a Planner plan to organize tasks. Use list_plans to find valid plan IDs.

update_bucket

Update a Planner bucket's name or order. Fetches current ETag automatically. Use list_buckets to find valid bucket IDs.

delete_bucket

Permanently delete a Planner bucket. The bucket must be empty (no tasks) before deletion. Fetches current ETag automatically. Use list_buckets to find valid bucket IDs.

list_todo_lists

List all Microsoft To Do lists for the current user. These are personal task lists, not Planner plans; use listplans for those. Use cursor from pageinfo for next page.

get_todo_list

Get a Microsoft To Do list by ID. Use listtodolists to find valid list IDs.

create_todo_list

Create a new Microsoft To Do list. This is a personal task list; to create a Planner plan use create_plan.

update_todo_list

Rename a Microsoft To Do list. Built-in lists such as the default Tasks list and Flagged emails cannot be renamed. Use listtodolists to find valid list IDs.

delete_todo_list

Permanently delete a Microsoft To Do list and all its tasks. Built-in lists such as the default Tasks list cannot be deleted. Use listtodolists to find valid list IDs.

list_todo_tasks

List tasks in a Microsoft To Do list, optionally filtered by status or importance and sorted by orderby. Filtering and sorting are done by the API, so prefer them over paging through every task. Use listtodolists to find valid list IDs. Use cursor from pageinfo for next page.

get_todo_task

Get a Microsoft To Do task by ID. Use listtodotasks to find valid task IDs.

create_todo_task

Create a task in a Microsoft To Do list. Set timezone when a due date or reminder means a local time, otherwise it is recorded as UTC. Use listtodo_lists to find valid list IDs.

update_todo_task

Update a Microsoft To Do task. Set clearduedatetime or clearreminder true to remove those values; passing null does not clear them. Set timezone when a date means a local time, otherwise it is recorded as UTC. Use listtodo_tasks to find valid task IDs.

delete_todo_task

Permanently delete a Microsoft To Do task. Use listtodotasks to find valid task IDs.

list_todo_steps

List the checklist steps on a Microsoft To Do task. For checklist items on a Planner task use listchecklistitems instead. Use listtodotasks to find valid task IDs. Use cursor from page_info for next page.

get_todo_step

Get a single checklist step from a Microsoft To Do task. Use listtodosteps to find valid item IDs.

create_todo_step

Add a checklist step to a Microsoft To Do task. For a checklist item on a Planner task use addchecklistitem instead. Use listtodotasks to find valid task IDs.

update_todo_step

Update a checklist step on a Microsoft To Do task. For a checklist item on a Planner task use updatechecklistitem instead. Use listtodosteps to find valid item IDs.

delete_todo_step

Delete a checklist step from a Microsoft To Do task. For a checklist item on a Planner task use deletechecklistitem instead. Use listtodosteps to find valid item IDs.

list_groups

List the Microsoft 365 groups the signed-in user belongs to. Call this first to find a groupid for createplan or listplans; only 'Unified' groups can own a Planner plan. Non-unified groups are dropped after the page is fetched, so a page can come back empty with hasnext_page true - follow the cursor before concluding the user has no groups.

list_group_members

List the users in a Microsoft 365 group, with their user IDs. Call this to turn a person's name or email into the user ID that createtask and updatetask need for assigneeuserids, and that updateplandetails needs for sharedwith keys. Use listgroups to find valid group IDs, and search to match a name.

list_plans

List Planner plans. Provide groupid to list every plan in a Microsoft 365 group; prefer this, and use listgroups to find valid group IDs. Omitting groupid returns only plans explicitly shared with the signed-in user, which excludes plans they created but were never added to, so an empty result does not mean the user has no plans. Use cursor from pageinfo for next page.

get_plan

Get a Planner plan by ID. Use list_plans to find valid plan IDs.

get_plan_details

Get extended details for a Planner plan including shared users and category label names. Use list_plans to find valid plan IDs.

create_plan

Create a Planner plan owned by a Microsoft 365 group. groupid is required and the signed-in user must be a member of that group; call listgroups first to find one. A new plan is not visible in anyone's Planner app until shared, so call updateplandetails afterwards to share it.

update_plan

Update a Planner plan's title. Fetches current ETag automatically. Use list_plans to find valid plan IDs.

update_plan_details

Share a plan with users or name its category labels. Sharing makes the plan visible in that user's Planner app, which a newly created plan is not. Use listgroupmembers to find user IDs for sharedwith. Fetches current ETag automatically. Use listplans to find valid plan IDs.

delete_plan

Permanently delete a Planner plan and all its tasks and buckets. Fetches current ETag automatically. Use list_plans to find valid plan IDs.

list_tasks

List Planner tasks. Omit planid and bucketid for current user's assigned tasks. Provide planid to list all tasks in a plan, or bucketid to list tasks in a specific bucket. Planner cannot limit results server-side, so limit trims the page locally and sets pageinfo.truncated. Use cursor from pageinfo for next page.

get_task

Get a Planner task by ID. Use list_tasks to find valid task IDs.

get_task_details

Get extended task details including description, checklist items, and external references. Use list_tasks to find valid task IDs.

create_task

Create a new task in a Planner plan, optionally assigned, scheduled, prioritized or labelled. Use listplans to find valid plan IDs, listbuckets to find bucket IDs, listgroupmembers to find assignee user IDs, and getplandetails to see what each category label is named.

update_task

Update a Planner task's title, bucket, start or due date, priority, completion percentage, assignees or category labels. Set clearduedate, clearstartdate or clearassignees true to remove those values; passing null does not clear them. Fetches current ETag automatically. Use listtasks to find task IDs and listgroupmembers to find assignee user IDs.

update_task_details

Update a task's description, card preview, checklist items, or external references. To attach or remove a link, prefer addtaskreference and removetaskreference, which handle Planner's required key encoding. Fetches current ETag automatically. Use list_tasks to find valid task IDs.

add_task_reference

Attach a link to a Planner task, such as a SharePoint document or a web page. Pass the URL unencoded; this tool applies the key encoding Planner requires, which updatetaskdetails would leave to the caller. Use list_tasks to find valid task IDs.

remove_task_reference

Remove a link from a Planner task. Pass the same unencoded URL used to add it; this tool applies Planner's required key encoding. Use gettaskdetails to see the links a task currently has.

delete_task

Permanently delete a Planner task. Fetches current ETag automatically. Use list_tasks to find valid task IDs.

list_checklist_items

List all checklist items (sub-steps) on a Planner task. For Microsoft To Do steps use listtodosteps instead. Use list_tasks to find valid task IDs.

add_checklist_item

Add a checklist item (sub-step) to a Planner task. For Microsoft To Do steps use createtodostep instead. Use list_tasks to find valid task IDs.

update_checklist_item

Update a checklist item's title or checked state on a Planner task. For Microsoft To Do steps use updatetodostep instead. Use listchecklistitems to find valid item IDs.

delete_checklist_item

Delete a checklist item from a Planner task. For Microsoft To Do steps use deletetodostep instead. Use listchecklistitems to find valid item IDs.

validate_credential

Validate Microsoft Planner credentials by calling GET /me on Microsoft Graph.

View all tools by creating a free accountSee more tools

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's Microsoft Planner  MCP server

FAQs on using Merge's Microsoft Planner  MCP server

Explore other MCP servers built and managed by Merge

activecampaign
ActiveCampaign
adobe_pdf_services
Adobe PDF Services
ahrefs
Ahrefs
airtable
Airtable
amadeus
Amadeus
amazon_s3
Amazon S3
amplitude
Amplitude
anaplan
Anaplan
apollo
Apollo
arize
Arize
articulate
Articulate Reach 360
asana
Asana
ashby
Ashby
attio
Attio
avalara
Avalara
aviationstack
Aviationstack
axiom
Axiom
bamboohr
BambooHR
basecamp
Basecamp
biorxiv
bioRxiv
bitbucket
Bitbucket
bitly
Bitly
box
Box
brex
Brex

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now