mcptodo
v0.0.2
Published
MCP Todo CLI: run server and frontend, or initialize a project.
Readme
MCP Todo
A full-stack to-do manager with a Vite React frontend, Express/SQLite backend, and a CLI for local development and automation.
Mcp interface and front end access to the same tasks, lists. Bots manage via the mcp, user manage it via the front end.

MCP Server & API
The backend exposes both a REST API (for the frontend) and an MCP server (for bots/automation). Both access the same SQLite database and task/list data.
MCP Commands (for bots/automation)
The following MCP commands are available (see server/server.ts):
test-connection— Test the connection to the databaseget-users— Get all usersget-todo-lists— Get all todo listsget-tasks— Get all taskscreate-todo-list— Create a new todo list (input: name)create-task— Create a new task (input: title, description, todo_list_id)complete-task— Update a task's status (input: id, status)delete-task— Delete a task (input: id)change-task-order— Move a task to a new position or column (input: taskId, newColumnId, newPosition)get-docs— Get the documentation for the serverchange-tasks-order— Set the order and status for all tasks at once (input: toDo, inProgress, done)
REST API (for frontend)
/api/get-kanban-board— Get board data for the frontend/api/update-task— Update a task/api/create-task— Create a new task/api/delete-task— Delete a task/api/get-users— Get all users/api/bulk-update-order— Bulk update board columns/api/tasks— Get all tasks/api/todo-lists— Get all todo lists/api/todo-lists(POST) — Create a new todo list/api/todo-lists/:id(PUT) — Update a todo list/api/todo-lists/:id(DELETE) — Delete a todo list
Usage (via npx)
After publishing to npm, you can use the CLI directly:
- Start server and frontend:
npx mcptodo - Reset the database:
npx mcptodo reset - Initialize project files:
npx mcptodo init
Development
1. Clone the repository
git clone <repo-url>
cd mcptodo2. Install dependencies
npm install3. Dev commands
- Build everything:
npm run build - Build only the CLI:
npm run build:cli - Build only the backend:
npm run build:backend - Build only the frontend:
npm run build:frontend - Clean build output:
npm run clean
Project Structure
- Frontend:
src/(React, Vite) - Backend:
server/(Express, SQLite, MCP) - CLI:
cli.ts(entry point)
Publishing to npm
- Update
package.json(set name, version, bin, etc.) - Build the project:
npm run build - Login:
npm login - Publish:
npm publish --access public
License
MIT
Warning
Very alpha, use at your own risk
