Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by https://smithery.ai. See: https://smithery.ai/docs/build/project-config
# Auto-generated Dockerfile for ticktick-mcp-server
FROM node:lts-alpine

# Create app directory
WORKDIR /app

# Install dependencies
COPY package.json package-lock.json tsconfig.json ./
# Copy source
COPY src ./src
COPY oauth-helper.js ./oauth-helper.js

# Install and build
RUN npm install --ignore-scripts \
&& npm run build

# Default command
CMD ["node", "dist/index.js"]
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# TickTick MCP Server

[![smithery badge](https://smithery.ai/badge/@rafliruslan/ticktick-mcp-server)](https://smithery.ai/server/@rafliruslan/ticktick-mcp-server)

A Model Context Protocol (MCP) server that provides integration with TickTick task management service.

## Features
Expand All @@ -16,6 +18,14 @@ A Model Context Protocol (MCP) server that provides integration with TickTick ta

## Setup

### Installing via Smithery

To install TickTick Task Management Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@rafliruslan/ticktick-mcp-server):

```bash
npx -y @smithery/cli install @rafliruslan/ticktick-mcp-server --client claude
```

1. Install dependencies:
```bash
npm install
Expand Down
43 changes: 43 additions & 0 deletions smithery.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Smithery configuration file: https://smithery.ai/docs/build/project-config

startCommand:
type: stdio
commandFunction:
# A JS function that produces the CLI command based on the given config to start the MCP on stdio.
|-
(config) => ({ command: 'node', args: ['dist/index.js'], env: { TICKTICK_ACCESS_TOKEN: config.ticktickAccessToken, TICKTICK_REFRESH_TOKEN: config.ticktickRefreshToken, TICKTICK_CLIENT_ID: config.ticktickClientId, TICKTICK_CLIENT_SECRET: config.ticktickClientSecret, TICKTICK_USERNAME: config.ticktickUsername, TICKTICK_PASSWORD: config.ticktickPassword } })
configSchema:
# JSON Schema defining the configuration options for the MCP.
type: object
properties:
ticktickAccessToken:
type: string
default: ""
description: OAuth access token for TickTick
ticktickRefreshToken:
type: string
default: ""
description: OAuth refresh token for TickTick
ticktickClientId:
type: string
default: ""
description: OAuth client ID for TickTick
ticktickClientSecret:
type: string
default: ""
description: OAuth client secret for TickTick
ticktickUsername:
type: string
default: ""
description: Username for TickTick (if not using OAuth)
ticktickPassword:
type: string
default: ""
description: Password for TickTick (if not using OAuth)
exampleConfig:
ticktickAccessToken: your_access_token
ticktickRefreshToken: your_refresh_token
ticktickClientId: your_client_id
ticktickClientSecret: your_client_secret
ticktickUsername: ""
ticktickPassword: ""