Skip to main content
Glama
jawello
by jawello

TickTick MCP Server -- Claude를 위한 완벽한 TickTick 통합

License: MIT Version Python Tools Glama

28가지 도구. 전체 CRUD. 스마트 쿼리. 다중 조건 필터. 일괄 작업. GTD 지원. Dida365 호환.

Claude를 TickTick 계정에 연결하고 자연어 대화로 전체 작업 시스템을 관리하세요 -- 작업 생성, 프로젝트 간 검색, 기한 초과 항목 확인, 일괄 생성, 앱을 열지 않고도 체계적으로 유지할 수 있습니다.

"뭐가 기한이 지났지?" --> 모든 프로젝트에서 놓친 마감 기한을 즉시 보여줍니다.


왜 이 서버인가?

기능

이 서버

TickTick 공식 MCP

jacepark12

도구

28

22

~20

다중 조건 필터

예 (우선순위 + 태그 + 날짜 + 프로젝트)

아니요

프로젝트 간 작업 이동

아니요

일괄 완료

예 (최대 20개)

예 (최대 20개)

아니요

일괄 업데이트

아니요

완료된 작업 보기

아니요

프로젝트 간 검색

전체 텍스트 검색

하위 작업

아니요

아니요

GTD 집중 보기

예 (높은 우선순위 + 기한 + 기한 초과)

아니요

부분

Dida365 지원

예 (구성 가능한 기본 URL)

아니요

비동기 (httpx)

해당 없음

아니요 (동기 요청)

Pydantic 검증

예 (타입 입력)

해당 없음

아니요

MCP 주석

예 (readOnly, destructive 힌트)

해당 없음

아니요

자체 호스팅 / 오픈 소스

아니요 (호스팅 서비스)

개인정보 보호

100% 로컬, 토큰만 사용

TickTick 서버를 거침

100% 로컬


Related MCP server: TickTick MCP

빠른 시작

사전 요구 사항

1단계 -- 클론 및 설치

git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

2단계 -- TickTick 개발자 앱 등록

  1. developer.ticktick.com으로 이동

  2. New App을 클릭하고 아무 이름이나 입력

  3. OAuth Redirect URLhttp://localhost:8080/callback으로 설정

  4. Client IDClient Secret을 복사

3단계 -- 인증

TICKTICK_CLIENT_ID=your_id TICKTICK_CLIENT_SECRET=your_secret .venv/bin/python3 setup_auth.py

브라우저가 열려 앱을 승인합니다. Allow를 클릭하세요 -- 토큰은 ~/.ticktick_mcp/tokens.json에 저장되고 자동으로 갱신됩니다.

4단계 -- Claude Code에 등록

claude mcp add ticktick \
  -e TICKTICK_CLIENT_ID=your_id \
  -e TICKTICK_CLIENT_SECRET=your_secret \
  -- /path/to/ticktick-mcp/.venv/bin/python3 /path/to/ticktick-mcp/server.py

Claude Desktop의 경우

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "ticktick": {
      "type": "stdio",
      "command": "/path/to/ticktick-mcp/.venv/bin/python3",
      "args": ["/path/to/ticktick-mcp/server.py"],
      "env": {
        "TICKTICK_CLIENT_ID": "your_id",
        "TICKTICK_CLIENT_SECRET": "your_secret"
      }
    }
  }
}

5단계 -- 생산성 스킬 추가 (선택 사항)

mkdir -p ~/.claude/skills/ticktick
cp skills/ticktick/SKILL.md ~/.claude/skills/ticktick/

Dida365 지원

Dida365(TickTick의 중국어 버전)의 경우 다음 환경 변수를 설정하세요:

TICKTICK_BASE_URL=https://api.dida365.com/open/v1
TICKTICK_TOKEN_URL=https://dida365.com/oauth/token

사용 예시

사용자 말

결과

"금요일에 치과에 전화하라고 알려줘"

기한이 있는 작업 생성

"'Q1 보고서 검토'를 업무에 추가, 높은 우선순위"

업무 프로젝트에 작업, 우선순위 5

"뭐가 기한이 지났지?"

모든 프로젝트의 기한 초과 작업 표시

"무엇에 집중해야 할까?"

GTD 보기: 높은 우선순위 + 오늘 기한 + 기한 초과

"'예산'에 대해 검색해줘"

모든 프로젝트 전체 텍스트 검색

"높은 우선순위 작업을 모두 보여줘"

프로젝트 간 우선순위=5 필터

"이번 주에 기한인 것은?"

다음 7일 내 기한인 작업

"작업 생성: 우유 사기, 존에게 전화, 보고서 제출"

3개 작업 일괄 생성

"'휴가 계획'이라는 프로젝트를 만들어줘"

새 프로젝트 생성

"휴가 작업 아래에 '선크림 사기' 하위 작업 추가"

