accueil / serveurs / Dev & Code / io.github.akshatnerella/arduino-mcp-server
io.github.akshatnerella/arduino-mcp-server
serveur MCP (Model Context Protocol)
Aucun comportement malveillant détecté au test comportemental.
Est-ce que io.github.akshatnerella/arduino-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.akshatnerella/arduino-mcp-server » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Versions auditées & empreintes
Vérifiez la version que vous utilisez : son empreinte doit correspondre à celle listée ici — sinon vous n'utilisez pas la version auditée.
⚠ La dernière version publiée (0.2.8) n'a pas encore été auditée. Un nouveau pentest est programmé ; les verdicts ci-dessous portent sur les versions listées.
Vous utilisez ce serveur ? Suivez-le (créez un compte) pour être alerté dès qu'une nouvelle version paraît ou que le verdict change.
Les 21 outils
- list_connected_boards≈ 42 tokens
List connected boards and serial ports detected by arduino-cli.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_connected_boards", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - arduino_cli_doctor≈ 50 tokens
Check whether arduino-cli is available and return OS-specific installation instructions if missing.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "arduino_cli_doctor", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - install_arduino_cli≈ 145 tokens
Attempt to install arduino-cli for the current OS using available package managers, then verify and configure CLI path.
Paramètres, retour & exemple (2)
Paramètresmethod· string · optionnel · auto | winget | choco | brew | script
Install method. Default `auto` tries OS-relevant methods in order.setCliPathInProcess· boolean · optionnel
If true (default), set ARDUINO_CLI_PATH in this MCP process after install.
Exemple d'appel{"name": "install_arduino_cli", "arguments": {"method": "auto", "setCliPathInProcess": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_supported_boards≈ 80 tokens
List supported/installable boards from the local arduino-cli index.
Paramètres, retour & exemple (1)
Paramètressearch· string · optionnel
Optional case-insensitive filter for name/FQBN.
Exemple d'appel{"name": "list_supported_boards", "arguments": {"search": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - ensure_core_installed≈ 133 tokens
Ensure the Arduino core required by a board FQBN is installed. Can auto-install via `arduino-cli core install`.
Paramètres, retour & exemple (3)
Paramètresfqbn· string · optionnel
Board FQBN, e.g. arduino:avr:uno.coreId· string · optionnel
Core ID, e.g. arduino:avr.autoInstall· boolean · optionnel
If true (default), install missing core automatically.
Exemple d'appel{"name": "ensure_core_installed", "arguments": {"fqbn": "texte", "coreId": "texte", "autoInstall": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - detect_hardware≈ 126 tokens
Detect connected Arduino-compatible hardware, infer board/FQBN candidates, and generate next compile/upload commands.
Paramètres, retour & exemple (2)
Paramètresport· string · optionnel
Optional exact port filter, e.g. COM6 or /dev/ttyACM0.includeBoardDetails· boolean · optionnel
If true, query `arduino-cli board details` for selected FQBN candidates.
Exemple d'appel{"name": "detect_hardware", "arguments": {"port": "texte", "includeBoardDetails": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_serial_ports≈ 50 tokens
List serial ports and any detected board metadata using arduino-cli. Works on Windows/macOS/Linux.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_serial_ports", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - compile_sketch≈ 221 tokens
Compile an Arduino sketch with a specific board FQBN.
Paramètres, retour & exemple (7)
Paramètresfqbn· string · requis
Board FQBN, e.g. arduino:avr:uno.clean· boolean · optionnel
If true, clean build cache before compile.warnings· string · optionnel · none | default | more | allbuildPath· string · optionnel
Optional build output directory.sketchPath· string · requis
Path to sketch folder or .ino file.exportBinaries· boolean · optionnel
If true, export binaries into sketch folder.autoInstallCore· boolean · optionnel
If true (default), auto-install missing board core before compile.
Exemple d'appel{"name": "compile_sketch", "arguments": {"fqbn": "texte", "sketchPath": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upload_sketch≈ 449 tokens
Upload a compiled sketch to a connected board/port.
Paramètres, retour & exemple (7)
Paramètresfqbn· string · optionnel
Optional board FQBN when auto-detect is insufficient.port· string · requis
Serial port path, e.g. COM6 or /dev/ttyACM0.verify· boolean · optionnel
Verify uploaded binary when supported.sketchPath· string · requis
Path to sketch folder or .ino file.safetyContext· object · optionnel
Optional electrical context for preflight checks.autoInstallCore· boolean · optionnel
If true (default), auto-install missing board core when fqbn is provided.unsafeSkipPreflight· boolean · optionnel
If true, bypasses safety_preflight checks. Use only when user explicitly accepts risk.
Exemple d'appel{"name": "upload_sketch", "arguments": {"port": "texte", "sketchPath": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - upload_and_wait_ready≈ 548 tokens
Upload a sketch and wait for a serial readiness pattern, handling post-upload reset/re-enumeration windows.
Paramètres, retour & exemple (11)
Paramètresfqbn· string · optionnel
Optional board FQBN when auto-detect is insufficient.port· string · requis
Serial port path, e.g. COM6 or /dev/ttyACM0.verify· boolean · optionnel
Verify uploaded binary when supported.sketchPath· string · requis
Path to sketch folder or .ino file.readyPattern· string · optionnel
Optional serial text pattern to wait for after upload.readyBaudRate· integer · optionnel
Baud rate for readiness check. Default 115200.safetyContext· object · optionnelreadyTimeoutMs· integer · optionnel
How long to wait for readyPattern.autoInstallCore· boolean · optionnel
If true (default), auto-install missing board core when fqbn is provided.readyCaseSensitive· boolean · optionnel
If true, readiness matching is case-sensitive.unsafeSkipPreflight· boolean · optionnel
If true, bypasses safety_preflight checks. Use only when user explicitly accepts risk.
Exemple d'appel{"name": "upload_and_wait_ready", "arguments": {"port": "texte", "sketchPath": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read_serial_snapshot≈ 143 tokens
Capture serial output for a bounded duration from a given port.
Paramètres, retour & exemple (3)
Paramètresport· string · requis
Serial port path, e.g. COM6 or /dev/ttyACM0.baudRate· integer · optionnel
Baud rate. Default: 9600.durationMs· integer · optionnel
Capture duration in ms.
Exemple d'appel{"name": "read_serial_snapshot", "arguments": {"port": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - safety_preflight≈ 283 tokens
Run electrical preflight checks (voltage/current/pin risks) before upload or serial write operations.
Paramètres, retour & exemple (5)
Paramètresfqbn· string · optionnel
Board FQBN when known.port· string · optionnel
Optional port for automatic board inference.board· string · optionnel
Board name/id (preferred when known).power· object · optionnelwiring· array · optionnel
Exemple d'appel{"name": "safety_preflight", "arguments": {"fqbn": "texte", "port": "texte", "board": "texte", "power": {}, "wiring": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_open_session≈ 174 tokens
Open a stateful serial monitor session with port lock ownership.
Paramètres, retour & exemple (4)
Paramètresport· string · requis
Serial port path, e.g. COM6 or /dev/ttyACM0.ttlMs· integer · optionnel
Session lease TTL in ms.baudRate· integer · optionnel
Baud rate. Default: 9600.maxBufferBytes· integer · optionnel
Max in-memory receive buffer.
Exemple d'appel{"name": "serial_open_session", "arguments": {"port": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_list_sessions≈ 40 tokens
List active serial sessions and current port lock state.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "serial_list_sessions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_read≈ 156 tokens
Read buffered bytes from an open serial session.
Paramètres, retour & exemple (4)
Paramètresencoding· string · optionnel · utf8 | base64
Output encoding. Default: utf8.maxBytes· integer · optionnel
Maximum bytes to return.sessionId· string · requisfromOffset· integer · optionnel
Read offset cursor. Defaults to current buffer start.
Exemple d'appel{"name": "serial_read", "arguments": {"sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_expect≈ 142 tokens
Wait for a string pattern in a serial session buffer with timeout.
Paramètres, retour & exemple (5)
Paramètrespattern· string · requissessionId· string · requistimeoutMs· integer · optionnelfromOffset· integer · optionnel
Optional explicit cursor offset.caseSensitive· boolean · optionnel
Exemple d'appel{"name": "serial_expect", "arguments": {"pattern": "texte", "sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_write≈ 372 tokens
Write bytes to an open serial session. Safety preflight is enforced unless explicitly skipped.
Paramètres, retour & exemple (6)
Paramètresdata· string · requis
Payload to send.encoding· string · optionnel · utf8 | base64
Payload encoding. Default: utf8.sessionId· string · requislineEnding· string · optionnel · none | lf | crlf
Optional line ending append.safetyContext· object · optionnelunsafeSkipPreflight· boolean · optionnel
If true, bypasses safety_preflight checks. Use only with explicit user acceptance.
Exemple d'appel{"name": "serial_write", "arguments": {"data": "texte", "sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - serial_close_session≈ 66 tokens
Close a serial session and release its port lock.
Paramètres, retour & exemple (1)
ParamètressessionId· string · requis
Exemple d'appel{"name": "serial_close_session", "arguments": {"sessionId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_board_details≈ 80 tokens
Get detailed board metadata from arduino-cli for a specific FQBN.
Paramètres, retour & exemple (1)
Paramètresfqbn· string · requis
Board FQBN, e.g. arduino:avr:uno.
Exemple d'appel{"name": "get_board_details", "arguments": {"fqbn": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_board_reference≈ 40 tokens
List local board reference entries with pin/spec metadata.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_board_reference", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_board_reference≈ 72 tokens
Search local board reference by board name, alias, id, or FQBN.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Exemple d'appel{"name": "search_board_reference", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/io.github.akshatnerella--arduino-mcp-server)
<a href="https://dokore.fr/serveur/io.github.akshatnerella--arduino-mcp-server"><img src="https://dokore.fr/badge/io.github.akshatnerella--arduino-mcp-server.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».
Source
arduino-mcp-server@0.2.7