claudeers.

🔓 unclaimed — this page was auto-generated from GitHub. Are you the creator?

Claim this page →
// MCP Servers

kan

The open source Trello alternative.

// MCP Servers[ cli ][ api ][ desktop ][ web ][ claude ]#claude#better-auth#drizzle-orm#nextjs#open-source#tailwindcss#trpc#turborepo#mcp-serversAGPL-3.0$open-sourceupdated 15 days ago
Actively maintained
100/100
last commit 9 days ago
last release 10 days ago
releases 26
open issues 92
// install
{
  "mcpServers": {
    "kan": {
      "command": "npx",
      "args": ["-y", "https://github.com/kanbn/kan"]
    }
  }
}

github-background

Kan

The open-source project management alternative to Trello.

Roadmap · Website · Docs · Discord

Features 💫

  • 👁️ Board Visibility: Control who can view and edit your boards
  • 🤝 Workspace Members: Invite members and collaborate with your team
  • 🚀 Trello Imports: Easily import your Trello boards
  • 🔍 Labels & Filters: Organise and find cards quickly
  • 💬 Comments: Discuss and collaborate with your team
  • 📝 Activity Log: Track all card changes with detailed activity history
  • 🎨 Templates : Save time with reusable custom board templates
  • ⚡️ Integrations (coming soon) : Connect your favourite tools

See our roadmap for upcoming features.

Screenshot 👁️

hero-dark

Made With 🛠️

Self Hosting 🐳

One-click Deployments

The easiest way to deploy Kan is through Railway. We've partnered with Railway to maintain an official template that supports the development of the project.

Deploy on Railway

Docker Compose

Alternatively, you can self-host Kan with Docker Compose. This will set up everything for you including your postgres database and automatically run migrations.

  1. Create a .env file with your environment variables (see Environment Variables section below)

  2. Use the provided docker-compose.yml file or create your own with the following configuration:

services:
  migrate:
    image: ghcr.io/kanbn/kan-migrate:latest
    container_name: kan-migrate
    networks:
      - kan-network
    environment:
      - POSTGRES_URL=${POSTGRES_URL}
    depends_on:
      postgres:
        condition: service_healthy
    restart: "no"

  web:
    image: ghcr.io/kanbn/kan:latest
    container_name: kan-web
    ports:
      - "${WEB_PORT:-3000}:3000"
    networks:
      - kan-network
    env_file:
      - .env
    environment:
      - NEXT_PUBLIC_BASE_URL=${NEXT_PUBLIC_BASE_URL}
      - BETTER_AUTH_SECRET=${BETTER_AUTH_SECRET}
      - POSTGRES_URL=${POSTGRES_URL}
      - NEXT_PUBLIC_ALLOW_CREDENTIALS=true
    depends_on:
      migrate:
        condition: service_completed_successfully
    restart: unless-stopped

  postgres:
    image: postgres:15
    container_name: kan-db
    environment:
      - POSTGRES_DB=kan_db
      - POSTGRES_USER=kan
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    ports:
      - 5432:5432
    volumes:
      - kan_postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U kan -d kan_db"]
      interval: 5s
      timeout: 5s
      retries: 10
    restart: unless-stopped
    networks:
      - kan-network

networks:
  kan-network:

volumes:
  kan_postgres_data:
  1. Start the containers in detached mode:
docker compose up -d

The migrate service will automatically run database migrations before the web service starts. The application will be available at http://localhost:3000 (or the port specified in WEB_PORT).

Managing containers:

  • To stop the containers: docker compose down
  • To view logs: docker compose logs -f
  • To view logs for a specific service: docker compose logs -f web or docker compose logs -f migrate
  • To restart the containers: docker compose restart
  • To rebuild after code changes: docker compose up -d --build

For the complete Docker Compose configuration with all optional features, see docker-compose.yml in the repository.

Local Development 🧑‍💻

  1. Clone the repository (or fork)
git clone https://github.com/kanbn/kan.git
  1. Install dependencies
pnpm install
  1. Copy .env.example to .env and configure your environment variables
  2. Migrate database
pnpm db:migrate
  1. Start the development server
pnpm dev

Environment Variables 🔐

