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.

Servidor MCP de TickTick

Un servidor de Protocolo de contexto de modelo (MCP) para TickTick que permite interactuar con su sistema de gestión de tareas TickTick directamente a través de Claude y otros clientes MCP.

Características

  • 📋 Ver todos tus proyectos y tareas de TickTick
  • ✏️ Crea nuevos proyectos y tareas a través del lenguaje natural
  • 🔄 Actualizar los detalles de las tareas existentes (título, contenido, fechas, prioridad)
  • ✅ Marcar tareas como completadas
  • 🗑️ Eliminar tareas y proyectos
  • 🔄 Integración completa con la API abierta de TickTick
  • 🔌 Integración perfecta con Claude y otros clientes de MCP

Prerrequisitos

  • Python 3.10 o superior
  • uv - Instalador y solucionador rápido de paquetes de Python
  • Cuenta TickTick con acceso a la API
  • Credenciales de la API de TickTick (ID de cliente, secreto de cliente, token de acceso)

Instalación

  1. Clonar este repositorio :
    git clone https://github.com/parkjs814/ticktick-mcp.git cd ticktick-mcp
  2. Instalar con 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. Autenticarse con TickTick :
    # Run the authentication flow uv run -m ticktick_mcp.cli auth
    Esto hará lo siguiente:
    • Solicite su ID de cliente de TickTick y su secreto de cliente
    • Abra una ventana del navegador para iniciar sesión en TickTick
    • Guarde automáticamente sus tokens de acceso en un archivo .env
  4. Pruebe su configuración :
    uv run test_server.py
    Esto verificará que sus credenciales de TickTick funcionen correctamente.

Autenticación con TickTick

Este servidor utiliza OAuth2 para autenticarse con TickTick. El proceso de configuración es sencillo:

  1. Registre su aplicación en el Centro de desarrolladores de TickTick
    • Establezca la URI de redirección en http://localhost:8000/callback
    • Anote su ID de cliente y su secreto de cliente
  2. Ejecute el comando de autenticación:
    uv run -m ticktick_mcp.cli auth
  3. Siga las instrucciones para ingresar su ID de cliente y su secreto de cliente.
  4. Se abrirá una ventana del navegador para que autorices la aplicación con tu cuenta TickTick
  5. Después de autorizar, será redirigido nuevamente a la aplicación y sus tokens de acceso se guardarán automáticamente en el archivo .env

El servidor maneja la actualización del token automáticamente, por lo que no necesitará volver a autenticarse a menos que revoque el acceso o elimine su archivo .env .

Uso con Claude para escritorio

  1. Instalar Claude para escritorio
  2. Edite su archivo de configuración de Claude for Desktop:macOS :
    nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
    Ventanas :
    notepad %APPDATA%\Claude\claude_desktop_config.json
  3. Agregue la configuración del servidor TickTick MCP, utilizando rutas absolutas:
    { "mcpServers": { "ticktick": { "command": "<absolute path to uv>", "args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"] } } }
  4. Reiniciar Claude para escritorio

Una vez conectado, verás las herramientas del servidor TickTick MCP disponibles en Claude, indicadas por el ícono 🔨 (herramientas).

Herramientas MCP disponibles

HerramientaDescripciónParámetros
get_projectsEnumere todos sus proyectos de TickTickNinguno
get_projectObtenga detalles sobre un proyecto específicoproject_id
get_project_tasksEnumerar todas las tareas de un proyectoproject_id
get_taskObtener detalles sobre una tarea específicaproject_id , task_id
create_taskCrear una nueva tareatitle , project_id , content (opcional), start_date (opcional), due_date (opcional), priority (opcional)
update_taskActualizar una tarea existentetask_id , project_id , title (opcional), content (opcional), start_date (opcional), due_date (opcional), priority (opcional)
complete_taskMarcar una tarea como completadaproject_id , task_id
delete_taskEliminar una tareaproject_id , task_id
create_projectCrear un nuevo proyectoname , color (opcional), view_mode (opcional)
delete_projectEliminar un proyectoproject_id

Ejemplos de indicaciones para Claude

A continuación se muestran algunos ejemplos de indicaciones para usar con Claude después de conectarse al servidor TickTick MCP:

  • "Muéstrame todos mis proyectos de TickTick"
  • Crear una nueva tarea llamada "Finalizar la documentación del servidor MCP" en mi proyecto de trabajo con alta prioridad.
  • "Enumerar todas las tareas de mi proyecto personal"
  • Marca la tarea «Comprar comestibles» como completada.
  • "Crea un nuevo proyecto llamado 'Planificación de vacaciones' con un color azul"
  • "¿Cuándo es mi próxima fecha límite en TickTick?"

Desarrollo

Estructura del proyecto

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

Flujo de autenticación

El proyecto implementa un flujo OAuth 2.0 completo para TickTick:

  1. Configuración inicial : el usuario proporciona su ID de cliente y secreto de API de TickTick
  2. Autorización del navegador : el usuario es redirigido a TickTick para otorgar acceso
  3. Recepción de token : un servidor local recibe la devolución de llamada OAuth con el código de autorización
  4. Intercambio de tokens : el código se intercambia por tokens de acceso y actualización.
  5. Almacenamiento de tokens : los tokens se almacenan de forma segura en el archivo .env local
  6. Actualización de token : el cliente actualiza automáticamente el token de acceso cuando expira

Esto simplifica la experiencia del usuario al gestionar todo el flujo OAuth de forma programada.

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

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

Un servidor MCP para TickTick que permite interactuar con su sistema de gestión de tareas TickTick directamente a través de Claude y otros clientes 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