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.
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
LLM chat, text summarization and AI image generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/propfire11/mcp-stm32-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server