Eisenhower
β¨β¨β¨A full feature MCP Server for Eisenhower Matrix
Installation
npx eisenhowerAsk AI about Eisenhower
Powered by Claude Β· Grounded in docs
I know everything about Eisenhower. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Eisenhower MCP Server
β¨β¨β¨ A full-featured MCP Server for Eisenhower Matrix task management
Overview
This is a Model Context Protocol (MCP) server that provides comprehensive task management capabilities based on the Eisenhower Matrix (also known as the Urgent-Important Matrix). It helps you prioritize tasks by categorizing them into four quadrants:
- Urgent & Important (Do First): Critical tasks requiring immediate attention
- Not Urgent & Important (Schedule): Important tasks to plan and schedule
- Urgent & Not Important (Delegate): Tasks to delegate if possible
- Not Urgent & Not Important (Eliminate): Tasks to eliminate or minimize
Features
- β Full CRUD operations for tasks
- π Task categorization using Eisenhower Matrix quadrants
- π Search and filter capabilities
- π Statistics and analytics
- πΎ Persistent storage using SQLite3
- π Standard MCP protocol support via stdio
- π οΈ Built with official github.com/modelcontextprotocol/go-sdk
- π·οΈ NEW: Project field for organizing tasks by project
- β±οΈ NEW: Start timestamp tracking to record when tasks begin
π See FEATURES.md for complete feature list and roadmap
Installation
Prerequisites
- Go 1.21 or higher
- SQLite3
Build from source
git clone https://github.com/worthies/eisenhower.git
cd eisenhower
go mod download
go build -o eisenhower
Or use the Makefile:
make build # Build the server
make install # Build and install to ~/.local/bin
make help # Show all available commands
Usage
Running the server
By default, the server stores data in ~/.config/eisenhower.db:
./eisenhower-mcp-server
To specify a custom database path:
./eisenhower -db /path/to/your/database.db
VS Code Copilot Integration
Add the following to your VS Code settings (.vscode/settings.json or user settings):
{
"github.copilot.chat.mcp.servers": {
"eisenhower": {
"command": "/absolute/path/to/eisenhower-mcp-server",
"args": ["-db", "~/.config/eisenhower.db"]
}
}
}
Or in your MCP settings file (~/.config/Code/User/globalStorage/github.copilot-chat/mcp-servers.json):
{
"mcpServers": {
"eisenhower": {
"command": "/absolute/path/to/eisenhower",
"args": ["-db", "~/.config/eisenhower.db"]
}
}
}
Available Tools
The server provides the following MCP tools:
1. create_task
Create a new task in the Eisenhower Matrix.
Parameters:
title(required): Task titlequadrant(required): One of:urgent_important,not_urgent_important,urgent_not_important,not_urgent_not_importantdescription(optional): Detailed descriptionpriority(optional): Priority level 1-5 (default: 3)status(optional): One of:pending,in_progress,completed,cancelled(default:pending)due_date(optional): Due date in RFC3339 format (e.g.,2024-12-31T23:59:59Z)started_at(optional): Start timestamp in RFC3339 format (e.g.,2024-12-31T23:59:59Z)tags(optional): Comma-separated tagsproject(optional): Project name (default:Routine)
2. get_task
Retrieve a specific task by ID.
Parameters:
id(required): Task ID
3. list_tasks
List all tasks with optional filtering.
Parameters:
quadrant(optional): Filter by quadrantstatus(optional): Filter by statusproject(optional): Filter by project nameupdated_since(optional): Filter by tasks updated after this time (RFC3339 format, e.g.2024-12-31T23:59:59Z)updated_until(optional): Filter by tasks updated before this time (RFC3339 format, e.g.2024-12-31T23:59:59Z)summary(optional): Filter by summary content (LIKE pattern matching)
4. update_task
Update an existing task.
Parameters:
id(required): Task ID- All other fields from
create_taskare optional
5. delete_task
Delete a task by ID.
Parameters:
id(required): Task ID
6. search_tasks
Search tasks by title, description, or tags.
Parameters:
query(required): Search term
7. move_task
Move a task to a different quadrant.
Parameters:
id(required): Task IDquadrant(required): Target quadrant
8. complete_task
Mark a task as completed.
Parameters:
id(required): Task ID
9. get_statistics
Get statistics about all tasks (counts by quadrant and status).
Parameters: None
10. get_projects
Get unique project names from all tasks with optional filtering.
Parameters:
include_completed(optional): If true, include projects where all tasks are completed or cancelled. If false, only show projects with at least one pending or in_progress task. Default is true (show all projects).
Example Usage with VS Code Copilot
Once configured, you can interact with the Eisenhower Matrix directly in VS Code Copilot Chat:
Create a task "Finish project report" in urgent_important quadrant with high priority
List all pending tasks in the not_urgent_important quadrant
Search for tasks related to "meeting"
Move task 5 to urgent_important quadrant
Show me statistics about my tasks
π See USAGE.md for comprehensive usage guide and examples
Database Schema
The server uses a SQLite database with the following schema:
CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
description TEXT,
quadrant TEXT NOT NULL CHECK(quadrant IN ('urgent_important', 'not_urgent_important', 'urgent_not_important', 'not_urgent_not_important')),
priority INTEGER DEFAULT 3 CHECK(priority >= 1 AND priority <= 5),
status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'completed', 'cancelled')),
due_date DATETIME,
started_at DATETIME,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
finished_at DATETIME,
tags TEXT,
progress INTEGER DEFAULT 0 CHECK(progress >= 0 AND progress <= 100),
summary TEXT,
project TEXT DEFAULT 'Routine'
);
Project Structure
eisenhower/
βββ main.go # Main entry point
βββ internal/
β βββ database/
β β βββ database.go # Database layer with SQLite operations
β βββ handlers/
β βββ handlers.go # MCP tool handlers
βββ go.mod
βββ go.sum
βββ LICENSE
βββ README.md
Development
Running tests
go test ./...
Adding new tools
- Add the tool definition in
internal/handlers/handlers.go - Implement the handler function
- Register the tool in the
RegisterToolsmethod
License
See LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
About Eisenhower Matrix
The Eisenhower Matrix, also known as the Urgent-Important Matrix, is a time management framework that helps you prioritize tasks by urgency and importance. It was named after Dwight D. Eisenhower, who reportedly said:
"What is important is seldom urgent and what is urgent is seldom important."
Learn more: Eisenhower Matrix on Wikipedia
