Mcp Server Ticktick — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Server Ticktick (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.
http://localhost:19280/callback {
"mcpServers": {
"ticktick": {
"command": "uvx",
"args": ["mcp-server-ticktick"],
"env": {
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret"
}
}
}
} uvx mcp-server-ticktick authThis will open a browser for OAuth authorization. Credentials and tokens are saved to ~/.ticktick/config.json.
Note: If you don't configureTICKTICK_CLIENT_ID/TICKTICK_CLIENT_SECRETin the MCP config, theauthcommand will prompt you to enter them interactively, and they will be saved to~/.ticktick/config.json.
滴答清单 - Dida365 is China version of TickTick, and the authentication process is similar to TickTick. Follow these steps to set up Dida365 authentication:
http://localhost:19280/callback {
"mcpServers": {
"ticktick": {
"command": "uvx",
"args": ["mcp-server-ticktick"],
"env": {
"TICKTICK_CLIENT_ID": "your_client_id",
"TICKTICK_CLIENT_SECRET": "your_client_secret",
"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"
}
}
}
}All environment variables are optional and can be set in your MCP server config's env block. Credentials and tokens are primarily stored in ~/.ticktick/config.json.
| Variable | Description | Default |
|---|---|---|
TICKTICK_CLIENT_ID | OAuth client ID | ~/.ticktick/config.json |
TICKTICK_CLIENT_SECRET | OAuth client secret | ~/.ticktick/config.json |
TICKTICK_ACCESS_TOKEN | OAuth access token (fallback) | ~/.ticktick/config.json |
TICKTICK_REFRESH_TOKEN | OAuth refresh token (fallback) | ~/.ticktick/config.json |
TICKTICK_BASE_URL | API base URL | https://api.ticktick.com/open/v1 |
TICKTICK_AUTH_URL | OAuth authorization URL | https://ticktick.com/oauth/authorize |
TICKTICK_TOKEN_URL | OAuth token URL | https://ticktick.com/oauth/token |
| Tool | Description | Parameters |
|---|---|---|
get_projects | List all your TickTick projects | size (optional, default: 50) |
get_project | Get details about a specific project | project_id |
get_project_tasks | List all tasks in a project | project_id, size (optional, default: 50) |
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 | size (optional, default: 50) |
get_tasks_by_priority | Get tasks filtered by priority level | priority_id (0: None, 1: Low, 3: Medium, 5: High), size (optional, default: 50) |
search_tasks | Search tasks by title, content, or subtasks | search_term, size (optional, default: 50) |
| Tool | Description | Parameters |
|---|---|---|
get_tasks_due_today | Get all tasks due today | size (optional, default: 50) |
get_tasks_due_tomorrow | Get all tasks due tomorrow | size (optional, default: 50) |
get_tasks_due_in_days | Get tasks due in exactly X days | days (0 = today, 1 = tomorrow, etc.), size (optional, default: 50) |
get_tasks_due_this_week | Get tasks due within the next 7 days | size (optional, default: 50) |
get_overdue_tasks | Get all overdue tasks | size (optional, default: 50) |
| Tool | Description | Parameters |
|---|---|---|
get_engaged_tasks | Get "engaged" tasks (high priority or overdue) | size (optional, default: 50) |
get_next_tasks | Get "next" tasks (medium priority or due tomorrow) | size (optional, default: 50) |
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:
mcp-server-ticktick/
├── 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:
~/.ticktick/config.json~/.ticktick/config.json (mode 0600)Config loading priority:
client_id, client_secret): MCP env vars → ~/.ticktick/config.jsonaccess_token, refresh_token): ~/.ticktick/config.json → env vars (fallback)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.