ticktick-mcpserver
TickTick MCP Serverは、人気のタスク管理アプリTickTickのためのモデルコンテキストプロトコル(MCP)サーバー実装です。このサーバーは、AIアシスタントがTickTickのオープンAPIを通じてタスクを管理するための機能を提供します。タスクの取得、作成、更新、完了、削除、プロジェクトの管理が可能です。
GitHubスター
4
ユーザー評価
未評価
フォーク
0
イシュー
1
閲覧数
1
お気に入り
0
TickTick MCP Server
A Model Context Protocol (MCP) server implementation for TickTick, the popular task management application. This server allows AI assistants to interact with TickTick through the TickTick Open API.
📋 Features
- Get tasks from projects
- Create new tasks with details like due dates, priorities, and descriptions
- Update existing tasks
- Mark tasks as complete
- Delete tasks
- Get list of projects
- Create new projects with custom properties
🚀 Quick Start
Prerequisites
- Node.js (v18 or higher)
- TickTick Developer account
- TickTick API Access Token
Installation
Clone this repository:
git clone https://github.com/shidhincr/ticktick-mcpserver.git cd ticktick-mcpserverInstall dependencies:
npm installBuild the project:
npm run buildSet the environment variable with your access token:
export TICKTICK_ACCESS_TOKEN=your_access_token_hereStart the server:
npm start
🔑 Authentication Setup
1. Register a TickTick Developer Account
- Visit TickTick Developer Center
- Create an account and register your application
- Get the client ID and client secret
2. Get Access Token
Follow the OAuth2 flow to obtain an access token:
Redirect users to TickTick authorization page:
https://ticktick.com/oauth/authorize?scope=tasks:read tasks:write&client_id=YOUR_CLIENT_ID&state=STATE&redirect_uri=YOUR_REDIRECT_URI&response_type=codeExchange the received code for an access token: Make a POST request to
https://ticktick.com/oauth/tokenwith:- Header: Basic authentication with your client_id and client_secret
- Body (application/x-www-form-urlencoded):
- code: the received authorization code
- grant_type: authorization_code
- scope: tasks:read tasks:write
- redirect_uri: your redirect URI
Store the received access token securely.
🛠️ Available Tools
The server implements the following tools for AI interaction:
Task Management
ticktick_get_tasks- Get tasks from a specific project or all projects{ project_id?: string; // Optional project ID limit?: number; // Optional result limit (default: 10) }ticktick_create_task- Create a new task{ title: string; // Required: Task title content?: string; // Optional: Task content desc?: string; // Optional: Task description project_id: string; // Required: Project ID due_date?: string; // Optional: Due date (ISO format) priority?: number; // Optional: Priority (0, 1, 3, 5) is_all_day?: boolean; // Optional: All-day task flag }ticktick_update_task- Update an existing task{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID title?: string; // Optional: New title // ... other task properties }ticktick_complete_task- Mark a task as complete{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID }ticktick_delete_task- Delete a task{ project_id: string; // Required: Project ID task_id: string; // Required: Task ID }
Project Management
ticktick_get_projects- Get a list of all projectsticktick_create_project- Create a new project{ name: string; // Required: Project name color?: string; // Optional: Color code (e.g. "#F18181") view_mode?: string; // Optional: View mode ("list", "kanban", "timeline") kind?: string; // Optional: Project kind ("TASK", "NOTE") }
📁 Project Structure
ticktick-mcpserver/
├── dist/ # Compiled TypeScript (generated after building)
├── src/
│ └── index.ts # Main server implementation
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📚 API Reference
This project uses the TickTick Open API. For detailed information about API endpoints and parameters, please refer to the official documentation.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgements
- TickTick for providing the API
- Model Context Protocol (MCP) for the protocol specification