VariableDescriptionRequiredExample
POSTGRES_URLPostgreSQL connection URLTo use external databasepostgres://user:pass@localhost:5432/db
REDIS_URLRedis connection URLFor rate limiting (optional)redis://localhost:6379 or redis://redis:6379 (Docker)
EMAIL_FROMSender email addressFor Email"Kan <[email protected]>"
SMTP_HOSTSMTP server hostnameFor Emailsmtp.resend.com
SMTP_PORTSMTP server portFor Email465
SMTP_USERSMTP username/emailNoresend
SMTP_PASSWORDSMTP password/tokenNore_xxxx
SMTP_SECUREUse secure SMTP connection (defaults to true if not set)For Emailtrue
SMTP_REJECT_UNAUTHORIZEDReject invalid certificates (defaults to true if not set)For Emailfalse
NEXT_PUBLIC_DISABLE_EMAILTo disable all email featuresFor Emailtrue
NEXT_PUBLIC_BASE_URLBase URL of your installationYeshttp://localhost:3000
NEXT_API_BODY_SIZE_LIMITMaximum API request body size (defaults to 1mb)No50mb
BETTER_AUTH_ALLOWED_DOMAINSComma-separated list of allowed domains for OIDC loginsFor OIDC/Social loginexample.com,subsidiary.com
BETTER_AUTH_SECRETAuth encryption secretYesRandom 32+ char string
BETTER_AUTH_TRUSTED_ORIGINSAllowed callback originsNohttp://localhost:3000,http://localhost:3001
GOOGLE_CLIENT_IDGoogle OAuth client IDFor Google loginxxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRETGoogle OAuth client secretFor Google loginxxx
DISCORD_CLIENT_IDDiscord OAuth client IDFor Discord loginxxx
DISCORD_CLIENT_SECRETDiscord OAuth client secretFor Discord loginxxx
GITHUB_CLIENT_IDGitHub OAuth client IDFor GitHub loginxxx
GITHUB_CLIENT_SECRETGitHub OAuth client secretFor GitHub loginxxx
OIDC_CLIENT_IDGeneric OIDC client IDFor OIDC loginxxx
OIDC_CLIENT_SECRETGeneric OIDC client secretFor OIDC loginxxx
OIDC_DISCOVERY_URLOIDC discovery URLFor OIDC loginhttps://auth.example.com/.well-known/openid-configuration
TRELLO_APP_API_KEYTrello app API keyFor Trello importxxx
TRELLO_APP_API_SECRETTrello app API secretFor Trello importxxx
S3_REGIONS3 storage regionFor file uploadsWEUR
S3_ENDPOINTS3 endpoint URLFor file uploadshttps://xxx.r2.cloudflarestorage.com
S3_ACCESS_KEY_IDS3 access keyFor file uploads (optional with IRSA)xxx
S3_SECRET_ACCESS_KEYS3 secret keyFor file uploads (optional with IRSA)xxx
S3_FORCE_PATH_STYLEUse path-style URLs for S3For file uploadstrue
S3_AVATAR_UPLOAD_LIMITMaximum avatar file size in bytesFor file uploads2097152 (2MB)
NEXT_PUBLIC_STORAGE_URLStorage service URLFor file uploadshttps://storage.kanbn.com
NEXT_PUBLIC_STORAGE_DOMAINStorage domain nameFor file uploadskanbn.com
NEXT_PUBLIC_USE_VIRTUAL_HOSTED_URLSUse virtual-hosted style URLs (bucket.domain.com)For file uploads (optional)true
NEXT_PUBLIC_AVATAR_BUCKET_NAMES3 bucket name for avatarsFor file uploadsavatars
NEXT_PUBLIC_ATTACHMENTS_BUCKET_NAMES3 bucket name for attachmentsFor file uploadsattachments
NEXT_PUBLIC_ALLOW_CREDENTIALSAllow email & password loginFor authenticationtrue
NEXT_PUBLIC_DISABLE_SIGN_UPDisable sign upFor authenticationfalse
NEXT_PUBLIC_WHITE_LABEL_HIDE_POWERED_BYHide “Powered by kan.bn” on public boards (self-host)For white labellingtrue
KAN_ADMIN_API_KEYAdmin API key for stats and admin endpointsFor admin/monitoringyour-secret-admin-key
LOG_LEVELLog verbosity level (debug, info, warn, error)No (defaults to debug in dev, info in prod)info

See .env.example for a complete list of supported environment variables.

MCP Server (AI Control) 🤖

Kan ships with a Model Context Protocol (MCP) server that lets any MCP-compatible AI client — GitHub Copilot, Claude Desktop, Cursor, Codex, and others — read and control your Kan instance using natural language.

Prerequisites

  • Node.js 18+
  • A running Kan instance (self-hosted or cloud)
  • A Kan API key (Settings → API Keys → Create key)

Installation

You do not need to clone this repository. The recommended way is to use npx, which runs the server on-demand and always uses the latest version — no global install required:

npx -y @kan/mcp

Alternatively, install it globally:

npm install -g @kan/mcp
kan-mcp

Configuration

The server is configured via two environment variables:

