Manages TickTick (Dida 365) tasks through the TickTick Open API.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add ticktick --env TICKTICK_ACCESS_TOKEN='<TICKTICK_ACCESS_TOKEN>' --env TICKTICK_CLIENT_ID='<TICKTICK_CLIENT_ID>' --env TICKTICK_CLIENT_SECRET='<TICKTICK_CLIENT_SECRET>' --env TICKTICK_REFRESH_TOKEN='<TICKTICK_REFRESH_TOKEN>' -- uv run --directory '<absolute path to ticktick-mcp directory>' -m ticktick_mcp.cli run~/.codex/config.toml
[mcp_servers.ticktick]
command = "uv"
args = ["run", "--directory", "<absolute path to ticktick-mcp directory>", "-m", "ticktick_mcp.cli", "run"]
env = { TICKTICK_ACCESS_TOKEN = "<TICKTICK_ACCESS_TOKEN>", TICKTICK_CLIENT_ID = "<TICKTICK_CLIENT_ID>", TICKTICK_CLIENT_SECRET = "<TICKTICK_CLIENT_SECRET>", TICKTICK_REFRESH_TOKEN = "<TICKTICK_REFRESH_TOKEN>" }
# codex mcp add ticktick --env TICKTICK_ACCESS_TOKEN='<TICKTICK_ACCESS_TOKEN>' --env TICKTICK_CLIENT_ID='<TICKTICK_CLIENT_ID>' --env TICKTICK_CLIENT_SECRET='<TICKTICK_CLIENT_SECRET>' --env TICKTICK_REFRESH_TOKEN='<TICKTICK_REFRESH_TOKEN>' -- uv run --directory '<absolute path to ticktick-mcp directory>' -m ticktick_mcp.cli run~/.cursor/mcp.json
{
"mcpServers": {
"ticktick": {
"command": "uv",
"args": [
"run",
"--directory",
"<absolute path to ticktick-mcp directory>",
"-m",
"ticktick_mcp.cli",
"run"
],
"env": {
"TICKTICK_ACCESS_TOKEN": "<TICKTICK_ACCESS_TOKEN>",
"TICKTICK_CLIENT_ID": "<TICKTICK_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<TICKTICK_CLIENT_SECRET>",
"TICKTICK_REFRESH_TOKEN": "<TICKTICK_REFRESH_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"ticktick": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--directory",
"<absolute path to ticktick-mcp directory>",
"-m",
"ticktick_mcp.cli",
"run"
],
"env": {
"TICKTICK_ACCESS_TOKEN": "<TICKTICK_ACCESS_TOKEN>",
"TICKTICK_CLIENT_ID": "<TICKTICK_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<TICKTICK_CLIENT_SECRET>",
"TICKTICK_REFRESH_TOKEN": "<TICKTICK_REFRESH_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"ticktick": {
"command": "uv",
"args": [
"run",
"--directory",
"<absolute path to ticktick-mcp directory>",
"-m",
"ticktick_mcp.cli",
"run"
],
"env": {
"TICKTICK_ACCESS_TOKEN": "<TICKTICK_ACCESS_TOKEN>",
"TICKTICK_CLIENT_ID": "<TICKTICK_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<TICKTICK_CLIENT_SECRET>",
"TICKTICK_REFRESH_TOKEN": "<TICKTICK_REFRESH_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"ticktick": {
"command": "uv",
"args": [
"run",
"--directory",
"<absolute path to ticktick-mcp directory>",
"-m",
"ticktick_mcp.cli",
"run"
],
"env": {
"TICKTICK_ACCESS_TOKEN": "<TICKTICK_ACCESS_TOKEN>",
"TICKTICK_CLIENT_ID": "<TICKTICK_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<TICKTICK_CLIENT_SECRET>",
"TICKTICK_REFRESH_TOKEN": "<TICKTICK_REFRESH_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"ticktick": {
"command": "uv",
"args": [
"run",
"--directory",
"<absolute path to ticktick-mcp directory>",
"-m",
"ticktick_mcp.cli",
"run"
],
"env": {
"TICKTICK_ACCESS_TOKEN": "<TICKTICK_ACCESS_TOKEN>",
"TICKTICK_CLIENT_ID": "<TICKTICK_CLIENT_ID>",
"TICKTICK_CLIENT_SECRET": "<TICKTICK_CLIENT_SECRET>",
"TICKTICK_REFRESH_TOKEN": "<TICKTICK_REFRESH_TOKEN>"
}
}
}
}需要的环境变量
TICKTICK_ACCESS_TOKENTICKTICK_CLIENT_IDTICKTICK_CLIENT_SECRETTICKTICK_REFRESH_TOKEN
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。