mcp-stm32-server
🔌 MCP STM32 Controller Server / MCP STM32 コントローラサーバー
MCP(Model Context Protocol) を介して STM32 マイクロコントローラ を制御します。AI アシスタントは、GPIO の読み書き、LED の制御、ADC の読み取り、OLED の駆動を、すべて自然言語で行うことができます。
MCP(Model Context Protocol) プロトコルを介して STM32 マイクロコントローラ を制御します。AI アシスタントは、このサービスが提供するツールを呼び出して、STM32 の GPIO の読み書き、LED の制御、ADC の読み取り、OLED 画面の操作などを行うことができます。
アーキテクチャ
AI Assistant (Claude) ←→ MCP Server (this program) ←→ UART ←→ STM32 firmware通信には JSON-lines プロトコル を使用します。1 行に 1 つの JSON オブジェクトを置き、\n で終了します。
クイックスタート
1. 依存関係のインストール
pip install -r requirements.txt2. ハードウェアの接続
STM32 の USART1: PA9 (TX)、PA10 (RX)
USB-TTL モジュールを介して PC に接続する
デバイスに、後述の JSON-lines プロトコルを実装した対応ファームウェアを書き込む
3. サーバーの起動
# 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 COM3ツール
ツール | 説明 | 引数 |
| STM32 がオンラインかどうかを確認する | — |
| LED の明るさを設定する |
|
| 現在の LED の明るさを読み取る | — |
| GPIO レベルを読み取る |
|
| GPIO レベルを設定する |
|
| ADC 値を読み取る |
|
| OLED 画面をクリアする | — |
| OLED にテキストを表示する |
|
リソース
URI | 説明 |
| 接続状態、ポート情報、稼働時間 |
設定
環境変数またはコマンドライン引数で指定します:
引数 | 環境変数 | デフォルト | 説明 |
|
| 自動検出 | シリアルポート |
| - | 115200 | ボーレート |
| - | false | SSE モード |
| - | 8000 | SSE ポート |
Claude Desktop との連携
claude_desktop_config.json を編集します:
{
"mcpServers": {
"stm32": {
"command": "python",
"args": ["C:/path/to/mcp-stm32-server/main.py", "--port", "COM3"],
"env": {}
}
}
}ワイヤープロトコル(JSON 行)
各行は独立した JSON オブジェクトです。状態を持つ id と一致する応答をファームウェアが返すだけで構いません。
リクエスト:
{"id":1,"cmd":"set_led","args":{"brightness":75}}成功レスポンス:
{"id":1,"status":"ok","data":{"brightness":75}}エラーレスポンス:
{"id":1,"status":"error","msg":"brightness must be 0-100"}ファームウェア契約:リクエストを受信したら、同じ id を含む JSON 行を 1 行返し、status("ok" / "error")と、data または msg のいずれかを付け加えます。JSON として無効なブートログの行は、クライアントが自動的にスキップします。
ライセンス
MIT License.
アーキテクチャ
AI 助手 (Claude) ←→ MCP Server (本程序) ←→ 串口 ←→ STM32 固件通信は JSON 行プロトコル を使用します。1 行ごとに 1 つの JSON オブジェクトを配置し、\n で終了します。
クイックスタート
1. 依存関係のインストール
pip install -r requirements.txt2. ハードウェアの接続
STM32 の USART1:PA9(TX)、PA10(RX)
USB-TTL モジュールを介して PC に接続する
デバイスに、下記の JSON 行プロトコルを実装した対応ファームウェアを書き込む
3. サービスの起動
# 自动检测串口
python main.py
# 指定串口
python main.py --port COM3
# SSE 模式(HTTP 服务)
python main.py --sse --port COM3ツール一覧
ツール | 説明 | 引数 |
| STM32 のオンライン状態を確認する | なし |
| LED の明るさを設定する |
|
| LED の明るさを読み取る | なし` |
| GPIO レベルを読み取る |
|
| GPIO レベルを設定する |
|
| ADC 値を読み取る |
|
| OLED 画面をクリアする | なし |
| OLED に文字を表示する |
|
リソース
URI | 説明 |
| 接続状態、シリアルポート情報、稼働時間 |
設定
環境変数またはコマンドライン引数で指定します:
引数 | 環境変数 | デフォルト | 説明 |
|
| 自動検出 | ポート番号 |
| - | 115200 | ボーレート |
| - | false | SSE モード |
| - | 8000 | SSE ポート |
Claude Cursor / Claude Desktop との統合
claude_desktop_config.json を編集します:
{
"mcpServers": {
"stm32": {
"command": "python",
"args": ["C:/path/to/mcp-stm32-server/main.py", "--port", "COM3"],
"env": {}
}
}
}プロトコル形式(JSON 行)
各行は独立した JSON オブジェクトです。ファームウェアは、同じ id を持つ JSON 行を返すだけで構いません。
リクエスト:
{"id":1,"cmd":"set_led","args":{"brightness":75}}成功レスポンス:
{"id":1,"status":"ok","data":{"brightness":75}}エラーレスポンス:
{"id":1,"status":"error","msg":"brightness must be 0-100"}ファームウェアの契約:各リクエストを受信したら、同じ id を含む JSON 行を 1 行返し、status("ok" / "error")と data または msg を含めます。起動時の非 JSON ログ行はクライアントが自動的にスキップします。
ライセンス
MIT License.
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