Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
AI assistant access to PicoCalc MicroPython hardware over USB.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"picocalc": {
"command": "uvx",
"args": [
"picocalc-mcp"
]
}
}
}Run this in your terminal
claude mcp add picocalc -- uvx picocalc-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"picocalc": {
"command": "uvx",
"args": [
"picocalc-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"picocalc": {
"type": "stdio",
"command": "uvx",
"args": [
"picocalc-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account LofiFren, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Cape Winelands Visit Planner
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cape Winelands wine farm finder and day-route planner
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A MicroPython firmware and script collection for the Clockwork Pi PicoCalc handheld device, powered by the Raspberry Pi Pico 2W. Features:
MicroPython/firmware/picocalc_micropython_pico2w.uf2 to that drive.The easiest way -- a local web UI that handles everything:
python3 MicroPython/tools/dashboard.py
This opens a browser dashboard where you can:
.py files to uploadFirst run will prompt to install
mpremoteif needed. Requires Python 3.7+.
Adding new files: Scripts in
modules/andsd/py_scripts/are auto-discovered by the dashboard. Root-level files (likeboot.py) must be added toFILE_MAPindashboard.pyto appear.
Let your AI coding assistant talk directly to the PicoCalc -- write code, push it, test on device, iterate, all from the AI conversation.
MCP Server (Recommended)
MCP gives AI tools native access to the device with no dashboard running. Install from PyPI:
pip install picocalc-mcp
Then add to your .mcp.json or Claude Desktop config:
{
"mcpServers": { "picocalc": { "command": "picocalc-mcp" } } }
Or run directly from the repo: "args": ["/path/to/PicoCalc/mcp/mcp_server.py"]
Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible tool. Full setup guide: [MCP_README.md](mcp/MCP_README.md)
See it in action: MCP & Dashboard Demo
Claude Code Skills (Optional)
For Claude Code users, the code-skills repo provides PicoCalc-specific skills that teach the AI how to write correct apps, use the hardware APIs, review code, and handle device operations. The MCP server gives the AI hands to interact with the device; the skills give it the knowledge to build for it.
# With skill-deployer installed, just paste a URL:
"install this skill https://github.com/LofiFren/code-skills/tree/main/skills/picocalc-app"
Dashboard REST API (Legacy)
If you already have the dashboard running, AI tools can also use its HTTP endpoints:
curl -s http://localhost:8265/api/device # Device status
curl -s -X POST http://localhost:8265/api/exec -H 'Content-Type: application/json' \ -d '{"code": "print(1+1)"}' # Run Python on device curl -s -X POST http://localhost:8265/api/push -H 'Content-Type: application/json' \ -d '{"file": "sd/py_scripts/my_app.py"}' # Push file to device curl -s "http://localhost:8265/api/diff?file=sd/py_scripts/synth.py" # Diff local vs device curl -s -X POST http://localhost:8265/api/eject # Safe disconnect
All endpoints: /api/device, /api/exec, /api/push, /api/pull, /api/files, /api/diff, /api/local/tree, /api/eject, /api/reset, /api/cleanup
Use Thonny, mpremote, or rshell to copy files to the Pico's internal flash.
Copy these to the Pico root (`/`):
MicroPython/boot.py --> /boot.py
MicroPython/main.py --> /main.py MicroPython/modules/ --> /modules/ (entire directory)
Copy SD card scripts:
MicroPython/sd/py_scripts/*.py --> SD card /py_scripts/
Do NOT copy these to the device (they run on your computer, not the PicoCalc):
tools/ <-- Dashboard web UI (runs on your computer)
picocalcdisplay/ <-- C source, compiled into firmware vtterminal/ <-- C source, compiled into firmware firmware/ <-- UF2 images and Dockerfile
py_scripts folder on the SD card..py files from MicroPython/sd/py_scripts/ into that folder.Or use the Dashboard -- click Deploy Scripts to push all scripts to the SD card over USB.
Power cycle the PicoCalc. The boot splash shows initialization progress, then the main menu appears with arrow-key navigation.
MicroPython/
|-- boot.py --> Copy to device / |-- main.py --> Copy to device / (launches menu) |-- boot_thonny.py --> Deploy as /boot.py for Thonny users |-- boot_dev.py --> Deploy as /boot.py for dev mode (REPL only) |-- cleanup.py --> (Optional) one-time cleanup, or use dashboard Cleanup button |-- modules/ --> Copy to device /modules/ | |-- picocalc.py Hardware abstraction (display + keyboard) | |-- vt.py VT100 terminal emulator | |-- py_run.py Categorized app menu (auto-hides libraries) | |-- enhanced_sd.py SD card initialization | |-- picocalc_system.py System utilities | |-- sdcard.py SD card driver | |-- checksd.py SD card verification | |-- pye.py Built-in text editor | |-- colorer.py Terminal color support | |-- default_style.py Syntax highlighting styles | |-- highlighter.py Code syntax highlighting | |-- flush.py Module cache flushing | \-- mkdir.py Directory creation utility |-- sd/py_scripts/ --> Copy contents to SD card /py_scripts/ | |-- tetris.py Tetris with sound effects | |-- snake.py Snake with high scores | |-- synth.py 4-instrument synthesizer with piano keyboard | |-- strudel.py Strudel mini-notation parser + sequencer (library) | |-- strudel_live.py Live-coding music UI (color themes, playhead) | |-- strudel_demo.py Interactive tutorial: learn the mini-notation | |-- ProxiScan.py BLE proximity scanner & fox hunt tool | |-- WiFiManager.py WiFi scanning & connection manager | |-- picocalc_ollama.py Local LLM client (Ollama) | |-- brad.py WiFi utility library | |-- demo.py Visual display showcase (grayscale, animation) | \-- editor.py On-device file browser + code editor |-- sd/samples/ --> Copy to SD card /samples/ (Strudel drum kit) | \-- bd/sd/hh/cp.raw 8-bit PCM one-shots for the picosampler engine |-- firmware/ Prebuilt UF2 firmware images | |-- picocalc_micropython_pico2w.uf2 (v1.25.0, stable) | |-- picocalc_v127_pico2w.uf2 (v1.27.0, patched) | |-- picocalc_v128_pico2w.uf2 (v1.28.0, native USB + audio engine) | |-- Dockerfile Build for v1.25.0 | |-- Dockerfile.v127 Build for v1.27.0 + USB fix | |-- Dockerfile.v128 Build for v1.28.0 (no USB patch) | \-- USB_REGRESSION_FIX.md RP2350 USB bug report |-- micropython.cmake Top-level build config for C modules |-- picocalcdisplay/ C display driver (compiled into firmware) | |-- picocalcdisplay.c | |-- picocalcdisplay.h | |-- font6x8e500.h | \-- micropython.cmake |-- vtterminal/ C terminal emulator (compiled into firmware) | |-- vtterminal.c | |-- vtterminal.h | |-- font6x8.h | \-- micropython.cmake |-- picosampler/ C audio engine (DMA-PWM sampler, compiled in) | |-- picosampler.c 8-voice 8-bit PCM mixer, stereo PWM out | |-- micropython.cmake | |-- make_samples.sh wav -> 8-bit PCM converter (ffmpeg) | \-- generate_drums.py synthesize a starter drum kit (no deps) |-- tools/ Development tools | |-- dashboard.py Web UI server (run this!) | |-- bottle.py Vendored web framework (zero install) | \-- static/ | |-- index.html Dashboard frontend | \-- vendor/ CodeMirror editor (vendored, offline) mcp/ MCP server for AI assistants |-- mcp_server.py MCP server (pip install picocalc-mcp or run directly) \-- MCP_README.md Full setup guide
| App | Description | |
|---|---|---|
| Tetris | Classic Tetris with 7 pieces, ghost piece, sound effects, level progression | |
| Snake | Snake with high score tracking, speed levels, sound | |
| [Synth](SYNTH.md) | 4-instrument synthesizer (Piano, Organ, Strings, Synth) with QWERTY piano keyboard, ADSR envelope, arpeggiator, 16-step sequencer, LFO effects, presets | |
| Strudel Live | On-device Strudel live-coding: type mini-notation patterns (bd*4 , ~ sd ~ sd , hh*8) with per-layer effects (`\ | lpf 600 r 40), hear them update live through the native picosampler` audio engine (resonant lpf/hpf + ADSR), sweeping playhead, 5 color themes (SonicPink, Dracula, Monokai, Nord, Terminal) |
| Strudel Basics | Interactive color tutorial -- 11 lessons that teach the mini-notation (sequences, *, [], <>, euclid, layering) and effects (filters, envelope) with a syntax-colored pattern, a live rhythm timeline, and audio. A fun way to learn before jumping into Strudel Live | |
| ProxiScan | BLE proximity scanner, fox hunt tool with compass, signal tracking, competition timer, waypoints, antenna calibration | |
| WiFiManager | WiFi scanner with VT100 UI, signal bars, channel analysis, signal monitor | |
| SSH Client | Secure shell client -- ECDH-SHA2-NISTP256 key exchange, AES-128-CTR + HMAC-SHA2-256 encryption, RSA host key verification (TOFU), saved connection profiles with PIN-encrypted passwords, interactive VT100 terminal (53x40) | |
| SSH Server | SSH *into* the PicoCalc for a MicroPython REPL -- ECDH-SHA2-NISTP256 key exchange, ECDSA-nistp256 host key, AES-128-CTR + HMAC-SHA2-256, password (salted-hash) and public-key (authorized_keys) auth | |
| Ollama Client | Chat with local LLMs over WiFi via Ollama | |
| Demo | Visual display showcase: grayscale palette, bouncing boxes, scrolling gradient, device info |
| Editor | On-device file browser and code editor -
Only the beginning is shown; read the rest in the repo