mcp-stm32-server
🔌 MCP STM32 Controller Server / MCP STM32 控制器服务器
Steuern Sie einen STM32-Mikrocontroller über das MCP (Model Context Protocol). KI-Assistenten können GPIO lesen/schreiben, eine LED steuern, ADC-Werte lesen und ein OLED ansteuern – alles über natürliche Sprache.
Steuern Sie einen STM32-Mikrocontroller über das MCP (Model Context Protocol). KI-Assistenten können die von diesem Dienst bereitgestellten Werkzeuge aufrufen, um die GPIOs des STM32 zu lesen und zu schreiben, eine LED zu steuern, ADC-Werte zu messen und den OLED-Bildschirm zu bedienen.
Architektur
AI Assistant (Claude) ←→ MCP Server (this program) ←→ UART ←→ STM32 firmwareDie Kommunikation verwendet ein JSON-Zeilen-Protokoll: ein JSON-Objekt pro Zeile, abgeschlossen durch \n.
Related MCP server: Serial MCP Server
Schnellstart
1. Abhängigkeiten installieren
pip install -r requirements.txt2. Hardware verbinden
STM32 USART1: PA9 (TX), PA10 (RX)
Verbinden Sie den Computer über ein USB-TTL-Modul mit dem PC
Flashen Sie die passende Firmware auf dem Gerät (implementieren Sie das unten beschriebene JSON-Zeilen-Protokoll)
3. Server starten
# auto-detect the serial port
python main.py
# specify a serial port
python main.py --port COM3
# SSE mode (HTTP service)
python main.py --sse --port COM3Werkzeuge
Werkzeug | Beschreibung | Argumente |
| prüft, ob der STM32 online ist | — |
| setzt die LED-Helligkeit |
|
| liest die aktuelle LED-Helligkeit | — |
| liest einen GPIO-Pegel |
|
| setzt einen GPIO-Pegel |
|
| liest einen ADC-Wert |
|
| leert den OLED-Bildschirm | — |
| zeigt Text auf dem OLED an |
|
Ressourcen
URI | Beschreibung |
| Verbindungsstatus, Port-Informationen, Laufzeit |
Konfiguration
Über Umgebungsvariablen oder Befehlszeilenargumente:
Argument | Umgebungsvariable | Standard | Beschreibung |
|
| automatische Erkennung | serielle Schnittstelle |
| — | 115200 | Baudrate |
| — | false | SSE-Modus |
| — | 8000 | SSE-Port |
Integration mit Claude Desktop
Bearbeiten Sie claude_desktop_config.json:
{
"mcpServers": {
"stm32": {
"command": "python",
"args": ["C:/path/to/mcp-stm32-server/main.py", "--port", "COM3"],
"env": {}
}
}
}Wire-Protokoll (JSON-Zeilen)
Jede Zeile ist ein eigenständiges JSON-Objekt. Die Firmware sendet einfach eine Antwort mit der passenden id zurück.
Anfrage:
{"id":1,"cmd":"set_led","args":{"brightness":75}}Erfolgreiche Antwort:
{"id":1,"status":"ok","data":{"brightness":75}}Fehlerantwort:
{"id":1,"status":"error","msg":"brightness must be 0-100"}Firmware-Vereinbarung: Auf jede eingehende Anfrage antworten Sie mit einer JSON-Zeile, die dieselbe id enthält sowie status ("ok" / "error") und entweder data oder msg. Boot-Log-Zeilen, die kein gültiges JSON sind, werden vom Client automatisch übersprungen.
Lizenz
MIT-Lizenz.
Architektur
AI 助手 (Claude) ←→ MCP Server (本程序) ←→ 串口 ←→ STM32 固件Die Kommunikation verwendet ein JSON-Zeilen-Protokoll: jede Zeile ist ein JSON-Objekt, abgeschlossen mit \n.
Schnellstart
1. Abhängigkeiten installieren
pip install -r requirements.txt2. Hardware verbinden
USART1 des STM32: PA9 (TX), PA10 (RX)
Verbindung zum Computer über ein USB-TTL-Modul herstellen
Die zugehörige Firmware, die das unten beschriebene JSON-Zeilen-Protokoll implementiert, auf dem Gerät flashen
3. Server starten
# 自动检测串口
python main.py
# 指定串口
python main.py --port COM3
# SSE 模式(HTTP 服务)
python main.py --sse --port COM3Werkzeugliste
Werkzeug | Beschreibung | Parameter |
| prüft, ob der STM32 online erreichbar ist | — |
| setzt die LED-Helligkeit |
|
| liest die LED-Helligkeit | — |
| liest einen GPIO-Pegel |
|
| setzt einen GPIO-Pegel |
|
| liest einen ADC-Wert |
|
| leert den OLED-Bildschirm | — |
| zeigt Text auf dem OLED an |
|
Ressourcen
URI | Beschreibung |
| Verbindungsstatus, Seriell-Port-Informationen, Laufzeit |
Konfiguration
Über Umgebungsvariablen oder Befehlszeilenargumente:
Parameter | Umgebungsvariable | Standard | Beschreibung |
|
| automatische Erkennung | serieller Port |
| - | 115200 | Baudrate |
| - | false | SSE-Modus |
| - | 8000 | SSE-Port |
Integration mit Claude Desktop
Bearbeiten Sie claude_desktop_config.json:
{
"mcpServers": {
"stm32": {
"command": "python",
"args": ["C:/path/to/mcp-stm32-server/main.py", "--port", "COM3"],
"env": {}
}
}
}Protokollformat (JSON-Zeilen)
Jede Zeile ist ein eigenständiges JSON-Objekt. Die Firmware muss nur eine JSON-Zeile mit derselben id zurücksenden.
Anfrage:
{"id":1,"cmd":"set_led","args":{"brightness":75}}Erfolgreiche Antwort:
{"id":1,"status":"ok","data":{"brightness":75}}Fehlerantwort:
{"id":1,"status":"error","msg":"brightness must be 0-100"}Firmware-Vereinbarung: Senden Sie zu jeder erhaltenen Anfrage eine JSON-Zeile mit derselben id, die status ("ok" / "error") enthält sowie entweder data oder msg. Nicht-JSON-Boot-Log-Zeilen werden vom Client automatisch übersprungen.
Lizenz
MIT-Lizenz.
This server cannot be deployed
Maintenance
Related MCP Connectors
AI electronics blueprint generator — BOM, wiring, firmware, renders for Arduino/ESP32/RPi.
Turns a phone into a camera+Bluetooth remote so AI assistants can see and control any PC.
Persistent memory, hybrid search and a goal graph for AI agents, over stdio or remote HTTP.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to control Arduino boards in real-time, allowing users to turn LEDs on and off through natural language commands using the Model Context Protocol and Firmata.12-
- AlicenseNot gradedqualityDmaintenanceEnables AI tools like Claude Code and Codex CLI to read and write serial port data, facilitating embedded development workflows such as coding, flashing, and debugging.19 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with STM32 development boards via J-Link debugger using RTT communication, supporting connection, logging, memory operations, and firmware flashing through natural language.121MIT
- FlicenseAqualityCmaintenanceEnables AI assistants to flash firmware, program memory, modify option bytes, erase chips, reset boards, and capture SWO printf traces for STM32 microcontrollers via STM32CubeCLT.12-