Skip to main content
Glama
jhirono

Microsoft Todo MCP Service

Microsoft To Do MCP

이 MCP(Model Context Protocol) 서비스를 사용하면 AI 도우미를 사용하여 Microsoft To Do 작업과 상호 작용할 수 있습니다.

설치 지침

1. 필수 조건

  • Node.js 16 이상

  • 엔피엠

  • Microsoft 계정

  • Azure 앱 등록(아래 설정 참조)

2. 설치

이 도구를 설치하는 데는 두 가지 단계가 있습니다.

  1. 패키지 설치

  2. 인증 설정(저장소 복제 필요)

1단계: 패키지 설치

지엑스피1

2단계: 인증 설정

패키지를 전역적으로 설치하더라도 인증 프로세스를 완료하려면 저장소를 복제해야 합니다.

git clone https://github.com/jhirono/todoMCP.git cd todoMCP npm install

3. Azure 앱 등록

  1. Azure Portal 로 이동

  2. "앱 등록"으로 이동하여 새 등록을 만듭니다.

  3. 신청서의 이름을 지정하세요(예: "To Do MCP")

  4. "지원되는 계정 유형"의 경우, 필요에 따라 다음 중 하나를 선택하세요.

    • 이 조직 디렉토리의 계정만(단일 테넌트) - 단일 조직 내에서 사용 가능

    • 모든 조직 디렉터리의 계정(모든 Azure AD 디렉터리 - 다중 테넌트) - 여러 조직에서 사용 가능

    • 모든 조직 디렉터리의 계정 및 개인 Microsoft 계정 - 업무 계정과 개인 계정 모두에 해당

  5. 리디렉션 URI를 http://localhost:3000/callback 으로 설정합니다.

  6. 앱을 만든 후 "인증서 및 비밀"로 이동하여 새 클라이언트 비밀을 만듭니다.

  7. "API 권한"으로 이동하여 다음 권한을 추가하세요.

    • Microsoft Graph > 위임된 권한:

      • 작업.읽기

      • 작업.읽기/쓰기

      • 사용자.읽기

  8. 이러한 권한에 대해 "관리자 동의 허용"을 클릭하세요.

4. 구성

다음 정보를 담아 루트 디렉토리에 .env 파일을 만듭니다.

CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret TENANT_ID=your_tenant_setting REDIRECT_URI=http://localhost:3000/callback

TENANT_ID 옵션:

  • organizations - 다중 테넌트 조직 계정의 경우(지정하지 않으면 기본값)

  • consumers - 개인 Microsoft 계정에만 해당

  • common - 조직 및 개인 계정 모두에 적용

  • your-specific-tenant-id - 단일 테넌트 구성용

예:

# For multi-tenant organizational accounts (default) TENANT_ID=organizations # For personal Microsoft accounts TENANT_ID=consumers # For both organizational and personal accounts TENANT_ID=common # For a specific organization tenant TENANT_ID=00000000-0000-0000-0000-000000000000

Related MCP server: Notion MCP

용법

전체 워크플로

  1. 토큰을 받기 위해 인증합니다 (복제된 저장소에서 수행해야 함)

    npm run auth

    이렇게 하면 Microsoft에서 인증을 받고 tokens.json 파일을 생성할 수 있는 브라우저 창이 열립니다.

  2. MCP 구성 파일을 생성합니다 (복제된 저장소에서 수행해야 함)

    npm run create-config

    이렇게 하면 인증 토큰이 포함된 mcp.json 파일이 생성됩니다.

  3. 글로벌 MCP 구성 설정

    # Copy the mcp.json file to your global Cursor configuration directory cp mcp.json ~/.cursor/mcp-servers.json

    이렇게 하면 모든 Cursor 프로젝트에서 Microsoft To Do MCP를 사용할 수 있습니다.

  4. AI 어시스턴트로 사용을 시작하세요

    • 커서에서 이제 모든 프로젝트에서 Microsoft To Do 명령을 직접 사용할 수 있습니다.

    • 시작하려면 auth status 또는 list up todos 같은 명령을 시도하세요.

Claude Desktop 구성 파일은 다음 위치에 있습니다.

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json

  • 윈도우 : %APPDATA%\Claude\claude_desktop_config.json

  • 리눅스 : ~/.config/Claude/claude_desktop_config.json

사용 가능한 도구

  • auth-status : 인증 상태를 확인하세요

  • get-task-lists : 모든 할 일 목록을 가져옵니다

  • create-task-list : 새로운 작업 목록을 만듭니다

  • update-task-list : 기존 작업 목록을 업데이트합니다.

  • delete-task-list : 작업 목록 삭제

  • get-tasks : 목록에 있는 모든 작업을 가져옵니다.

  • create-task : 새로운 작업을 생성합니다

  • update-task : 기존 작업 업데이트

  • delete-task : 작업 삭제

  • get-checklist-items : 작업에 대한 체크리스트 항목을 가져옵니다.

  • create-checklist-item : 체크리스트 항목 생성

  • update-checklist-item : 체크리스트 항목 업데이트

  • delete-checklist-item : 체크리스트 항목 삭제

제한 사항

  • API에는 적절한 인증 및 권한이 필요합니다.

  • Microsoft 정책에 따라 요금 제한이 적용될 수 있습니다.

문제 해결

인증 문제

  • "MailboxNotEnabledForRESTAPI" 오류 : 이는 일반적으로 개인 Microsoft 계정을 사용하고 있음을 의미합니다. 개인 계정의 Microsoft To Do API 액세스는 Graph API를 통해 제한됩니다.

  • 토큰 획득 실패 : .env 파일에서 CLIENT_ID , CLIENT_SECRETTENANT_ID 가 올바른지 확인하세요.

  • 권한 문제 : Azure 앱 등록에서 필요한 권한에 대해 관리자 동의를 부여했는지 확인하세요.

계정 유형 문제

  • 직장/학교 계정 : 일반적으로 To Do API와 가장 잘 작동합니다. TENANT_ID=organizations 또는 특정 테넌트 ID를 사용하세요.

  • 개인 계정 : To Do API에 대한 접근 권한이 제한됩니다. 개인 계정을 사용해야 하는 경우 TENANT_ID=consumers 또는 TENANT_ID=common 사용해 보세요.

인증 상태 확인

auth-status 도구를 사용하거나 토큰의 만료 시간을 조사하여 인증 상태를 확인할 수 있습니다.

cat tokens.json | grep expiresAt

타임스탬프를 읽을 수 있는 날짜로 변환하려면:

date -r $(echo "$(cat tokens.json | grep expiresAt | cut -d ":" -f2 | cut -d "," -f1) / 1000" | bc)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhirono/todoMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server