ticktick-mcp-server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Securely stores authentication tokens in a local .env file as part of the OAuth flow, handling token storage and automatic refreshing.

  • Provides source code hosting for the MCP server, allowing users to clone the repository to install the server.

  • Allows full interaction with a TickTick task management system, including viewing projects and tasks, creating new projects and tasks, updating task details, marking tasks as complete, and deleting tasks and projects.

TickTick MCP 서버

Claude 및 기타 MCP 클라이언트를 통해 TickTick 작업 관리 시스템과 직접 상호 작용할 수 있는 TickTick용 MCP(Model Context Protocol) 서버입니다.

특징

  • 📋 모든 TickTick 프로젝트와 작업을 확인하세요
  • ✏️ 자연어로 새로운 프로젝트와 작업을 생성하세요
  • 🔄 기존 작업 세부 정보(제목, 내용, 날짜, 우선순위) 업데이트
  • ✅ 작업을 완료로 표시
  • 🗑️ 작업 및 프로젝트 삭제
  • 🔄 TickTick의 오픈 API와 완벽하게 통합
  • 🔌 Claude 및 기타 MCP 클라이언트와의 원활한 통합

필수 조건

  • Python 3.10 이상
  • uv - 빠른 Python 패키지 설치 및 확인 프로그램
  • API 접근이 가능한 TickTick 계정
  • TickTick API 자격 증명(클라이언트 ID, 클라이언트 비밀, 액세스 토큰)

설치

  1. 이 저장소를 복제하세요 :지엑스피1
  2. uv로 설치 :
    # Install uv if you don't have it already curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment uv venv # Activate the virtual environment # On macOS/Linux: source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install the package uv pip install -e .
  3. TickTick으로 인증하기 :
    # Run the authentication flow uv run -m ticktick_mcp.cli auth
    이렇게 하면:
    • TickTick 클라이언트 ID와 클라이언트 비밀번호를 요청하세요.
    • TickTick에 로그인하려면 브라우저 창을 엽니다.
    • 액세스 토큰을 .env 파일에 자동으로 저장합니다.
  4. 구성을 테스트하세요 :
    uv run test_server.py
    이렇게 하면 TickTick 자격 증명이 올바르게 작동하는지 확인할 수 있습니다.

TickTick으로 인증하기

이 서버는 OAuth2를 사용하여 TickTick으로 인증합니다. 설정 과정은 간단합니다.

  1. TickTick 개발자 센터 에서 애플리케이션을 등록하세요
    • 리디렉트 URI를 http://localhost:8000/callback 으로 설정합니다.
    • 클라이언트 ID와 클라이언트 비밀번호를 기록해 두세요.
  2. 인증 명령을 실행합니다.
    uv run -m ticktick_mcp.cli auth
  3. 프롬프트에 따라 클라이언트 ID와 클라이언트 비밀번호를 입력하세요.
  4. TickTick 계정으로 애플리케이션을 승인할 수 있는 브라우저 창이 열립니다.
  5. 인증 후 애플리케이션으로 다시 리디렉션되고 액세스 토큰이 자동으로 .env 파일에 저장됩니다.

서버는 토큰 새로 고침을 자동으로 처리하므로 액세스를 취소하거나 .env 파일을 삭제하지 않는 한 다시 인증할 필요가 없습니다.

Claude for Desktop 사용

  1. 데스크톱용 Claude 설치
  2. Claude for Desktop 구성 파일을 편집하세요.맥OS :
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
    윈도우 :
    notepad %APPDATA%\Claude\claude_desktop_config.json
  3. 절대 경로를 사용하여 TickTick MCP 서버 구성을 추가합니다.
    { "mcpServers": { "ticktick": { "command": "<absolute path to uv>", "args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"] } } }
  4. 데스크톱용 Claude를 다시 시작하세요

연결되면 Claude에서 사용할 수 있는 TickTick MCP 서버 도구가 🔨(도구) 아이콘으로 표시됩니다.

사용 가능한 MCP 도구

도구설명매개변수
get_projects모든 TickTick 프로젝트를 나열하세요없음
get_project특정 프로젝트에 대한 세부 정보를 얻으세요project_id
get_project_tasks프로젝트의 모든 작업 나열project_id
get_task특정 작업에 대한 세부 정보 얻기project_id , task_id
create_task새로운 작업 만들기title , project_id , content (선택 사항), start_date (선택 사항), due_date (선택 사항), priority (선택 사항)
update_task기존 작업 업데이트task_id , project_id , title (선택 사항), content (선택 사항), start_date (선택 사항), due_date (선택 사항), priority (선택 사항)
complete_task작업을 완료로 표시project_id , task_id
delete_task작업 삭제project_id , task_id
create_project새 프로젝트를 만듭니다name , color (선택 사항), view_mode (선택 사항)
delete_project프로젝트 삭제project_id

클로드에 대한 예시 프롬프트

다음은 TickTick MCP 서버에 연결한 후 Claude와 함께 사용할 수 있는 몇 가지 프롬프트 예입니다.

  • "내 모든 TickTick 프로젝트를 보여주세요"
  • "내 작업 프로젝트에서 높은 우선순위로 'MCP 서버 문서 완료'라는 새 작업을 만듭니다."
  • "내 개인 프로젝트의 모든 작업을 나열하세요"
  • "식료품 구매" 작업을 완료로 표시하세요.
  • "파란색으로 '휴가 계획'이라는 새 프로젝트를 만듭니다."
  • "TickTick에서 다음 마감일은 언제인가요?"

개발

프로젝트 구조

ticktick-mcp/ ├── .env.template # Template for environment variables ├── README.md # Project documentation ├── requirements.txt # Project dependencies ├── setup.py # Package setup file ├── test_server.py # Test script for server configuration └── ticktick_mcp/ # Main package ├── __init__.py # Package initialization ├── authenticate.py # OAuth authentication utility ├── cli.py # Command-line interface └── src/ # Source code ├── __init__.py # Module initialization ├── auth.py # OAuth authentication implementation ├── server.py # MCP server implementation └── ticktick_client.py # TickTick API client

인증 흐름

이 프로젝트는 TickTick에 대한 완전한 OAuth 2.0 흐름을 구현합니다.

  1. 초기 설정 : 사용자가 TickTick API 클라이언트 ID와 비밀번호를 제공합니다.
  2. 브라우저 권한 부여 : 사용자는 TickTick으로 리디렉션되어 액세스 권한을 부여받습니다.
  3. 토큰 수신 : 로컬 서버는 인증 코드와 함께 OAuth 콜백을 수신합니다.
  4. 토큰 교환 : 코드는 액세스 토큰과 새로고침 토큰으로 교환됩니다.
  5. 토큰 저장 : 토큰은 로컬 .env 파일에 안전하게 저장됩니다.
  6. 토큰 새로 고침 : 클라이언트는 액세스 토큰이 만료되면 자동으로 새로 고침합니다.

이렇게 하면 전체 OAuth 흐름을 프로그래밍 방식으로 처리하여 사용자 경험이 간소화됩니다.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

Claude 및 다른 MCP 클라이언트를 통해 TickTick 작업 관리 시스템과 직접 상호 작용할 수 있는 TickTick용 MCP 서버입니다.

  1. Features
    1. Prerequisites
      1. Installation
        1. Authentication with TickTick
          1. Usage with Claude for Desktop
            1. Available MCP Tools
              1. Example Prompts for Claude
                1. Development
                  1. Project Structure
                  2. Authentication Flow
                  3. Contributing
                2. License
                  ID: x6aytcdmvc