AgentStack
MCP verified MIT Self-run

Taskboard

mcp-tcarac-taskboard · by tcarac

Local project management with Kanban UI, CLI, and MCP server for AI assistants. SQLite-backed, single binary, installable via Homebrew.

No reviews yet
0 installs
18 views
0.0% view→install

Install

$ agentstack add mcp-tcarac-taskboard

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Taskboard? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Taskboard

A local, self-hosted project management tool with a Kanban UI, full CLI, and a built-in MCP server that lets AI assistants manage your projects, tickets, and teams directly.

Single binary. SQLite-backed. No Docker, no external database, no runtime dependencies.

Screenshots

Features

  • Kanban Board — drag-and-drop ticket management across Todo, In Progress, and Done columns
  • Projects — organize work with customizable projects (icons, colors, prefixes)
  • Teams — assign tickets to teams
  • Tickets — priority levels, due dates, labels, subtasks, dependencies (blocked by)
  • Embedded Terminal — run AI coding agents (opencode, Claude Code) directly from the web UI
  • CLI — manage everything from the terminal
  • MCP Server — 22 tools for AI-native project management via Model Context Protocol
  • Self-Hosted — your data stays on your machine in a SQLite database
  • Single Binary — one brew install and you're running

Install

Homebrew

brew tap tcarac/taskboard
brew install taskboard

From source

git clone https://github.com/tcarac/taskboard.git
cd taskboard
make build

Requires Go 1.24+ and Node.js 22+.

Usage

Web UI

taskboard start
# => http://localhost:3010

taskboard start --port 8080

CLI

taskboard project create "Auth System" --prefix AUTH --icon "🔐"
taskboard project list

taskboard ticket create --project  --title "Implement login" --priority high
taskboard ticket list --project  --status todo
taskboard ticket move  --status done

taskboard team create "Backend"
taskboard team list

MCP Server (for AI assistants)

taskboard mcp
Claude Code
claude mcp add taskboard -- /path/to/taskboard mcp
Claude Desktop

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "taskboard": {
      "command": "/path/to/taskboard",
      "args": ["mcp"]
    }
  }
}
Data Hierarchy
Project → Ticket → Subtask
(initiative)  (task)    (step)
  • Projects are the top-level grouping (like epics/initiatives). Create one per body of work.
  • Tickets are concrete, actionable tasks within a project. Don't create "epic" tickets — use projects.
  • Subtasks are checklist steps within a ticket, for breaking work into verifiable pieces.
Available MCP Tools (22)

| Tool | Description | | ----------------------- | ------------------------------------------------ | | Projects | | | list_projects | List all projects with optional status filter | | get_project | Get project details by ID | | create_project | Create a new project (use for epics/initiatives) | | update_project | Update project properties | | delete_project | Delete a project and all its tickets | | Teams | | | list_teams | List all teams | | get_team | Get team details by ID | | create_team | Create a new team | | update_team | Update team properties | | delete_team | Delete a team | | Tickets | | | list_tickets | List tickets with filters | | get_ticket | Get ticket details with subtasks and labels | | create_ticket | Create a ticket (task) within a project | | update_ticket | Update ticket properties | | move_ticket | Move ticket to different status column | | delete_ticket | Delete a ticket | | Board | | | get_board | Get full Kanban board grouped by status | | Subtasks | | | create_subtask | Add a subtask to a ticket | | batch_create_subtasks | Add multiple subtasks to a ticket at once | | toggle_subtask | Toggle subtask completion | | delete_subtask | Remove a subtask from a ticket |

Example Prompts

Once the MCP is connected, you can talk to your AI assistant in high-level terms and let it figure out the breakdown:

I'm building a SaaS billing system. Set up the project and break the work
into tickets covering Stripe integration, usage metering, invoice generation,
and a customer billing portal. Prioritize accordingly.
I need to ship a password reset flow. Think through what's involved — API
endpoints, email templates, token handling, UI screens, tests — and create
tickets with subtasks for each piece.
Look at my board and figure out what's blocking progress. If anything in
"in progress" has been sitting there without subtasks, break it down into
concrete next steps.

Here's what that looks like — a project and tickets created entirely by an AI assistant via MCP:

Embedded Terminal

The web UI includes a built-in terminal. Click Terminal in the sidebar to open a full PTY shell with color support and a resizable panel. Run opencode, claude, or any command directly from the browser.

The agent shares the same SQLite database via MCP, so tickets it creates show up on your board immediately.

Data Storage

All data is stored in a SQLite database at:

  • macOS: ~/Library/Application Support/taskboard/taskboard.db
  • Linux: ~/.config/taskboard/taskboard.db

Migrations run automatically on first start.

Custom Database Path

Use --db to point any command at a different database file:

taskboard --db /path/to/other.db start
taskboard --db /path/to/other.db mcp
taskboard --db /path/to/other.db ticket list

Clearing Data

To wipe all projects, tickets, teams, and labels while keeping the schema intact:

taskboard clear        # prompts for confirmation
taskboard clear -f     # skip confirmation

This also respects --db, so you can clear a specific database file:

taskboard --db /tmp/test.db clear -f

Tech Stack

| Layer | Technology | | ------------ | --------------------------------------------------- | | Language | Go | | Database | SQLite (via modernc.org/sqlite, pure Go) | | CLI | cobra | | HTTP | chi | | Frontend | React, TypeScript, Tailwind CSS v4, dnd-kit | | Terminal | xterm.js, gorilla/websocket, creack/pty | | MCP | JSON-RPC over stdio | | Distribution | Single binary with embedded frontend via embed.FS |

Development

# Run backend (serves API on :3010)
go run ./cmd/taskboard start

# Run frontend dev server (proxies API to :3010)
cd web && npm run dev

# Build everything
make build

# Clean
make clean

Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

License

[MIT](LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.