TickTick MCP Server
TickTick MCP Server -- Claude를 위한 완벽한 TickTick 통합
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
빠른 시작
사전 요구 사항
TickTick 계정
Python 3.10+
Claude Code 또는 Claude Desktop
1단계 -- 클론 및 설치
git clone https://github.com/Salen-Project/ticktick-mcp
cd ticktick-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt2단계 -- TickTick 개발자 앱 등록
New App을 클릭하고 아무 이름이나 입력
OAuth Redirect URL을
http://localhost:8080/callback으로 설정Client ID와 Client 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.pyClaude 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개 도구)
도구 | 설명 |
| ID, 이름, 색상과 함께 모든 프로젝트 나열 |
| 특정 프로젝트의 세부 정보 가져오기 |
| 프로젝트 세부 정보 + 완료되지 않은 모든 작업을 한 번에 가져오기 |
| 새 프로젝트 생성 (이름, 색상, 보기 모드) |
| 프로젝트의 이름, 색상 또는 보기 모드 업데이트 |
| 프로젝트 영구 삭제 |
작업 -- 기본 CRUD (7개 도구)
도구 | 설명 |
| 특정 프로젝트의 모든 작업 나열 |
| 작업 생성 (제목, 기한, 우선순위, 프로젝트, 태그) |
| 특정 작업의 전체 세부 정보 가져오기 |
| 제목, 내용, 날짜 또는 우선순위 업데이트 |
| 작업을 완료로 표시 |
| 작업 영구 삭제 |
| 상위 작업 아래에 하위 작업 생성 |
작업 -- 스마트 쿼리 (7개 도구)
도구 | 설명 |
| 모든 활성 프로젝트의 모든 작업 가져오기 |
| 제목, 내용, 하위 작업 전체 텍스트 검색 |
| 우선순위별 필터 (없음/낮음/중간/높음) |
| 모든 프로젝트에서 오늘 기한인 작업 |
| 모든 프로젝트의 모든 기한 초과 작업 |
| 다음 7일 내 기한인 작업 |
| 정확히 N일 후에 기한인 작업 |
작업 -- 일괄 및 생산성 (5개 도구)
도구 | 설명 |
| 여러 작업을 한 번에 생성 |
| 여러 작업을 한 번에 업데이트 |
| 한 번에 최대 20개 작업을 완료로 표시 |
| 작업을 한 프로젝트에서 다른 프로젝트로 이동 |
| GTD 집중 보기: 높은 우선순위 + 오늘 기한 + 기한 초과 |
작업 -- 고급 필터 (2개 도구)
도구 | 설명 |
| 다중 조건 필터: 우선순위 + 태그 + 날짜 범위 + 프로젝트 + 상태 |
| 프로젝트에서 완료된 작업 보기 |
사용자 (1개 도구)
도구 | 설명 |
| 사용자 설정 가져오기 (시간대, 주 시작일 등) |
아키텍처
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
This server cannot be installed
Maintenance
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
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
Manage your ClickUp workspace by creating, updating, and organizing tasks, lists, folders, and tag…
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for TickTick using the official OAuth 2.0 API. Create, list, update, complete, and delete tasks just by talking to Claude.73MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks through natural language, including creating, updating, completing, and deleting tasks, as well as managing projects.14MIT
- FlicenseNot gradedqualityDmaintenanceEnables interacting with TickTick tasks and projects through natural language via Claude and other MCP clients.
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage TickTick tasks including listing, creating, updating, completing, and deleting tasks, as well as searching and filtering.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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