io.github.PICODEV-SAS/picodev-lab
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
Picodev Lab
Publisher-provided description
Arduino benches simulated in the browser: sessions, sketch push, simulation, tests, challenges.
Summary by lookupd
Lets agents open simulated Arduino benches in a browser, push code and circuits, run tests, and read captures and serial output.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http picodev-lab https://lab.picodev.fr/mcp
Codex, remote (streamable-http)
codex mcp add picodev-lab --url https://lab.picodev.fr/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"picodev-lab": {
"url": "https://lab.picodev.fr/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (23 tools)
Publisher-provided text
decode_captureDecode a ready logic capture of the session (browser or bench). protocol "uart" with channels {rx} and options {baud (300-1000000, 9600), bits (5-9, 8), parlist_setupsThe setups: status available (open_session works) or soon (listed, cannot be opened yet), their modes (free, challenge) and their benches by kind (status opopen_sessionCreate a session (mode: free or challenge). Give open_url to the human: nothing simulates until they open it in their browser.push_to_editorReplace the code in the human's browser and, if run, compile it in the lab's cloud and start it. The fallback of push_program: use it only when the toolchaipush_programSend a program compiled on the visitor's machine (Intel HEX text, 48 KiB at most, e.g. arduino-cli's <sketch>.ino.hex) to the human's browser, which loads iread_simulationLast state (with circuit, the browser's components and wires), last compilation and the events after since_ms (2000 at most). `serial` is the full serial ouset_visibilityChange the visibility (private, link, public). Returns the viewer link; current viewers are disconnected.queue_joinTake a place in the queue for benches of this kind (for example real or sim). The browser must be connected.queue_statusThe session's place: state none, waiting (position, estimated wait eta_s) or turn (bench, end of the turn ends_at, Unix seconds).queue_leaveGive back the place in the queue, or the turn if it has started.close_sessionEnd the session now, as when it expires: the place or turn ends, viewers and the browser are disconnected, everything is forgotten.session_statusThe session's state without its events, cheap enough to poll: browser connected (owner), visibility, current viewer link (not renewed), viewers, created_at andsubmit_answerChallenge mode: propose `value` as the answer of the current level's test `test` (an answer test of the level's brief). One answer per second at most. The hnext_levelChallenge mode: move to the next level, as the bench's "Next level" button, and only when it would be offered: every test of the current level passed and acapture_logicRecord every edge of the requested pins (probes of the setup sheet; by default the logic ones) for duration_ms (1 to 10 000 ms). In the browser's simulationcapture_analogSample the voltage of 1 to 4 board pins (the board's own numbers: Nano A0-A7 = 14-21, Uno A0-A5 = 14-19, Mega A0-A15 = 54-69; by default the setup's scope pread_captureState of a capture (recording, ready, failed) and its kind (logic, analog). Once ready, the measures per pin and, for a logic capture, the edges [t_us, pin,read_setupA served setup sheet (setup.json, files included; never a solution): board, components and wires (circuit), probes, levels (without their hints: hints comepush_circuitFree mode only: replace the circuit in the human's browser (the simulation stops). components: [{type, id, properties, x?, y?}] (the board is not a componenbench_snapshotDuring the session's turn on a real bench: a photo of the bench, as an image, and t_ms, the instant of the photo in ms since the start of the turn (null whespec_draftDraft the specification of the visitor's own project with Picodev's interview: you ask the visitor, this tool says what to ask next and makes the PDF. Nothing ibrief_submitSend Picodev the specification of the visitor's project, as a PDF, or only return its preview (send=false). sections: {id: text in simple Markdown}, ids enveloprequest_meetingSend Picodev a meeting request. contact: {name, email, company?, phone?}. context: the project in a few sentences (2000 characters at most): what the visitor wa
Details
- Version: 0.11.0
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 1002 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/PICODEV-SAS/picodev-lab-plugin
- Website: https://lab.picodev.fr
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.github.PICODEV-SAS/picodev-lab)
- 62071 servers
- Last crawl: 2026-11-11T16:39:06.253Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp