🚀 Microsoft To-Do MCP Service
This MCP (Model Context Protocol) service allows you to interact with Microsoft To-Do tasks through an AI assistant.
🚀 Quick Start
This MCP service enables seamless interaction with Microsoft To-Do tasks via an AI assistant, streamlining task management processes.
✨ Features
- Facilitates interaction between AI assistants and Microsoft To-Do tasks.
- Enables users to manage To-Do tasks efficiently.
📦 Installation
1. Prerequisites
- Node.js version 16 or higher
- npm
- A Microsoft account
- Azure application registration (see setup below)
2. Installation Steps
Installing this tool involves two main steps:
- Install the package.
- Set up authentication (requires cloning the repository).
Step 1: Install the Package
npm install -g @jhirono/todomcp
Step 2: Set Up Authentication
Even if you install the package globally, you need to clone the repository to complete the authentication process:
git clone https://github.com/jhirono/todoMCP.git
cd todoMCP
npm install
3. Azure Application Registration
- Visit here to access the Azure portal.
- Log in to your Microsoft account.
- In the left-hand menu, select “Azure Active Directory” > “App registrations”.
- Click the “New application” button and fill in the necessary information:
- Name: Enter your app name (e.g., My TodoMCP App).
- Supported account types: Select “Accounts in my organization's directory” or “Accounts in any organization's directory and guest access”.
- After filling in the app registration details, click “Create”.
4. Configuration
Create a .env
file in the cloned repository and add the following content:
CLIENT_ID=your_client_id
CLIENT_SECRET=your_client_secret
TENANT_ID=your_tenant_id
Replace your_client_id
, your_client_secret
, and your_tenant_id
with the corresponding values obtained from your Azure app registration.
5. Usage Instructions
After installation, you need to authenticate first:
npm run login
Follow the prompts to enter your Microsoft account credentials. After successful login, you can use the following command to list all available commands:
npm run list-commands
⚠️ Limitations
- The API requires correct authentication and permissions.
- There may be rate limits according to Microsoft's policies.
🔧 Troubleshooting
Authentication Issues
"MailboxNotEnabledForRESTAPI" Error
This error usually indicates that you are using a personal Microsoft account. The Microsoft To-Do API has limited access to personal accounts through the Graph API.
Token Acquisition Failure
Ensure that the CLIENT_ID
, CLIENT_SECRET
, and TENANT_ID
in your .env
file are correct.
Permission Issues
Ensure that you have granted the required permissions in your Azure app registration and have consented to the administrative support provided by your organization's administrator.
Account Type Issues
Work/School Accounts
These are generally the most suitable for using the To-Do API. Use TENANT_ID=organizations
or your specific tenant ID.
Personal Accounts
If you must use a personal account, try TENANT_ID=consumers
or TENANT_ID=common
.
Check Authentication Status
You can check the authentication status using the following command:
cat tokens.json | grep expiresAt
To convert the timestamp to a readable date:
date -r $(echo "$(cat tokens.json | grep expiresAt | cut -d ":" -f2 | cut -d "," -f1) / 1000" | bc)







