ms-todo-only-mcp
Thin MCP wrapper providing read-only access to Microsoft To Do tasks via Microsoft Graph API.
README
Microsoft To Do-only MCP
Microsoft To Do를 읽기 전용으로만 가져오는 아주 얇은 MCP 래퍼입니다. 내부적으로 Softeria의 @softeria/ms-365-mcp-server를 실행하되, To Do 조회 도구와 Tasks.Read 권한만 노출합니다.
노출 도구
list-todo-task-listslist-todo-tasksget-todo-tasklist-todo-linked-resources
빠른 시작
.env.example을 .env로 복사합니다.
cp .env.example .env
처음 한 번 로그인합니다. Microsoft device-code 페이지가 Chrome 시크릿 새 창으로 열리고, 코드는 클립보드에도 복사됩니다.
npm run login
로그인 계정 캐시를 확인합니다.
npm run verify
권한이 Tasks.Read 하나만 남는지 확인합니다.
npm run permissions
MCP 서버를 stdio 모드로 실행합니다.
npm start
MCP 클라이언트 설정 예시
mcp.example.json의 절대 경로를 본인 로컬 경로로 바꿔서 MCP 클라이언트 설정에 붙이면 됩니다.
{
"mcpServers": {
"ms-todo": {
"command": "node",
"args": [
"/absolute/path/to/ms-todo-only-mcp/bin/ms-todo-mcp.mjs"
]
}
}
}
AI/Codex로 설치하기
다른 사람에게는 아래 프롬프트를 그대로 전달해도 됩니다.
이 저장소를 Microsoft To Do MCP로 설정해 주세요.
1. 저장소 루트에서 `.env.example`을 `.env`로 복사해 주세요.
2. `.env` 값은 아래처럼 유지해 주세요.
MS365_MCP_CLIENT_ID=6d381e43-6641-4a91-a452-d9352244d2b2
MS365_MCP_TENANT_ID=consumers
3. `.env`와 토큰 캐시는 커밋하거나 공유하지 마세요.
4. `npm run permissions`로 `Tasks.Read`만 요청하는지 확인해 주세요.
5. `npm run login`을 실행하고, 사용자가 Microsoft device-code 로그인 페이지에서 직접 로그인/동의하게 안내해 주세요.
6. 로그인 뒤 `npm start`로 MCP 서버를 실행할 수 있게 해 주세요.
주의: client id는 public client id라 secret이 아닙니다. client secret은 만들거나 요구하지 마세요.
생산성 다마고치로 쓰기
Microsoft To Do를 데이터 소스로 사용해서 오늘 할 일 상태를 펫의 말투로 피드백받을 수 있습니다. MCP 연결 뒤 prompts/productivity-pet.md의 프롬프트를 Claude, Codex, 또는 MCP를 지원하는 AI에 붙여넣으세요.
바로 쓰는 요청 예시:
Microsoft To Do에서 오늘 할 일을 확인해서 생산성 다마고치 모드로 피드백해줘.
내 자기평가:
- 집중도 4/10
- 피로도 6/10
설정
기본 .env.example은 개인 Microsoft 계정용입니다.
MS365_MCP_CLIENT_ID=6d381e43-6641-4a91-a452-d9352244d2b2
MS365_MCP_TENANT_ID=consumers
이 client id는 public client id라 비밀이 아닙니다. 실제 access token, refresh token, 로컬 token cache는 절대 공유하면 안 됩니다.
기본 브라우저로 device-code 페이지를 열고 싶다면 .env에 다음을 추가합니다.
MS_TODO_MCP_BROWSER=default
특정 계정만 허용하려면 다음을 추가할 수 있습니다.
MS365_MCP_EXPECTED_USERNAME=you@example.com
참고
Softeria의 --verify-login은 내부적으로 Microsoft Graph /me를 호출합니다. 이 프로젝트는 최소 권한을 위해 User.Read를 요청하지 않으므로 /me 검증은 403이 날 수 있습니다. 대신 npm run verify는 캐시된 계정 목록만 확인합니다.
Microsoft Graph의 To Do API는 목록 조회에 GET /me/todo/lists, 특정 목록의 태스크 조회에 GET /me/todo/lists/{todoTaskListId}/tasks를 씁니다. Softeria 서버에는 이미 이 엔드포인트들이 선언되어 있어서, 직접 인증과 Graph 호출을 다시 구현하지 않고 도구 필터와 권한 필터만 씌우는 방식으로 유지합니다.
- Softeria MCP server: https://github.com/Softeria/ms-365-mcp-server
- Microsoft Graph To Do API: https://learn.microsoft.com/en-us/graph/api/resources/todo-overview
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。