Skip to main content
Glama
shunkus
by shunkus
README.md
# TickTick MCP Server (Vercel)

A Model Context Protocol server for TickTick, deployed on Vercel.

## Deploy to Vercel

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/YOUR_USERNAME/ticktick-mcp-vercel)

### 1. Environment Variables

Set these in Vercel Dashboard > Settings > Environment Variables:

| Variable | Description |
|----------|-------------|
| `TICKTICK_ACCESS_TOKEN` | Your TickTick API access token |
| `REDIS_URL` | Redis connection URL (for SSE transport) |

### 2. Add Redis (for SSE support)

1. Go to Vercel Dashboard > Storage
2. Add **Upstash Redis**
3. The `REDIS_URL` will be automatically configured

### 3. Deploy

```bash
vercel --prod
```

## Connect from Claude

### Option 1: Claude Pro/Max/Team/Enterprise

1. Open Claude Desktop or claude.ai
2. Go to **Settings > Connectors**
3. Add new connector with URL: `https://your-app.vercel.app/api/mcp`

### Option 2: Using mcp-remote (Free users)

Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ticktick": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-app.vercel.app/api/sse"
      ]
    }
  }
}
```

## Available Tools

| Tool | Description |
|------|-------------|
| `list_projects` | List all TickTick projects |
| `get_tasks` | Get tasks (all or by project) |
| `create_task` | Create a new task |
| `update_task` | Update an existing task |
| `complete_task` | Mark task as completed |
| `delete_task` | Delete a task |

## Local Development

```bash
# Install dependencies
npm install

# Set environment variables
export TICKTICK_ACCESS_TOKEN="your-token"
export REDIS_URL="your-redis-url"  # Optional for local

# Run development server
npm run dev
```

Test with MCP Inspector:
```bash
npx @anthropic-ai/mcp-inspector
```

## Endpoints

- `/api/mcp` - Streamable HTTP transport (recommended)
- `/api/sse` - Server-Sent Events transport