VariableDescriptionExample
KAN_BASE_URLBase URL of your Kan instancehttps://your-kan.example.com
KAN_API_TOKENAPI key from your Kan user settingskan_xxxxxxxxxxxx

GitHub Copilot (VS Code)

Add the following to your VS Code mcp.json (open it via MCP: Open User MCP Configuration from the Command Palette):

{
  "servers": {
    "kan": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@kan/mcp"],
      "env": {
        "KAN_BASE_URL": "https://your-kan-instance.com",
        "KAN_API_TOKEN": "kan_your_api_key_here"
      }
    }
  }
}

Then use Copilot in Agent mode to interact with Kan.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "kan": {
      "command": "npx",
      "args": ["-y", "@kan/mcp"],
      "env": {
        "KAN_BASE_URL": "https://your-kan-instance.com",
        "KAN_API_TOKEN": "kan_your_api_key_here"
      }
    }
  }
}

Cursor / Codex / other clients

Use the same command + args + env pattern above — all MCP stdio clients follow the same format.

Example prompts

Once connected, you can ask your AI assistant things like:

Browsing

  • "List all my workspaces"
  • "Show me all boards in the Marketing workspace"
  • "What cards are in the Backlog list of the Q3 Planning board?"
  • "Get the full details of card X including comments and checklists"

Managing cards

  • "Create a card called 'Fix login bug' in the To Do list of the Dev board"
  • "Move the 'API redesign' card to the In Progress list"
  • "Set a due date of next Friday on the 'Write docs' card"
  • "Add a comment to the 'Deploy to prod' card saying the deployment is blocked"
  • "Duplicate the 'Sprint template' card into the new Sprint 4 list"
  • "Mark the 'Setup CI' checklist item as complete"

Organisation

  • "Add the 'urgent' label to all cards assigned to me in the Backend board"
  • "Create a 'Release checklist' checklist on the v2.0 card with items: smoke test, update changelog, tag release"
  • "What tasks are assigned to @alice in the Mechanics Rework board?"

Workspace management

  • "Create a new workspace called 'Client Projects'"
  • "Invite [email protected] to the Marketing workspace as a member"
  • "Create a new board called 'Sprint 5' in the Dev workspace with lists: Backlog, In Progress, Done"
  • "Search for anything related to 'authentication' across the Dev workspace"

Available tools

The MCP server exposes 46 tools across 7 resource types:

ResourceTools
Workspaceslist, find by name, get, create, update, delete, search, check slug
Boardslist, find by name, get, get by slug, create, update, delete
Listscreate, update, delete
Cardscreate, get, update, delete, duplicate, get activities
Card interactionsadd/update/delete comment, toggle label, toggle member
Checklistscreate, update, delete, create item, update item, delete item
Labelsget, create, update, delete
Membersinvite, remove, update role, manage invite links

Contributing 🤝

We welcome contributions! Please read our contribution guidelines before submitting a pull request.

Contributors 👥

kan

Sponsors ❤️

image

Proudly sponsored by TestMu AI (formerly LambdaTest) - an AI-native testing cloud platform built for modern engineering teams. Covering everything from autonomous test creation and fast execution to testing AI agents like chatbots and voice assistants. If you're serious about testing, go check them out.

License 📝

Kan is licensed under the AGPLv3 license.

Contact 📧

For support or to get in touch, please email [email protected] or join our Discord server.

// compatibility

Platformscli, api, desktop, web
Operating systems
AI compatibilityclaude
LicenseAGPL-3.0
Pricingopen-source
LanguageTypeScript

// faq

What is kan?

The open source Trello alternative.. It is open-source on GitHub.

Is kan free to use?

kan is open-source under the AGPL-3.0 license, so it is free to use.

What category does kan belong to?

kan is listed under devtools in the Claudeers registry of Claude-compatible tools.

0 views
5,139 stars
unclaimed
updated 15 days ago

// embed badge

kan on Claudeers
[![Claudeers](https://claudeers.com/api/badge/kan.svg)](https://claudeers.com/kan)

// retro hit counter

kan hit counter
[![Hits](https://claudeers.com/api/counter/kan.svg)](https://claudeers.com/kan)

// reviews

// guestbook

0/500

// related in MCP Servers

🔓

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete…

// mcp-serversf/HTML164,687NOASSERTION[ claude ]
🔓

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io

// mcp-serversfarion1231/Rust112,854MIT[ claude ]
🔓

An open-source AI agent that brings the power of Gemini directly into your terminal.

// mcp-serversgoogle-gemini/TypeScript105,729Apache-2.0[ claude ]
🔓

A collection of MCP servers.

// mcp-serverspunkpeye/90,251MIT[ claude ]

// built by

→ see how kan connects across the ecosystem