Cortex Board
FreeNot checkedKanban Board live from Markdown files — FastMCP server + FastAPI + Ionic app. Zero-config, md-native.
About
Kanban Board live from Markdown files — FastMCP server + FastAPI + Ionic app. Zero-config, md-native.
README
Cortex' Kanban board — backend and the Ionic app in one repo, served at one origin.
The board is projected live from ~/cortex/docs/tickets/*.md (Leo's single
ticket truth). There is no separate JSON store: every read re-parses the .md
files, every write edits one .md file.
~/cortex/docs/tickets/*.md ← truth (one .md per ticket)
│
tickets_source.py (status → column, projects the board)
┌───────┴────────┐
server.py api.py ──serves──> app/ (Ionic/Angular/Capacitor)
FastMCP (Claude) FastAPI (REST) builds to app/www
add/move/update/ GET /api/board
remove_ticket GET /api/board/{column}
Layout
tickets_source.py— parse + project the board from the ticket.mdfilesserver.py— MCP face for Claude (registered in~/.claude.jsonasboard, stdio)api.py— REST face + serves the built app at the same origin (systemd--userunitcortex-board-api, port 8930)app/— the Ionic/Angular/Capacitor app;cd app && npm install && npm run build→app/www
Run
python3 -m venv .venv && .venv/bin/pip install -e . # one-time
.venv/bin/python server.py # MCP (stdio, for Claude)
.venv/bin/python api.py # REST + app host, :8930
Truth dir overridable via CORTEX_TICKETS_DIR, API port via CORTEX_BOARD_PORT,
app build dir via CORTEX_BOARD_WWW (default repo-relative app/www).
Board-Agent (board tmux-Session)
A dedicated, generic Claude instance (Opus 4.7, bypass permissions = global default,
no special priming) that lives in this repo and does one thing: turn Telegram
/board messages into tickets. No system monitoring — that stays with the
Watchdog.
Telegram ──any update──▶ watchdog telegram_inbox (the ONLY getUpdates poller)
└─ append-only ──▶ ~/repos/watchdog/data/telegram_updates.jsonl
(one queue, raw updates, update_id = offset)
board-agent ──mcp__telegram-hub__telegram_poll(offset)──▶ filters `/board <text>` client-side
──mcp__board__add_ticket──▶ ~/cortex/docs/tickets/T-NN_*.md → column "new"
- The Watchdog's
daemon/telegram_inbox.pyis the Telegram hub: the single getUpdates poller. It no longer fans messages out — it writes every raw update append-only into ONE queue~/repos/watchdog/data/telegram_updates.jsonl({"update_id": N, "update": <raw>},update_id= monotonic offset). - The board-agent pulls that queue via the
telegram-hubMCP:mcp__telegram-hub__telegram_poll(offset)→{"updates": [...], "next_offset": N}(keep your own offset). It filters client-side: only messages whose text starts with/boardare board intake (prefix stripped); everything else is the Watchdog's. Atail -Fon the queue file is a pure wakeup; the structured read istelegram_poll. Each/boardline becomes a ticket via theboardMCP (add_ticket→T-NN_slug.md, statusnew).
Spawn:
tmux new-session -d -s board "cd ~/repos/cortex-board && claude --model opus"
Then hand it its mandate (create tickets from /board messages pulled via
telegram-hub, no system monitoring, style per ~/cortex/CLAUDE.md).
Installing Cortex Board
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/NG-Bullseye/cortex-boardFAQ
Is Cortex Board MCP free?
Yes, Cortex Board MCP is free — one-click install via Unyly at no cost.
Does Cortex Board need an API key?
No, Cortex Board runs without API keys or environment variables.
Is Cortex Board hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Cortex Board in Claude Desktop, Claude Code or Cursor?
Open Cortex Board on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Cortex Board with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
