Planner MCP Server
Enables Claude to manage Microsoft Planner plans, buckets, and tasks via the Microsoft Graph API with OAuth 2.0 authentication.
README
Planner MCP Server
A Model Context Protocol (MCP) server that enables Claude to interact with Microsoft Planner through the Microsoft Graph API.
Features
- Authentication: OAuth 2.0 device code flow for secure authentication
- Plans Management: List and view Planner plans
- Buckets Management: List, create, and manage buckets within plans
- Tasks Management: Create, update, delete, and view tasks
- Token Persistence: Stores access tokens across server restarts
Prerequisites
- Node.js 18+ or newer
- npm or yarn
- Microsoft account with access to Planner
Installation
- Clone or download this repository
- Install dependencies:
cd planner-mcp
npm install
- Build the project:
npm run build
Authentication
Before using the Planner tools, you need to authenticate:
- Start the authentication flow by calling the
auth_starttool - Visit the displayed verification URL
- Enter the provided code
- Sign in with your Microsoft account
- Use the
auth_polltool to check if authentication is complete
The access token will be saved locally and reused for future sessions.
Configuration
Option 1: Using CLI (Recommended)
claude mcp add --transport stdio planner node /path/to/planner-mcp/build/index.js
Option 2: Manual Configuration
Add this server to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"planner": {
"command": "node",
"args": ["/path/to/planner-mcp/build/index.js"]
}
}
}
Note: Replace
/path/to/planner-mcp/build/index.jswith the actual path to your cloned repository.
Available Tools
Authentication Tools
auth_start: Start the Planner authentication flow (device code)auth_poll: Check if authentication is complete
Plan Tools
list_plans: List all Microsoft Planner plans for the current userget_plan: Get detailed information about a specific plan
Bucket Tools
list_buckets: List all buckets in a plancreate_bucket: Create a new bucket in a plan
Task Tools
list_tasks: List tasks in a plan or bucket with filtering options (priority, due date, status, etc.)get_task: Get detailed information about a specific taskcreate_task: Create a new task in a bucket with title, description, priority, and due dateupdate_task: Update an existing task (title, description, priority, bucket, due date, etc.)delete_task: Delete a task
Priority Levels:
1= Urgent (highest priority)3= Important (high priority)5= Medium (normal priority)9= Low (lowest priority)
Required Permissions
The Microsoft Graph API requires the following permissions for Planner:
Group.Read.All- To list plans and bucketsTasks.ReadWrite- To read, create, update, and delete tasks
Example Workflows
Create a new task
- List plans:
list_plans - List buckets in a plan:
list_bucketswith the plan ID - Create a task:
create_taskwith plan ID, bucket ID, title, and priority (1=urgent, 3=important, 5=medium, 9=low)
Example:
{
"planId": "your-plan-id",
"bucketId": "your-bucket-id",
"title": "Complete project proposal",
"description": "Write and submit the Q1 project proposal",
"priority": 1,
"dueDateTime": "2026-03-30T17:00:00Z"
}
Move a task to another bucket
- Get task details:
get_task - Update task:
update_taskwith the new bucket ID
Filter tasks by priority
- List tasks with priority filter:
list_taskswith plan ID and priority parameter
Example:
{
"planId": "your-plan-id",
"priority": 1
}
This will show only urgent tasks (priority 1).
Update task due date
- Get task details:
get_task - Update task:
update_taskwith the new due date in ISO 8601 format (e.g., "2025-12-31T23:59:59Z")
Troubleshooting
Authentication Issues
If authentication fails, try these steps:
- Delete the
.access-token.txtfile - Call
auth_startagain - Make sure you're using a Microsoft account that has access to Planner
"Not authenticated" Error
If you get a "Not authenticated" error:
- Make sure you've completed the authentication flow
- Check that the
.access-token.txtfile exists and contains a valid token - If the token has expired, run
auth_startagain
Permission Errors
If you get permission errors:
- Make sure your Microsoft account has access to the specified plan
- Check that the required permissions are granted in your Azure AD app
Development
Build
npm run build
Watch mode
npm run watch
Start server
npm start
License
ISC
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.