하위 작업 생성

"치과 작업을 끝냈어"

작업 완료 표시

"오래된 스프린트 프로젝트 삭제"

프로젝트 및 모든 작업 삭제


MCP 도구 참조

프로젝트 (5개 도구)

도구

설명

ticktick_list_projects

ID, 이름, 색상과 함께 모든 프로젝트 나열

ticktick_get_project

특정 프로젝트의 세부 정보 가져오기

ticktick_get_project_with_tasks

프로젝트 세부 정보 + 완료되지 않은 모든 작업을 한 번에 가져오기

ticktick_create_project

새 프로젝트 생성 (이름, 색상, 보기 모드)

ticktick_update_project

프로젝트의 이름, 색상 또는 보기 모드 업데이트

ticktick_delete_project

프로젝트 영구 삭제

작업 -- 기본 CRUD (7개 도구)

도구

설명

ticktick_list_tasks

특정 프로젝트의 모든 작업 나열

ticktick_create_task

작업 생성 (제목, 기한, 우선순위, 프로젝트, 태그)

ticktick_get_task

특정 작업의 전체 세부 정보 가져오기

ticktick_update_task

제목, 내용, 날짜 또는 우선순위 업데이트

ticktick_complete_task

작업을 완료로 표시

ticktick_delete_task

작업 영구 삭제

ticktick_create_subtask

상위 작업 아래에 하위 작업 생성

작업 -- 스마트 쿼리 (7개 도구)

도구

설명

ticktick_get_all_tasks

모든 활성 프로젝트의 모든 작업 가져오기

ticktick_search_tasks

제목, 내용, 하위 작업 전체 텍스트 검색

ticktick_get_tasks_by_priority

우선순위별 필터 (없음/낮음/중간/높음)

ticktick_get_tasks_due_today

모든 프로젝트에서 오늘 기한인 작업

ticktick_get_overdue_tasks

모든 프로젝트의 모든 기한 초과 작업

ticktick_get_tasks_due_this_week

다음 7일 내 기한인 작업

ticktick_get_tasks_due_in_days

정확히 N일 후에 기한인 작업

작업 -- 일괄 및 생산성 (5개 도구)

도구

설명

ticktick_batch_create_tasks

여러 작업을 한 번에 생성

ticktick_batch_update_tasks

여러 작업을 한 번에 업데이트

ticktick_complete_tasks_bulk

한 번에 최대 20개 작업을 완료로 표시

ticktick_move_task

작업을 한 프로젝트에서 다른 프로젝트로 이동

ticktick_get_focus_tasks

GTD 집중 보기: 높은 우선순위 + 오늘 기한 + 기한 초과

작업 -- 고급 필터 (2개 도구)

도구

설명

ticktick_filter_tasks

다중 조건 필터: 우선순위 + 태그 + 날짜 범위 + 프로젝트 + 상태

ticktick_get_completed_tasks

프로젝트에서 완료된 작업 보기

사용자 (1개 도구)

도구

설명

ticktick_get_user_preferences

사용자 설정 가져오기 (시간대, 주 시작일 등)


아키텍처

ticktick_mcp/server.py # All MCP tools, async httpx, flat tool arguments
server.py              # Thin entry point re-exporting the package
setup_auth.py          # One-time OAuth 2.0 setup (browser-based)
~/.ticktick_mcp/       # Token storage (auto-refreshed)
skills/ticktick/       # Claude skill for natural task language

설계 선택:

  • 모든 곳에서 비동기 -- httpx.AsyncClient로 비차단 API 호출

  • 평면 도구 인자 -- 단일 params 객체가 아닌 인자당 Annotated[T, Field(...)]: 에이전트는 평면 인자를 안정적으로 생성하며 래퍼를 자주 누락합니다

  • MCP 주석 -- 더 안전한 도구 사용을 위한 readOnlyHint, destructiveHint

  • 자동 토큰 갱신 -- 60초 버퍼로 토큰이 투명하게 갱신됩니다


문제 해결

"Given client ID does not match" -- developer.ticktick.com에서 Client ID를 다시 확인하세요.

포트 8080이 이미 사용 중 -- lsof -ti:8080 | xargs kill -9 실행 후 다시 시도하세요.

토큰 만료 -- setup_auth.py를 다시 실행하여 새 토큰을 받으세요.

Claude가 도구를 인식하지 못함 -- claude mcp list를 실행하여 등록을 확인하세요.


기여

기여를 환영합니다! 변경하고 싶은 내용을 논의하기 위해 먼저 이슈를 열어주세요.

git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# Make your changes to server.py
# Test: python3 -c "from server import mcp; print(len(mcp._tool_manager._tools), 'tools')"

링크


라이선스

MIT (c) Salen-Project

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/jawello/ticktick-mcp'

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