Microsoft To Do Integration
Manage Microsoft To Do task lists and tasks through Microsoft Graph
The Microsoft To Do integration provides access to manage Microsoft To Do task lists and tasks through Microsoft Graph through the Integrate MCP server.
Installation
The Microsoft To Do integration is included with the SDK:
import { microsoftToDoIntegration } from "integrate-sdk/server";Setup
1. Create a Microsoft To Do OAuth App
- Go to Azure Portal — App Registrations
- Create a new OAuth application
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Microsoft To Do integration to your server configuration. The integration automatically reads MICROSOFT_TO_DO_CLIENT_ID and MICROSOFT_TO_DO_CLIENT_SECRET from your environment variables:
import { createMCPServer, microsoftToDoIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
microsoftToDoIntegration({
scopes: ["offline_access", "User.Read", "Tasks.ReadWrite"], // Optional
}),
],
});You can override the environment variables by passing explicit values:
microsoftToDoIntegration({
clientId: process.env.CUSTOM_MICROSOFT_TO_DO_ID,
clientSecret: process.env.CUSTOM_MICROSOFT_TO_DO_SECRET,
scopes: ["offline_access", "User.Read", "Tasks.ReadWrite"], // Optional
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("microsoft_to_do");
const result = await client.microsoft_to_do.listTaskLists({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, microsoftToDoIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [microsoftToDoIntegration()],
});Configuration Options
export interface MicrosoftToDoIntegrationConfig {
clientId?: string;
Default Scopes
These defaults are applied unless you override scopes in the integration config:
offline_accessUser.ReadTasks.ReadWrite
Tools
microsoft_to_do_list_task_lists
To do list task lists
export interface MicrosoftToDoListTaskListsParams {
"$top"?: number;
microsoft_to_do_get_task_list
To do get task list
export interface MicrosoftToDoGetTaskListParams {
"list_id": string;
microsoft_to_do_create_task_list
To do create task list
export interface MicrosoftToDoCreateTaskListParams {
"list_json": string;
microsoft_to_do_list_tasks
To do list tasks
export interface MicrosoftToDoListTasksParams {
"list_id": string;
microsoft_to_do_get_task
To do get task
export interface MicrosoftToDoGetTaskParams {
"list_id": string;
microsoft_to_do_create_task
To do create task
export interface MicrosoftToDoCreateTaskParams {
"list_id": string;
microsoft_to_do_update_task
To do update task
export interface MicrosoftToDoUpdateTaskParams {
"list_id": string;
Notes
- Category: Productivity
- Authentication mode: OAuth