Server data from the Official MCP Registry
Remote MCP for Kanban AI boards—manage projects, tasks, and comments from AI tools.
Remote MCP for Kanban AI boards—manage projects, tasks, and comments from AI tools.
Remote endpoints: streamable-http: https://kanbanai.dev/api/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified · Requires authentication · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-orholam-kanban-ai": {
"url": "https://kanbanai.dev/api/mcp"
}
}
}From the project's GitHub README.
Transform your side projects from ideas to reality with AI-assisted project management.
Kanban AI is your personal AI-powered project companion that helps you build, track, and complete your side projects with intelligent guidance. Whether you're a developer looking to showcase new skills, an entrepreneur building your next SaaS, or a creator bringing ideas to life, Kanban AI provides the structure and support you need.
Requirements: Node.js 18+, npm, and an OpenAI API key if you want AI features.
One SQLite database under .local/ (gitignored), no Supabase account, no sign-in. The app talks to a small local API on port 3000; Vite proxies /api there (frontend/vite.config.ts).
git clone https://github.com/orholam/kanban_ai.git
cd kanban_ai/frontend
npm install
cp env.local.example .env.local
Edit .env.local: set OPENAI_API_KEY to your key. Leave VITE_LOCAL_MODE=true as in the example.
npm run dev:local
Open http://localhost:5173.
OPENAI_API_KEY behind the VITE_ prefix (that would ship it to the browser). The dev server reads it from .env.local.frontend/scripts/local-schema.sql. Account, hosted analytics, and in-app feedback are disabled in this mode (they need Supabase).collaborator@dev.invalid to test sharing (seeded in the local schema).Use this when you need real auth and cloud data.
frontend/.env.local (or .env): VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY, and VITE_LOCAL_MODE removed or not true.OPENAI_API_KEY as above for /api/openai.frontend/: npx vercel dev --listen 3000 then npm start. UI: http://localhost:5173.Add OPENAI_API_KEY in the Vercel project’s Environment Variables (Production and Preview as needed). The frontend/api/openai.ts handler reads it at runtime; no OpenAI key belongs in client env vars.
The app uses code-splitting; frontend/vercel.json sets long-lived caching for hashed /assets/* files and revalidation for HTML responses so open tabs pick up a fresh index.html after deploys. Lazy routes also retry once with a reload if a chunk fails to load (stale shell).
SEO prerender: npm run build in frontend/ runs a post-build Puppeteer step that snapshots public marketing routes (/, /blog, /blog/*, /docs, /docs/*, /login, etc.) into route-specific index.html files under dist/, so search engines receive full page HTML without executing JavaScript. Skip with SKIP_PRERENDER=1 or use npm run build:no-prerender for a faster local build only.
The home page randomly assigns variant A or B (persisted in localStorage). Preview either layout with /?variant=A or /?variant=B. Site owners compare CTA performance under Analytics → Landing page A/B test. When you change landing copy or layout, bump LANDING_AB_TEST_VERSION in frontend/src/lib/landingAbTest.ts so metrics stay comparable. See the documentation article for details.
Kanban AI exposes a remote MCP server at /api/mcp on your Vercel deployment. It talks directly to Supabase with the same board operations as the web app (projects, tasks, comments).
Discovery manifest: /.well-known/mcp-server — machine-readable metadata per draft-serra-mcp-discovery-uri (endpoint, auth, tools preview, setup links).
Vercel environment variables (Production + Preview):
| Variable | Purpose |
|---|---|
SUPABASE_URL | Your Supabase project URL (same value as VITE_SUPABASE_URL) |
SUPABASE_ANON_KEY | Supabase anon key (same value as VITE_SUPABASE_ANON_KEY) |
SUPABASE_SERVICE_ROLE_KEY | Service role key for MCP analytics events and project member invites (/api/invite-collaborator resolves email → user) |
MCP_API_SECRET | Shared secret clients must send in X-MCP-API-Key |
OPENAI_API_KEY | Already required for in-app AI (optional for MCP CRUD tools) |
End-user setup: sign in and open Connect AI (/connect). The app generates a ready-to-paste MCP config (token + API secret filled in server-side). Copy once, paste into Cursor or Claude Desktop, restart.
Operator setup: set MCP_API_SECRET on Vercel. Authenticated users fetch full config from GET /api/mcp-setup with their session bearer token.
Client auth: each MCP request must include:
X-MCP-API-Key: <MCP_API_SECRET> (when configured on the deployment)Authorization: Bearer <supabase_access_token> — the signed-in user's Supabase session access tokenCursor / Claude Desktop — use the JSON from /connect instead of hand-editing placeholders:
{
"mcpServers": {
"kanban-ai": {
"url": "https://your-deployment.vercel.app/api/mcp",
"headers": {
"X-MCP-API-Key": "...",
"Authorization": "Bearer ..."
}
}
}
}
For stdio-only clients, the Connect page provides a Claude Desktop JSON block using mcp-remote:
{
"mcpServers": {
"kanban-ai": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-deployment.vercel.app/api/mcp", "--header", "X-MCP-API-Key:your-secret", "--header", "Authorization:Bearer your-token"]
}
}
}
Available tools: list_projects, get_board, create_project, update_project, delete_project, create_task, update_task, delete_task, list_task_comments, add_task_comment, delete_task_comment.
The owner-only /analytics view includes landing page A/B results. Bump LANDING_AB_TEST_VERSION in frontend/src/lib/landingAbTest.ts whenever you materially change variant A or B so new traffic is tagged separately and the dashboard does not blend runs.
For variant B, logged-out visitors on / use a self-contained marketing header (the global app header is hidden so the layout can match the ClickUp-style hero). Variant A still uses the shared header.
frontend/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── contexts/ # React contexts
│ ├── lib/ # Utility libraries
│ ├── types/ # TypeScript type definitions
│ ├── api/ # API integration
│ └── assets/ # Static assets
├── public/ # Public assets
└── package.json
We welcome contributions! Please see our Contributing Guidelines for details.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Documentation: https://kanbanai.dev/docs
Issues: GitHub Issues
Discussions: GitHub Discussions
Hosted on Vercel for lightning-fast performance
Styled with Tailwind CSS for beautiful, responsive design
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.