AiTasker
A lightweight task and project management server built in Go, designed for AI agent integration via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/).
Ask AI about AiTasker
Powered by Claude Β· Grounded in docs
I know everything about AiTasker. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
AiTasker
A lightweight task and project management server built in Go, designed for AI agent integration via the Model Context Protocol (MCP).
Overview
AiTasker exposes project and task management capabilities as MCP tools, allowing AI agents (like Claude) to programmatically create projects, manage tasks, and track work through a standard HTTP/JSON-RPC interface.
Features
- Project Management β Create, list, retrieve, and delete projects
- Task Management β Full CRUD for tasks within projects, with status tracking
- Task Workflow β Four-state lifecycle:
TODOβIN_PROGRESSβIN_REVIEWβDONE - Comments β Add and retrieve comments on tasks
- MCP Integration β 11 tools exposed via JSON-RPC 2.0 for AI agent use
- File-based Storage β No database required; data persisted as JSON files
- Thread-safe β Concurrent-safe repository operations via
sync.RWMutex
Tech Stack
- Language: Go 1.25+
- HTTP Router: gorilla/mux
- ID Generation: google/uuid
- Protocol: Model Context Protocol v2024-11-05
Project Structure
AiTasker/
βββ cmd/server/main.go # Entry point
βββ internal/
β βββ delivery/
β β βββ http/router.go # HTTP routing
β β βββ mcp/mcp_server.go # MCP protocol handler
β βββ features/
β β βββ project/ # Project domain & service
β β βββ task/ # Task domain & service
β β βββ comment/ # Comment domain
β βββ shared/ # Errors, time provider
βββ go.mod
βββ go.sum
Getting Started
Prerequisites
- Go 1.25 or later
Installation
git clone https://github.com/your-username/AiTasker.git
cd AiTasker
go mod download
Running
go run ./cmd/server
Or build and run:
go build -o aitasker ./cmd/server
./aitasker
The server starts on http://localhost:8080.
Testing
go test ./...
MCP Tools
The server exposes the following tools via POST /mcp:
| Tool | Description |
|---|---|
create_project | Create a new project |
list_projects | List all projects |
get_project | Get project details |
delete_project | Delete a project and all its tasks |
create_task | Create a task within a project |
list_tasks | List tasks (with optional status filter) |
get_task | Get task details |
update_task | Update task title, description, or status |
delete_task | Delete a task |
add_comment | Add a comment to a task |
get_comments | Retrieve comments on a task |
MCP Request Format
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "create_project",
"arguments": {
"name": "MyProject",
"description": "Project description"
}
}
}
Data Storage
Projects and tasks are stored as JSON files under ./data/:
data/
βββ MyProject/
β βββ meta.json # Project metadata
β βββ MY-1.json # Task files (prefix = first 2 chars of project name)
β βββ MY-2.json
Connecting to Claude
Add AiTasker as an MCP server in your Claude configuration:
{
"mcpServers": {
"aitasker": {
"url": "http://localhost:8080/mcp"
}
}
}
Claude will then have access to all 11 task management tools directly within conversations.
License
MIT
