Skip to main content
Glama
garethmcc

Super Todo MCP App

by garethmcc
README.md
# Super Todo MCP App

A powerful todo list manager for Creature with an interactive UI and batch operations support. Built as an MCP App (Model Context Protocol Application) with full-text search and markdown descriptions.

## Features

- **Interactive UI** - Beautiful, real-time todo list interface displayed in Creature
- **Batch Operations** - Add, toggle, or remove multiple todos in a single command
- **Full-Text Search** - Fast search powered by SQLite FTS5
- **Markdown Support** - Add rich descriptions to your todos with markdown formatting
- **Persistent Storage** - Todos are saved and persist across sessions
- **AI-Friendly** - Designed to work seamlessly with Creature's AI agent

## Installation

### Quick Install for Creature Users

Install directly from GitHub:

```bash
npm install -g git+https://github.com/garethmcc/super-todo-mcp.git
```

Then add to your Creature MCP configuration:

```json
{
  "mcpServers": {
    "super-todo": {
      "command": "super-todo-mcp",
      "args": []
    }
  }
}
```

### Manual Installation

```bash
# Clone the repository
git clone https://github.com/garethmcc/super-todo-mcp.git
cd super-todo-mcp

# Install dependencies
npm install

# Build the app
npm run build
```

Then add to your Creature MCP config:

```json
{
  "mcpServers": {
    "super-todo": {
      "command": "node",
      "args": ["/path/to/super-todo-mcp/dist/server/index.js"]
    }
  }
}
```

### From Creature Registry (Coming Soon)

Once submitted to the Creature registry, users will be able to:
1. Open Creature
2. Go to Settings → MCP Apps
3. Search for "Super Todo"
4. Click "Install"

## Usage

### Basic Commands

Once installed, you can interact with Super Todo through Creature's AI:

**View your todos:**
```
Show me my todo list
```

**Add todos:**
```
Add these todos: "Buy groceries", "Call dentist", "Finish report"
```

**Toggle completion:**
```
Mark the first todo as complete
```

**Remove todos:**
```
Delete all completed todos
```

**Search todos:**
```
Find all todos about "meeting"
```

### Available Tools

The MCP App provides the following tools that Creature's AI can use:

- `todos_list` - Display all todos in the interactive list UI
- `todos_add` - Create one or more todo items
- `todos_toggle` - Toggle completion status for one or more todos
- `todos_remove` - Delete one or more todo items
- `todos_update_description` - Add or update markdown descriptions
- `todos_search` - Full-text search across all todos

### UI Features

The interactive todo list includes:

- āœ… Check/uncheck todos with a click
- šŸ“ View and edit markdown descriptions
- šŸ” Real-time filtering and search
- šŸ“Š Todo count and progress tracking
- šŸŽØ Clean, modern interface

## Development

### Setup

```bash
# Install dependencies
npm install

# Run in development mode (with hot reload)
npm run dev

# Type checking
npm run typecheck
```

### Project Structure

```
super-todo-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ server/          # MCP server code
│   │   ā”œā”€ā”€ index.ts     # Main app entry point
│   │   ā”œā”€ā”€ tools/       # Tool implementations
│   │   └── lib/         # Utilities and types
│   └── ui/              # React UI components
│       ā”œā”€ā”€ app.tsx      # Main UI component
│       └── styles.css   # Styling
ā”œā”€ā”€ dist/                # Built output
ā”œā”€ā”€ package.json
└── tsconfig.json
```

### Building

```bash
# Build both UI and server
npm run build

# Build UI only
npm run build:ui

# Build server only
npm run build:server
```

### Testing Locally with Creature

1. Start the dev server:
   ```bash
   npm run dev
   ```

2. In Creature, create a Dev MCP project pointing to `http://localhost:3100/mcp`

3. Make changes to the code - the UI will hot-reload automatically

## Configuration

### Environment Variables

- `MCP_PORT` or `PORT` - Server port (default: 3005)

### Data Storage

Todos are stored using Creature's persistent storage system. Each project has its own isolated todo list.

## Requirements

- Node.js 18 or higher
- Creature desktop application

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Changelog

See [CHANGELOG.md](CHANGELOG.md) for a list of changes.

## Support

- **Issues**: Report bugs or request features on GitHub Issues
- **Discussions**: Join the Creature community for questions and discussions
- **Documentation**: Visit [Creature Docs](https://creature.run/docs) for more information

## Acknowledgments

Built with:
- [open-mcp-app](https://github.com/creature-run/open-mcp-app) - MCP App framework
- [React](https://react.dev) - UI framework
- [TypeScript](https://www.typescriptlang.org) - Type safety
- [SQLite FTS5](https://www.sqlite.org/fts5.html) - Full-text search

---

Made with ā¤ļø for the Creature community