使用说明
全部-MCP
MCP(模型上下文协议)服务器,允许AI助手访问 微软待办 通过Microsoft Graph API。支持多个帐户(个人和工作)、加密令牌存储和所有常见任务操作。
特性
- 列出任意数量的帐户的任务列表和任务
- 创建、更新、完成和删除任务
- 在一次通话中获取每个列表中的所有待处理任务
- 多账户支持(例如单独
work和personal别名) - 刷新磁盘上用AES-256-GCM加密存储的令牌
- 非阻塞设备代码身份验证流程(立即返回URL)
先决条件
- Node.js 18岁或以后
- 一 Azure应用程序注册 使用Microsoft Graph
Tasks.Read,Tasks.ReadWrite,以及offline_access委托权限(见下文)
1.创建Azure应用程序注册
- 首选 portal.azure.com → 微软Entra ID → 应用注册 → 新注册
- 随便命名(例如。
My Todo MCP) - 支持的帐户类型:选择 “任何组织目录中的帐户和个人Microsoft帐户” (启用工作和个人帐户)
- 不需要重定向URI--单击 注册
- 复制 应用程序(客户端)ID --你需要它在下面
- 首选 API权限 → 添加权限 → 微软图形 → 委派
- 添加:
Tasks.Read,Tasks.ReadWrite,offline_access - 点击 授予管理员同意 (或者用户在首次登录时会被提示)
- 添加:
- 首选 认证 → 高级设置 → 启用 “允许公共客户端流” (设备代码需要)
- 首选 清单 → set
"requestedAccessTokenVersion": 2在api部分→ 保存
2.安装
git clone <repo-url> todo-mcp
cd todo-mcp
npm install
3.配置
选项A-Claude桌面/协作(claude_desktop_config.json)
将此添加到 %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"todo-mcp": {
"command": "node",
"args": ["C:/path/to/todo-mcp/index.js"],
"env": {
"TODO_MCP_CLIENT_ID": "<your-client-id>",
"TODO_MCP_MASTER_KEY": "<random-base64-key>"
}
}
}
}
生成安全主密钥(PowerShell):
[System.Convert]::ToBase64String([System.Security.Cryptography.RandomNumberGenerator]::GetBytes(32))
或者在macOS/Linux上:
openssl rand -base64 32
选项B--VS代码(.vscode/mcp.json)
包括 .vscode/mcp.json 首次使用时安全提示输入主密钥。集 TODO_MCP_CLIENT_ID 在您的环境中或将其添加到 env 块。
4.验证帐户
服务器运行后,使用 authenticate_account 您的AI助手提供的工具。它立即返回设备代码URL:
authenticate_account(account="work", tenant_id="<your-org-tenant-id>")
authenticate_account(account="personal", tenant_id="consumers")
转到显示的URL,输入代码,然后登录。令牌将自动保存在后台。
对于 个人Microsoft帐户 (Outlook、Hotmail、Live),始终通过 tenant_id="consumers".
对于 工作/学校账户,传递您组织的租户ID(UUID),或 "organizations" 接受任何。
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
TODO_MCP_MASTER_KEY |
是 | 用于加密存储的刷新令牌的Base64密钥 |
TODO_MCP_CLIENT_ID |
是* | Azure应用程序客户端ID(*或硬编码 auth.js) |
TODO_MCP_TENANT_ID |
否 | 默认租户ID(默认为 "common") |
TODO_MCP_DEFAULT_ACCOUNT |
否 | 默认帐户别名(默认为 "default") |
TODO_MCP_CONFIG_PATH |
否 | 覆盖配置文件的路径(默认为 ~/.todo-mcp-config.json) |
可用工具
| 工具 | 说明 |
|---|---|
list_accounts |
列出所有存储的帐户别名 |
authenticate_account |
为新帐户或现有帐户启动设备代码身份验证 |
set_default_account |
更改未指定帐户时使用的帐户 |
delete_account |
删除已存储的帐户 |
list_todo_lists |
列出帐户的所有任务列表 |
get_tasks |
从特定列表中获取任务(可按状态筛选) |
get_all_pending_tasks |
获取每个列表中所有未完成的任务 |
create_task |
创建一个包含可选截止日期、重要性和正文的任务 |
update_task |
更新任务的标题、截止日期、重要性或正文 |
complete_task |
将任务标记为已完成 |
delete_task |
删除任务 |
所有数据工具都接受可选 account 参数以针对特定别名。如果省略,则使用默认帐户。
令牌存储
刷新令牌存储在 ~/.todo-mcp-config.json 使用AES-256-GCM加密,密钥来自 TODO_MCP_MASTER_KEY。文件是用mode创建的 0600 (仅限所有者读/写)。 永远不要提交此文件。