ToonDeck
One deck for every agent — all your MCP tools, skills, models and API keys, configured once, running everywhere.
English | 简体中文
Status: pre-alpha. Works on your own machine; expect rough edges before a 1.0. Powered by mcptoon, which is pulled in automatically as a dependency.
| Vault — keys in your OS keychain, never on disk | Skills — one folder, synced to every agent |
|---|---|
Requirements
- Python 3.10 or newer
- Windows, macOS or Linux
- API keys live in your OS keychain (never in a plaintext file). On a headless Linux box you need a keychain service (GNOME Keyring / KWallet); without one, ToonDeck refuses to store a key rather than writing it to disk.
Install
From source — works today:
git clone https://github.com/activeing123/toondeck.git
cd toondeck
pip install .
toondeck # starts the local console and opens your browser
From PyPI — not published yet, so this currently fails:
pip install toondeck # coming soon
The web UI is shipped inside the package, so a source install needs no
node, no pnpm, and no build step.
What you get
| Page | What it does |
|---|---|
| MCP | every MCP server in one place: health, tools, toggle, sync to all agents |
| Skills | one skill folder, linked into every agent that supports skills |
| Agents | auto-detects installed coding agents, launches/stops them, sets their model and API source |
| Logs | live terminal for whatever the deck started |
| Vault | API keys per provider, stored in the OS keychain, with a real probe |
Development
# backend
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
pytest
# frontend (builds straight into src/toondeck/deck/api/webui, which is committed
# so installed copies carry their own UI — rebuild and commit together)
cd web && pnpm install && pnpm test && pnpm build
CI runs the backend and web suites on Linux plus a clean-room job that builds the wheel, installs it into a fresh virtualenv and proves the UI and the detection catalogs actually ship — the class of bug that local tests cannot see. Reproduce it locally before tagging:
python scripts/clean_room_check.py
Security
API keys never touch disk and never leave your machine — the full model and the private vulnerability reporting channel are in SECURITY.md.
Contributing
The short version: every fix ships with a gate, and the clean-room script is the boss. Details in CONTRIBUTING.md.
License: Apache-2.0
Release files for toondeck 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toondeck-0.2.0.tar.gz | 287.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toondeck-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 534.9 kB
Release files / toondeck-0.2.0.tar.gz
| Download URL | toondeck-0.2.0.tar.gz |
|---|---|
| Size | 287.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69a1079b28bb8b7058eee09381dc2f0ed932d963e3259d6f6095b44bdab0d4d1
|
|
BLAKE2b-256 checksum How to use checksums |
4c18d4b99677c4bbfd2d9e263ca3329704a09ff43c9d607677d626962fe59340
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / toondeck-0.2.0-py3-none-any.whl
| Download URL | toondeck-0.2.0-py3-none-any.whl |
|---|---|
| Size | 247.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7afa2a1a5c4c3d818f2c9a19718b675ae08d482c9b2fe6e285261df6cd808f3a
|
|
BLAKE2b-256 checksum How to use checksums |
42eeb783e0865ddc6563fd8975989bfa4ab4fb6863cfddf4607b67500058f750
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|