Jacepark12 Ticktick Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Jacepark12 Ticktick Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server for TickTick that enables interacting with your TickTick task management system directly through Claude and other MCP clients.
git clone https://github.com/jacepark12/ticktick-mcp.git
cd ticktick-mcp # 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 . # Run the authentication flow
uv run -m ticktick_mcp.cli authThis will:
.env file uv run test_server.pyThis will verify that your TickTick credentials are working correctly.
This server uses OAuth2 to authenticate with TickTick. The setup process is straightforward:
http://localhost:8000/callback uv run -m ticktick_mcp.cli auth.env fileThe server handles token refresh automatically, so you won't need to reauthenticate unless you revoke access or delete your .env file.
滴答清单 - Dida365 is China version of TickTick, and the authentication process is similar to TickTick. Follow these steps to set up Dida365 authentication:
http://localhost:8000/callback.env file: TICKTICK_BASE_URL='https://api.dida365.com/open/v1'
TICKTICK_AUTH_URL='https://dida365.com/oauth/authorize'
TICKTICK_TOKEN_URL='https://dida365.com/oauth/token'macOS:
nano ~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
notepad %APPDATA%\Claude\claude_desktop_config.json {
"mcpServers": {
"ticktick": {
"command": "<absolute path to uv>",
"args": ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"]
}
}
}Once connected, you'll see the TickTick MCP server tools available in Claude, indicated by the 🔨 (tools) icon.
| Tool | Description | Parameters |
|---|---|---|
get_projects | List all your TickTick projects | None |
get_project | Get details about a specific project | project_id |
get_project_tasks | List all tasks in a project | project_id |
get_task | Get details about a specific task | project_id, task_id |
create_task | Create a new task | title, project_id, content (optional), start_date (optional), due_date (optional), priority (optional) |
update_task | Update an existing task | task_id, project_id, title (optional), content (optional), start_date (optional), due_date (optional), priority (optional) |
complete_task | Mark a task as complete | project_id, task_id |
delete_task | Delete a task | project_id, task_id |
create_project | Create a new project | name, color (optional), view_mode (optional) |
delete_project | Delete a project | project_id |
| Tool | Description | Parameters |
|---|---|---|
get_all_tasks | Get all tasks from all projects | None |
get_tasks_by_priority | Get tasks filtered by priority level | priority_id (0: None, 1: Low, 3: Medium, 5: High) |
search_tasks | Search tasks by title, content, or subtasks | search_term |
| Tool | Description | Parameters |
|---|---|---|
get_tasks_due_today | Get all tasks due today | None |
get_tasks_due_tomorrow | Get all tasks due tomorrow | None |
get_tasks_due_in_days | Get tasks due in exactly X days | days (0 = today, 1 = tomorrow, etc.) |
get_tasks_due_this_week | Get tasks due within the next 7 days | None |
get_overdue_tasks | Get all overdue tasks | None |
| Tool | Description | Parameters |
|---|---|---|
get_engaged_tasks | Get "engaged" tasks (high priority or overdue) | None |
get_next_tasks | Get "next" tasks (medium priority or due tomorrow) | None |
batch_create_tasks | Create multiple tasks at once | tasks (list of task dictionaries) |
Here are some example prompts to use with Claude after connecting the TickTick MCP server:
Following David Allen's "Getting Things Done" framework, manage an Engaged and Next actions.
For example:
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 clientThe project implements a complete OAuth 2.0 flow for TickTick:
.env fileThis simplifies the user experience by handling the entire OAuth flow programmatically.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.