mcp-godo

lvturner/mcp-godo

3.2

If you are the rightful owner of mcp-godo and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A simple MCP server for managing a todo list, written in Go, using a SQLLite database.

Tools
  1. add_todo

    Adds a new todo item with an optional due date.

  2. complete_todo

    Marks a todo item as completed.

  3. uncomplete_todo

    Marks a todo item as uncompleted.

  4. list_todos

    Lists all todo items with their IDs and completion status.

  5. get_todo

    Retrieves a specific todo item by ID.

  6. delete_todo

    Deletes a specified todo item.

  7. get_active_todos

    Retrieves all active (not completed) todo items.

  8. get_completed_todos

    Retrieves all completed todo items.

  9. update_due_date

    Updates the due date of a specified todo item.

Overview

A simple MCP server that exposes some basic functions for managing a todo list. Written in Go for my own learning purposes, and to fit my own workflows. It will store your todos in a simple SQLLite database.

Features

1. Add a Todo Item

Tool: add_todo
Parameters:

  • title (required): The title of the todo item.
  • due_date (optional): Due date in ISO 8601 format (2006-01-02T15:04:05Z).

2. Complete a Todo Item

Tool: complete_todo
Parameters:

  • id (required): The ID of the todo item to mark as completed.

3. Uncomplete a Todo Item

Tool: uncomplete_todo
Parameters:

  • id (required): The ID of the todo item to mark as uncompleted.

4. List All Todos

Tool: list_todos
Description:
Lists all todos with their IDs and completion status.

5. Retrieve a Single Todo

Tool: get_todo
Parameters:

  • id (required): The ID of the todo item to retrieve.

6. Delete a Todo Item

Tool: delete_todo
Parameters:

  • id (required): The ID of the todo item to delete.

7. Get Active Todos

Tool: get_active_todos
Description:
Retrieves all todos that are not completed.

8. Get Completed Todos

Tool: get_completed_todos
Description:
Retrieves all todos that are completed.

9. Update a Todo's Due Date

Tool: update_due_date
Parameters:

  • id (required): The ID of the todo item.
  • due_date (required): New due date in ISO 8601 format (2006-01-02T15:04:05Z).

Example JSON configuration file

{
  "name": "Todo list",
  "key": "todo-list",
  "description": "Basic todos",
  "command": "/path/to/compiled/binary",
  "env": {
    "STORAGE_TYPE": "sql",
    "DB_PATH": "/path/to/sqlite3/database.db"
  }
}

Database schema

CREATE TABLE todos (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT,
    completed INTEGER
, due_date DATETIME);

Todos/Roadmap

  • Improve DB Setup flow
  • Tidy up main.go
  • Consider adding more features like priority levels and tags
  • Implement create_date field (and replace completed field with completion date)
  • Unit tests