AgentStack
MCP verified MIT Self-run

Doska

mcp-romenkova-doska · by romenkova

A local-first Kanban board with Markdown cards. Runs in the browser or as a Tauri desktop app. Works offline, and syncs to a server you control.

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

Install

$ agentstack add mcp-romenkova-doska

✓ 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 Used
  • 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-romenkova-doska)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
yesterday

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Doska? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Doska

A Kanban board where the cards are Markdown. It's local-first: your boards live in the browser (IndexedDB), so it's fast and works without an account. Sync is opt-in. Point it at a server you run and that server keeps the canonical copy, replicated to every device.

Runs in the browser, installs as a PWA, or ships as a native macOS app.

> Browser storage isn't permanent. The app asks the browser not to evict it, but > that's best-effort: the browser can still clear it, and "clear site data" > always will. So treat local-only as a working copy. If the boards matter, run > a server and let it keep the durable one.

Features

Cards

  • Multiple boards, each with draggable columns. Drag cards to reorder or

move them between columns.

  • Cards are GitHub-flavored Markdown, edited in place: bold, code, links,

highlights, and task lists that carry a live count in the card header. A slash menu and inline suggestions for formatting.

  • Attach files by dropping them on a card or pasting from the clipboard;

images preview inline (requires S3 compatible bucket).

  • Tags: bracketed words become colored pills.
  • Cards link to cards (wikilink): type [[ and pick one.
  • Deadlines: set one and the card shows a chip that shifts color as the date

nears, turning red once it's overdue.

  • An Upcoming view gathers cards from every board by deadline: overdue ones

first, then grouped by day.

Where it lives

  • Local-first storage (IndexedDB): reads and writes hit the browser, not the

network, so the UI is instant and works offline.

  • Opt-in sync: give it a server you control and boards replicate across your

devices in the background, every couple of seconds or on +S.

  • Deleting is reversible. +Z takes back the last delete; everything

else waits in the trash.

Run it

  • Runs in the browser, installs as a PWA (fullscreen and offline from

your phone's home screen), or ships as a Tauri macOS app that reuses the same client and auto-updates.

  • One-line self-host installer that generates the secrets and brings the

stack up.

  • Boards are exposed over [MCP](#mcp), so an agent can read and edit them.
  • Dark and light themes.

Self-hosting

Run your own server to keep your boards for real and sync them across devices. Without one they live only in the browser: fine for trying it out, not for anything you want to keep.

curl -fsSL https://raw.githubusercontent.com/romenkova/doska/main/install.sh -o install.sh && sh install.sh

The installer asks for a login, password, and (optionally) a domain, generates the secrets for you, and brings the stack up. Re-run it any time to pull newer images — it keeps your existing .env.

Or set it up by hand

curl -O https://raw.githubusercontent.com/romenkova/doska/main/docker-compose.selfhost.yml
curl -o .env https://raw.githubusercontent.com/romenkova/doska/main/.env.selfhost.example
# edit .env — set AUTH_PASSWORD, AUTH_SECRET (e.g. `openssl rand -hex 32`),
# and BASE_URL (this server's public origin, e.g. http://:8080)
docker compose -f docker-compose.selfhost.yml up -d

Open the web UI at http://:8080 and sign in with the AUTH_LOGIN / AUTH_PASSWORD from your .env. To sync the desktop app, open its sync settings and set the server URL to the same address.

Postgres comes bundled and lives in a Docker volume. To run it elsewhere, point DATABASE_URL at a managed instance instead.

  • WEB_PORT — host port for the web UI (default 8080).
  • DOCKER_IMAGE_TAG — pin a release (e.g. 0.4.0) instead of latest.
  • DATABASE_URL — point at your own managed Postgres (optional).
  • BASE_URL — this server's public origin. Cookie sync works without it; MCP

OAuth needs it.

> Single user per server: the credentials in .env are the only account currently.

Deploying with Dokploy? Use docker-compose.dokploy.yml.

HTTPS

For a public deployment, set DOMAIN in .env (point its DNS at the host first), set BASE_URL=https://$DOMAIN, and start with the https profile. A bundled Caddy proxy fetches and auto-renews a Let's Encrypt certificate:

docker compose -f docker-compose.selfhost.yml --profile https up -d

Backups

If your boards live in the bundled Postgres, dump it to ./backups/ any time:

./backup.sh

install.sh also runs this automatically before it redeploys over an existing database. Restore a dump with:

gunzip -c backups/doska-XXXX.sql.gz | \
  docker compose -f docker-compose.selfhost.yml exec -T db psql -U doska doska

(If you use a managed DATABASE_URL, back it up through your provider instead — backup.sh skips it.)

Desktop app

Download the latest macOS build from Releases. It wraps the same client (with Tauri) and auto-updates.

> macOS builds aren't notarized yet, so on first launch clear the quarantine > flag: xattr -dr com.apple.quarantine /Applications/Doska.app.

MCP

The server exposes your boards to an MCP client (Claude Code, Claude Desktop, claude.ai) at /mcp, so an agent can read and edit them — create cards, tick off task lists, move things between columns:

claude mcp add --transport http doska https://your-server/mcp

Sign-in happens in the browser on the first call (OAuth). Edits go through the same sync tables the apps use, so they reach your other devices on their next sync. Tools are listed in [packages/mcp/README.md](packages/mcp/README.md).

Development

Requires Node 22+ and pnpm 11+ (see .nvmrc / package.json engines).

pnpm install
pnpm dev        # web client + server, in watch mode
pnpm desktop    # native desktop shell (Tauri)

The client dev server proxies the sync API to the local server, so sync works end to end with no extra setup.

| Command | What it does | | ----------------- | -------------------------------- | | pnpm build | Build all web/server packages. | | pnpm lint | Lint all packages. | | pnpm type-check | Type-check all packages. | | pnpm format | Prettier-format the repo. | | pnpm e2e | Run Playwright end-to-end tests. |

License

See [LICENSE](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.