8000 GitHub - Git-Monke/checklist-mcp
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Git-Monke/checklist-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Checklist MCP

A modern, hierarchical checklist application with Model Context Protocol (MCP) integration, enabling AI assistants like Claude to directly interact with your checklist data.

🎯 Overview

Checklist MCP is a full-stack application that combines a beautiful React-based web interface with AI-powered checklist management through the Model Context Protocol. Create, organize, and manage hierarchical task lists while allowing AI assistants to help you stay productive.

Key Features

  • 🌳 Hierarchical Lists: Unlimited nesting levels for complex project structures
  • πŸ€– AI Integration: Direct integration with Claude and other AI assistants via MCP
  • ⚑ Real-time Updates: WebSocket-powered live synchronization across all clients
  • 🎨 Modern UI: Beautiful, responsive interface built with React and shadcn/ui
  • πŸ“± Cross-platform: Works on desktop and mobile devices
  • πŸ”§ Developer Friendly: Modular architecture with comprehensive APIs

πŸ—οΈ Architecture

The application consists of three main components:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    WebSocket     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    HTTP API    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Web Client    │◄─────────────────│  Database Server │◄────────────── β”‚   MCP Server    β”‚
β”‚   (React App)   β”‚   Real-time UI   β”‚   (Express.js)   β”‚   REST calls   β”‚  (AI Interface) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚                                    β”‚
                                              β”‚                                    β”‚
                                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                          β”‚
                                      β”‚   SQLite DB     β”‚                          β”‚
                                      β”‚  (Data Storage) β”‚                          β”‚
                                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β”‚
                                                                                   β”‚
                                      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    MCP Protocol          β”‚
                                      β”‚   AI Assistant  β”‚β—„β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β”‚  (Claude, etc.) β”‚     stdio/tools
                                      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Components

  • πŸ–₯️ Web Server (web_server/): React + TypeScript frontend with modern UI components
  • πŸ’Ύ Database Server (db_server/): Express.js API with SQLite database and WebSocket support
  • πŸ€– MCP Server (mcp_server/): Model Context Protocol server for AI assistant integration

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd checklist-mcp
  2. Install dependencies:

    npm run build

Running npm run start will automatically start:

  • Database server on http://localhost:1029
  • Web server on http://localhost:5173
  • MCP server (of course)

Access Points

πŸ€– AI Assistant Integration

Claude Desktop Setup

  1. Locate your Claude Desktop config file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%/Claude/claude_desktop_config.json
  2. Add the MCP server configuration:

    {
      "mcpServers": {
        "checklist": {
          "command": "node",
          "args": ["/path/to/checklist-mcp/mcp_server/mcp_server.js"],
          "env": {
            "DB_SERVER_URL": "http://localhost:1029"
          }
        }
      }
    }
  3. Restart Claude Desktop and start using AI-powered checklist management!

Example AI Interactions

Once integrated, you can ask Claude:

  • "Show me all my checklists"
  • "Create a grocery shopping list with common items"
  • "Add subtasks to my 'Website Project' list for planning, design, and development"
  • "Mark the first three tasks in my morning routine as completed"
  • "Help me organize my project into phases with detailed subtasks"

Claude will automatically use the appropriate tools to manage your checklists.

πŸ“± Web Interface Features

Modern UI Components

  • Sidebar Navigation: Easy list switching and management
  • Hierarchical Tree View: Visual nesting with expand/collapse
  • Inline Editing: Click any item to edit text directly
  • Drag & Drop: Reorder items and change hierarchy (coming soon)
  • Real-time Updates: See changes instantly across all devices

Key Interactions

  • βœ… Check/Uncheck: Click checkboxes to toggle completion
  • βž• Add Items: Use the "+" button or press Enter after editing
  • πŸ“ Edit Text: Click any item text to edit inline
  • πŸ—‘οΈ Delete Items: Use the delete button in item actions
  • πŸ“ Expand/Collapse: Toggle nested item visibility

πŸ› οΈ Development

Project Structure

checklist-mcp/
β”œβ”€β”€ web_server/          # React + TypeScript frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # UI components (shadcn/ui + custom)
β”‚   β”‚   β”œβ”€β”€ hooks/       # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ services/    # API communication layer
β”‚   β”‚   β”œβ”€β”€ store/       # Zustand state management
β”‚   β”‚   └── utils/       # Utility functions
β”‚   └── package.json
β”œβ”€β”€ db_server/           # Express.js API server
β”‚   β”œβ”€β”€ db_server.js     # Main server file
β”‚   β”œβ”€β”€ migrations/      # Database schema migrations
β”‚   └── package.json
β”œβ”€β”€ mcp_server/          # Model Context Protocol server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ tools/       # Individual MCP tool implementations
β”‚   β”‚   β”œβ”€β”€ config.js    # Configuration management
β”‚   β”‚   └── dependency-manager.js  # Service orchestration
β”‚   β”œβ”€β”€ mcp_server.js    # Main MCP server
β”‚   └── package.json
└── package.json         # Root package with start scripts

Running Individual Services

Database Server:

cd db_server
npm install
npm start  # Runs on http://localhost:1029

Web Server:

cd web_server
npm install
npm run dev  # Runs on http://localhost:5173

MCP Server:

cd mcp_server
npm install
node mcp_server.js  # Stdio transport for AI assistants

Development Features

  • πŸ”„ Auto-Dependency Management: MCP server automatically starts required services
  • πŸ”§ Modular Architecture: Clean separation of concerns across all components
  • πŸ“‘ WebSocket Support: Real-time synchronization between web clients
  • πŸ§ͺ Comprehensive Testing: Live testing protocols for all MCP tools
  • πŸ“ TypeScript: Full type safety in frontend components

πŸ—„οΈ Database Schema

The application uses SQLite with the following core tables:

-- Lists table
CREATE TABLE lists (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- List items table with hierarchical support
CREATE TABLE list_items (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    list_id INTEGER NOT NULL,
    parent_id INTEGER,
    text TEXT NOT NULL,
    is_completed BOOLEAN DEFAULT 0,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (list_id) REFERENCES lists(id) ON DELETE CASCADE,
    FOREIGN KEY (parent_id) REFERENCES list_items(id) ON DELETE CASCADE
);

πŸ”Œ API Reference

REST Endpoints

  • GET /lists - Get all lists
  • POST /lists - Create a new list
  • GET /lists/:id - Get specific list with items
  • DELETE /lists/:id - Delete a list
  • POST /lists/:id/items - Add item to list
  • PUT /lists/:id/items/:itemId - Update list item
  • DELETE /lists/:id/items/:itemId - Delete list item

WebSocket Events

  • lists_updated - Broadcast when any list data changes
  • Connection management - Automatic reconnection and error handling

MCP Tools

  • get_all_lists - Retrieve all checklist lists
  • get_list - Get detailed list with hierarchy
  • create_list - Create new checklists
  • add_list_item - Add items with nesting support
  • bulk_add_list_items - Add multiple items at once
  • find_list_item - Search items by text
  • update_list_item - Update text or completion status
  • delete_list_item - Delete specific items
  • delete_list - Delete entire lists

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and test thoroughly
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Development Guidelines

  • Follow the existing code style and patterns
  • Add tests for new functionality
  • Update documentation for API changes
  • Ensure all services work together correctly

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Related Projects


Built with ❀️ for AI-assisted productivity

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0