DonJamon1989/ticktick-mcp-server
If you are the rightful owner of ticktick-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
This repository hosts a simple Model Context Protocol (MCP) server that integrates a subset of the TickTick API with OpenAI models, facilitating task management through search and fetch functionalities.
TickTick MCP Server
This repository contains a simple Model Context Protocol (MCP) server that exposes a subset of the TickTick API to OpenAI models. It implements the required search and fetch tools and wires up an OAuth flow to obtain user authorisation tokens.
Features
- ✅ Remote MCP implementation — speaks JSON‑RPC over HTTP and Server‑Sent Events (SSE).
- 🔍 Search tasks — call the
searchtool to retrieve tasks matching a query string. - 📄 Fetch tasks — call the
fetchtool to fetch a single task by its ID. - 🔑 OAuth — includes endpoints to start and complete the OAuth code flow for TickTick. Tokens are stored in memory keyed to a placeholder user. Extend this to use a real user store in production.
- 🚑 Health check — responds to
/healthfor deployment platforms. - 🐳 Docker & Render — provides a
Dockerfileandrender.yamlfor easy deployment.
Getting Started
Prerequisites
- Create a TickTick developer application to obtain your
client_idandclient_secret. - Register a redirect URI for OAuth. For local testing you might use
http://localhost:8080/oauth/callback. In production set this to your hosted domain plus/oauth/callback.
Local Development
bash
git clone https://github.com/your-org/ticktick-mcp-server.git
cd ticktick-mcp-server
cp .env.example .env
# Fill in the environment variables in `.env`
npm install
npm start
# Visit http://localhost:8080/health to check the server
# Start the OAuth flow at http://localhost:8080/oauth/start
Deployment on Render
This repository includes a render.yaml file for one‑click deployment on Render. To deploy:
- Create a new Web Service on Render and connect it to your GitHub repository.
- Render will automatically detect the
render.yamland configure the service. - Define the OAuth environment variables (
OAUTH_CLIENT_ID,OAUTH_CLIENT_SECRET,OAUTH_AUTH_URL,OAUTH_TOKEN_URL,OAUTH_SCOPE,OAUTH_REDIRECT) in the Render dashboard. You can mark sensitive values as secrets. - Deploy the service. Once live, your MCP Server URL will be
https://<your-service>.onrender.com/mcp.
Usage as an OpenAI Connector
- In the ChatGPT Connectors (Beta) menu, create a new connector.
- Provide the URL of your deployed MCP server (e.g.
https://<your-service>.onrender.com/mcp). - Set the authentication type to OAuth and enter your TickTick client credentials and endpoints.
- After saving, ChatGPT will ask you to authenticate. Complete the OAuth flow. You are ready to search and fetch TickTick tasks via ChatGPT!
Extending
To add more capabilities, edit server.js and add new tool definitions in the tools/list handler and corresponding logic in the tools/call handler. For example, you could implement tools to create, update or complete tasks.
License
This project is provided under the MIT License. See for details.