Content
# todo-mcp
MCP Server based on Model Context Protocol.
## Features
- **Task Management**: Create, query, update, delete tasks
- **Goal Management**: Create, query, update, delete goals
- **Record Management**: Create, query, update, delete records
- **Reminder Management**: Create, query, update, delete reminders
- **Task Association with Goals**: Support associating tasks with specific goals
## Tech Stack
- TypeScript
- [MCP SDK](https://github.com/modelcontextprotocol/sdk)
- SQLite (better-sqlite3)
## Project Structure
```
todo-mcp/
├── src/
│ ├── index.ts # MCP Server Entry
│ ├── db/ # Database Layer
│ │ ├── index.ts
│ │ ├── task.ts # Task CRUD
│ │ ├── goal.ts # Goal CRUD
│ │ ├── record.ts # Record CRUD
│ │ └── reminder.ts # Reminder CRUD
│ ├── handlers/ # MCP Tool Handlers
│ │ ├── task.ts # Task-related Tools
│ │ ├── goal.ts # Goal-related Tools
│ │ ├── record.ts # Record-related Tools
│ │ └── reminder.ts # Reminder-related Tools
│ └── types/ # TypeScript Type Definitions
│ └── index.ts
├── dist/ # Compilation Output
├── memory/ # Documents and Database
│ ├── memory.db # SQLite Database File
│ ├── db-bak/ # Database Backups
│ ├── prompt/ # Prompts
│ └── superpowers/ # Planning
```
## Installation
### Method 1: Global Installation
```bash
npm install
npm run build
npm install -g .
```
### Method 2: Using npm link
```bash
npm install
npm run build
npm link
```
## Usage
### Configure Claude Code
Add the following to `.mcp.json`:
```json
{
"mcpServers": {
"todo-mcp": {
"command": "todo-mcp"
}
}
}
```
### Restart MCP Connection
```
/mcp
```
### Available Tools
#### Task Operations
| Tool Name | Function |
|-----------|----------|
| `create_task` | Create Task |
| `get_task` | Get Task Details |
| `list_tasks` | List Tasks |
| `update_task` | Update Task |
| `delete_task` | Delete Task |
#### Goal Operations
| Tool Name | Function |
|-----------|----------|
| `create_goal` | Create Goal |
| `get_goal` | Get Goal Details |
| `list_goals` | List Goals |
| `update_goal` | Update Goal |
| `delete_goal` | Delete Goal |
#### Record Operations
| Tool Name | Function |
|-----------|----------|
| `create_record` | Create Record |
| `get_record` | Get Record Details |
| `list_records` | List Records |
| `update_record` | Update Record |
| `delete_record` | Delete Record |
#### Reminder Operations
| Tool Name | Function |
|-----------|----------|
| `create_reminder` | Create Reminder |
| `get_reminder` | Get Reminder Details |
| `list_reminders` | List Reminders |
| `update_reminder` | Update Reminder |
| `delete_reminder` | Delete Reminder |
### Task Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Task Title (Required) |
| `description` | string | Task Description |
| `status` | "pending" \| "doing" \| "done" | Status |
| `priority` | "high" \| "medium" \| "low" | Priority |
| `goal_id` | number \| null | Associated Goal ID |
| `due_date` | string | Due Date |
| `assignee` | string | Assignee |
| `executor` | string | Executor |
| `tags` | string | Tags |
| `progress` | number | Progress (0-100) |
| `result` | string | Result |
| `ai_suggestion` | string | AI Suggestion |
| `created_at` | string | Creation Time |
| `completed_at` | string | Completion Time |
### Goal Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Goal Title (Required) |
| `description` | string | Goal Description |
| `period` | string | Period |
| `criteria` | string | Completion Criteria |
| `weight` | number | Weight |
| `ai_suggestion` | string | AI Suggestion |
| `created_at` | string | Creation Time |
| `result` | string | Result |
| `self_evaluation` | string | Self-Evaluation |
### Record Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Record Title (Required) |
| `content` | string | Record Content |
| `ai_throught` | string | AI Thoughts |
| `tags` | string | Tags |
| `status` | "pending" \| "doing" \| "done" | Status |
| `closed_loop` | string | Closed Loop |
| `closed_at` | string | Closed Time |
| `created_at` | string | Creation Time |
### Reminder Fields
| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Reminder Title (Required) |
| `content` | string | Reminder Content |
| `ai_suggestion` | string | AI Suggestion |
| `remind_at` | string | Reminder Time |
| `status` | "pending" \| "done" | Status |
| `tags` | string | Tags |
| `created_at` | string | Creation Time |
## Development
```bash
# Build
npm run build
# Watch Mode (for development)
npm run watch
```
## Database
Data is stored in `memory/memory.db` (SQLite). To reset:
```bash
rm memory/memory.db
# A new database will be created on the next startup
```
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
Python tool for converting files and office documents to Markdown.
awesome-claude-skills
A curated list of awesome Claude Skills, resources, and tools for...
antigravity-awesome-skills
The Ultimate Collection of 130+ Agentic Skills for Claude...
claude-context-mode
claude-context-mode plugin reduces MCP context bloat, saving up to 99% of tokens.
context-mode
MCP is the protocol for tool access. We're the virtualization layer for context.