todogether-mcp
v1.4.0
Published
투두게더(todogether) MCP 서버 — 로그인 후 오늘 할 일 조회
Maintainers
Readme
todogether-mcp
투두게더(todogether) MCP 서버. Claude에서 로그인 → 오늘 할 일 조회를 도구로 사용합니다.
도구
todogether_login(email, password)— 이메일/비밀번호 로그인 (NextAuth credentials).todogether_login_social(provider)— 카카오/네이버 자동 로그인. 기본 브라우저가 자동으로 열리고, 로그인을 마치면 토큰이 자동 수신됩니다. (복사·붙여넣기 불필요)todogether_today_todos(tags?)— 오늘 할 일 조회 (매일 투두 + 진행 중 + 마감 지난 미완료, 앱의 "오늘 할 일"과 동일 기준).todogether_today_todos_detail(tags?)— 위에 더해 서브태스크·메모·마감일과 첨부 사진까지 가져옵니다.todogether_add_todo(title, date?, endDate?, tags?, subTodos?, description?, everyday?, isPublic?)— 투두 등록. 제목만 주면 오늘 날짜의 비공개 한 줄 투두(앱의 빠른 추가와 같음).todogether_check_todo(number | id | title, subTodo?, done?, note?, tags?)— 체크. 일반 투두는 완료, 매일 투두는 오늘 인증,subTodo를 주면 그 세부 항목만. 세부 항목을 모두 끝내면 투두도 자동 완료.done=false면 되돌린다.- 사진이 필요한 매일 투두는 여기서 인증할 수 없습니다(앱에서).
- 남은 세부 항목이 있으면 투두를 바로 완료하지 않고 목록을 보여 줍니다.
할 일은 태그별로 묶여 나옵니다. 태그가 여럿인 투두는 여러 묶음에 나오되 번호는 하나이고, 태그가 없으면 「태그 없음」으로 맨 끝에 섭니다.
오늘 할 일 10개 · 태그 2개
#띵킹캣 (7)
1. 유튜브 품질 개선 (0/1)
6. 스톡온 8월 2주차 개선사항 (4/8)
#운동 (1)
8. 운동을 열심히 [매일]
태그 없음 (2)
4. 협력사에 한달에 한번씩 리포트발행tags 를 주면 그 태그가 붙은 것만 가져옵니다(여러 개면 하나라도 붙으면 걸립니다).
거르는 일은 서버가 하므로 페이지가 어긋나지 않습니다.
보조 도구 (자동 로그인이 안 될 때만)
todogether_social_login_url(provider)— 소셜 로그인 시작 URL만 반환.todogether_login_handoff(handoff)— 직접 받은 handoff 토큰/콜백 URL로 로그인.
세션 유지 (무인 실행)
로그인에 성공하면 세션 쿠키를 ~/.todogether-mcp-session.json (권한 600) 에 저장하고,
다음에 프로세스가 새로 떠도 그 세션을 재사용합니다.
예약 작업처럼 무인으로 도는 환경에서는 이 방식이 유일한 경로입니다 — 소셜 로그인은 브라우저가 필요해 자동화할 수 없기 때문입니다. 한 번 로그인해 두면 세션이 만료될 때까지(보통 30일) 자동으로 이어집니다. 만료되면 다시 한 번 로그인하면 됩니다.
이메일/비밀번호 계정이라면 자격증명을 두어 만료 시 자동 복구되게 할 수 있습니다
(~/.todogether-mcp.env 또는 TODOGETHER_EMAIL/TODOGETHER_PASSWORD 환경변수).
프롬프트에 비밀번호를 적지 마세요 — 평문으로 남습니다.
로그인 방법
- 이메일 계정: "투두게더 로그인해줘 (이메일: [email protected])" → 비밀번호 입력 → 끝.
- 카카오/네이버: "카카오로 로그인해줘" → 브라우저가 자동으로 열림 → 로그인 → 자동 완료.
- 동작 원리: MCP가 로컬 콜백 서버(
127.0.0.1:랜덤포트)를 띄우고, 서버는 로그인 후 handoff를 그 콜백으로 전달합니다. 브라우저와 같은 PC에서 실행해야 합니다.
- 동작 원리: MCP가 로컬 콜백 서버(
빌드
cd ~/dev/workspace/thinkingcat/todogether/packages/mcp
npm install
npm run build # dist/index.js 생성배포 (만드는 사람 — npm publish)
cd ~/dev/workspace/thinkingcat/todogether/packages/mcp && npm publish- 이 한 줄이 전부다. 2FA 확인은 브라우저가 받는다 — 터미널에 뜬 주소를 열어 승인하면 그대로 올라간다. 인증 코드를 손으로 옮겨 적을 일이 없다.
prepublishOnly스크립트가 자동으로 빌드한다.- 버전은
package.json의version을 올린 커밋이 이미 정한다. 올리는 쪽에서npm version을 다시 돌리면 커밋이 하나 더 생겨 저장소와 레지스트리가 갈린다.
안 되는 길 둘 — 여기서 시간을 버린다
| | 무엇이 뜨나 |
|---|---|
| npm publish --auth-type=web | 그대로 EOTP. 저 옵션은 npm login 에만 먹고 publish 의 2FA 확인에는 안 걸린다 |
| ~/.npmrc 의 일반 토큰 | 읽기(npm whoami)는 통과하는데 쓰기에서 EOTP. 계정 2FA 가 "auth and writes" 라 토큰만으로는 못 올린다 |
404 Not Found - PUT 이 뜨면 없는 패키지가 아니라 인증이 죽은 것이다. npm 은
권한 없는 쓰기에 401 이 아니라 404 를 준다 — npm whoami 로 먼저 가른다.
무인(CI)으로 올릴 일이 생기면 그때는 Automation 토큰이다. 같은 화면의
Publish 토큰은 이름과 달리 OTP 를 그대로 요구해서 위와 같은 자리에서 막힌다.
설치 (받는 사람 — 클론·빌드 불필요)
배포된 뒤에는 한 줄로 등록할 수 있습니다.
Claude Code:
claude mcp add todogether -- npx -y todogether-mcpClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"todogether": {
"command": "npx",
"args": ["-y", "todogether-mcp"]
}
}
}Claude Desktop 등록
~/Library/Application Support/Claude/claude_desktop_config.json 의 mcpServers 에 추가:
{
"mcpServers": {
"todogether": {
"command": "node",
"args": ["/Users/minhyuk/dev/workspace/thinkingcat_2.0/PROD_todogether/todogether-mcp/dist/index.js"]
}
}
}저장 후 Claude Desktop 재시작.
Claude Code 등록 (CLI)
claude mcp add todogether -- node /Users/minhyuk/dev/workspace/thinkingcat_2.0/PROD_todogether/todogether-mcp/dist/index.js사용 예
- "투두게더에 로그인해줘 (이메일: [email protected])" →
todogether_login실행 (비밀번호는 입력 요청) - "오늘 할 일 가져와줘" →
todogether_today_todos실행 - "오늘 할 일 상세로 가져와줘" →
todogether_today_todos_detail(서브투두·메모·사진, 태그별로 묶임)
매일 아침 예약 (프로젝트별 상세 브리핑)
Claude Code에 아래를 붙여넣으면 매일 아침 프로젝트별 상세 투두 브리핑을 예약합니다.
매일 아침 9시에 투두게더 MCP로 로그인한 뒤 todogether_today_todos_detail로 오늘 할 일 상세를 가져와서, 태그별로 서브투두·메모까지 짧게 브리핑해줘. 할 일이 없으면 한 줄로만 알려줘.CLI:
/schedule 매일 아침 9시 투두게더 오늘 할 일 상세를 프로젝트별로 브리핑해줘- Desktop 예약 / 로컬 세션: 로컬
claude mcp addMCP를 그대로 사용 - 클라우드 Routine: claude.ai connectors에 todogether MCP를 등록해야 함
환경 변수 (선택)
TODOGETHER_BASE_URL— 기본값https://todo.thinkingcatworks.com. 로컬/스테이징 서버로 바꿀 때 사용.
보안 참고
- 비밀번호는 도구 인자로 전달되어 서버에 로그인 요청에만 쓰이고 디스크에 저장하지 않습니다(세션 쿠키만 메모리 유지).
- 신뢰하는 환경에서만 사용하세요.
