mcpField
U
USB Servo Controller

USB Servo Controller

ローカル
ucandevices.github.ioその他06 日前に更新

USB Servo Controller について

USB Servo Controllerは、最大12台のホビー用サーボを制御するオープンハードウェアのUSB-C基板とソフトウェアです。MCPサーバーを通じてAIエージェントが動作やシーケンスを指示し、電源レールを測定できます。動作制限や電流保護も備えています。

主な機能

  1. 0112チャンネルのPWMサーボ制御
  2. 02Maestroシリアルプロトコル互換
  3. 03電源レールの電流・電圧測定
  4. 04ポーズと保存済みシーケンスの実行
  5. 05チャンネル別制限とランプ動作
  6. 06過電流・低電圧時の遮断

活用シーン

  1. 01AIエージェントからのサーボ駆動
  2. 02コントローラーでのポーズやシーケンス実行
  3. 03サーボ電源レールの監視
  4. 04保護条件の検出時の動作停止

MCP 対応

付属のMCPサーバーは、サーボの動作、ポーズ、シーケンス、および電源レールの電流・電圧測定値をMCPクライアントに提供します。設定した制限とランプ動作に対応し、過電流時には停止します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"lukasz-juranek-usb-servo-controller": {
"command": "uvx",
"args": [
"ucan-servo-mcp"
]
}
}
}
起動コマンドuvx ucan-servo-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiucan-servo-mcp0.4.1

ツール

16

掲載時のツール一覧 · 5 日前に更新

このツールにパラメーターはありません。

詳細

USB-C 12 チャンネルサーボコントローラー

Tindieで購入 製品ページ

12 チャンネルの USB-C サーボコントローラーです。Pololu Maestro 互換で、AI エージェント(Claude など)がサーボを操作できる MCP サーバーを備えています。価格はTindieで 18 ドルです。・製品ページ。

動画:USB-C サーボコントローラーで MG995 サーボを操作 USB サーボコントローラーボードの上面図
▶ 2 分の動画:配線、電流モニタリング、GUI、コントローラーによる実際の MG995 の操作

Pololu Mini Maestro 12のオープンソース代替品です。Maestro シリアルプロトコルに対応しているため、Maestro ライブラリをそのまま使えます。さらに、USB-C、サーボ電源レールの電流・電圧検知、オンボードスクリプトを備えています。JLCPCB の一括組み立て向けに設計されており、100 台製造時の基板 1 枚あたりの価格は約 4.43 ドルです(Maestro は 29.95 ドル)。

MCUWCH CH32V203C8T6、RISC-V 96 MHz、LQFP-48
チャンネルハードウェア PWM 12 チャンネル、50 Hz、0.5 µs。チャンネルごとの可動範囲制限(64~4080 µs、デフォルト 500~2500)。0~7 にアナログ入力
ホストインターフェースUSB-C、CDC シリアル(ドライバー不要)。ASCII プロトコル、Pololu Maestro Compact/Pololu/Mini SSC プロトコル
サーボ電源5.08 mm ネジ端子の独立レール。フル機能時 5~13.2 V、合計約 5 A
検知レール電流(5 mΩ + INA180A2)と電圧(÷4)、過電流/LiPo 低電圧カットオフ
PCB66 × 38 mm、2 層、すべての部品を上面に配置、M3 穴 × 4
状況2026-09-28 に初号基板のハードウェア検証を完了 — selftest.py --rail --move は 58/58。チャンネル 1~11 は実際のサーボで未検証
ドキュメント対象
USER.mdボードの使用方法:配線、電源、ツール、コマンドリファレンス、書き込み
tools/README.mdホストツール:ライブラリ、CLI、GUI、スクリプト、MCP サーバー、リリースビルド
このファイル設計:各選択の理由、BOM とコスト、制限事項、製造前に残っている作業

AI エージェント(MCP サーバー)

tools/servo_mcp.pyは、AI エージェントがサーボを動かし、ポーズやシーケンスを実行し、レール電流/電圧を読み取れるようにする MCP サーバーです。チャンネルごとの制限、ランプ移動、過電流時の停止といった安全対策を備えています。pip install -r tools/requirements.txtを実行してから、以下を実行します。

Claude Code

claude mcp add servo -- python /path/to/UsbServoController/tools/servo_mcp.py

Claude Desktop(claude_desktop_config.json)

{
  "mcpServers": {
    "servo": {
      "command": "python",
      "args": ["/path/to/UsbServoController/tools/servo_mcp.py"]
    }
  }
}

ポートを指定するには"--port", "COM5"を追加します。ハードウェアなしで試すには"--mock"を追加します。 シリアルポートを開けるプログラムは 1 つだけなので、先に GUI を閉じてください。

サーバーは PyPI でも公開されているため、リポジトリをクローンしなくても、どの MCP クライアントからでも実行できます。 コマンドはuvx、引数は["ucan-servo-mcp"]です(GUI で保存した制限、ポーズ、シーケンスを使う場合は、さらに--config path/to/servogui.jsonを指定します)。


1. クイックスタート

pip install -r tools/requirements.txt
python tools/servogui.py              # GUI (or --mock with no hardware)
python tools/servoctl.py set 0 1500   # CLI
cd embedded-ch32 && make flash        # build + flash over USB, ~3 s, no jumper

**ダウンロード:**ファームウェアイメージと Windows/Linux 向けのビルド済み GUI は、リリースページから入手できます。 GUI を自分でビルドするには、python tools/build_release.pyを実行します。出力先はtools/dist/です。


2. CH32V203C8T6を選んだ理由

必須条件は、ROMにUSBブートローダーを搭載していることでした。これにより、未書き込みのチップにもプログラマーなしでUSB-C経由で書き込めます。この条件により、設計当初に採用していたSTM32F103(USART専用ブートローダー)は候補から外れます。USBブートに対応し、JLCPCBで在庫のあるLQFP-48部品は次のとおりです。

候補未書き込みチップでのUSBブート在庫$@100
CH32V203C8T6(採用)✅8,6430.877
CH32X035C8T6 / CH32F203C8T6✅~5000.72 / 1.02
AT32F415CBT7✅10,5181.319
STM32F072C8T6✅2,9452.495

実在庫のある部品の中で最安で、STM32F072の3分の1の価格です。また、STM32F103のレイアウトとピン互換性があります(接続された33ピンのうち32ピンが同一です)。

この選択に伴うコスト:

  • RISC-Vファームウェア、WCH HALを使用し、CubeMXは使えません。
  • ST-Linkは使用できません。 デバッグにはJ9のWCH 2線SDIを使用するため、WCH-LinkEが必要です。通常の書き込みはUSB経由なので、デバッグ用プローブはデバッグ時のみ使用します。
  • このチップではPB2がBOOT1なので、R17(5.1 kΩ)でLowに接続されています。

3. ハードウェア

                            U4 INA180A2 (Kelvin across R18) ─► PA5 I_SENSE
J2 Servo V+ ── R18 5mΩ ──┬────────► servo header V+ rail (unfused)
  (VSRV_RAW)              ├─ R19..R22 ÷4 ─► PA4 V_SENSE
                          └─ JP1 ──D2──┐
                                       ├─► HT7533-1 ─► 3V3 ─► CH32V203, LED
USB-C VBUS 5V ─────────────D1──────────┘
GND: one continuous plane, common to both supplies
  • 電源系統は2つ、グランドは共通です。 D1/D2はダイオードOR接続になっているため、互いの系統に電流が流れ込みません。各サーボアンプはR18を経由するため、電流値はボード全体を対象とします。
  • JP1(2ピンヘッダー、デフォルトではオープン):シャントキャップを取り付けると、USBなしでサーボ電源からロジック電源を供給できます。これはMaestroのVSRV=VINブロックに相当します。
  • JP2(2ピンヘッダー):初回書き込み/復旧時のみ、BOOT0をHighにします。
  • ロジックの消費電流は約15 mAなので、HT7533-1(100 mA、静止電流2.5 µA)は2S LiPoから給電しても発熱は0.07 Wです。
  • USB-C:CCプルダウン抵抗はR14/R15、D+/D−/CC1/CC2のクランプにはSRV05-4を使用します。
  • サーボ信号は220 Ω(R1–R12)を介した3.3 Vです。ヘッダーのピン配列はSIG / V+ / GNDです。
チャンネル割り当て
Ch01234567891011
ピンPA0PA1PA2PA3PA6PA7PB0PB1PA8PA9PA10PB8
タイマーT2C1T2C2T2C3T2C4T3C1T3C2T3C3T3C4T1C1T1C2T1C3T4C3
アナログ✅✅✅✅✅✅✅✅————

予約済み:PA4/PA5 レール検出 · PA11/PA12 USB · PA13/PA14 SDI · PD0/PD1 水晶振動子 · PC13 LED · PB2 BOOT1。LQFP-48のADCピンは10本のみで、PA4/PA5は検出に使用するため、 アナログ入力は12チャンネル中8チャンネルです。Maestro 12は12チャンネルすべてに対応します。

電源レールの検出
電流(R18 + U4)電圧(R19–R22)
部品5 mΩ 1 Wシャント抵抗、INA180A2ゲイン50、ハイサイド5.1 kΩ × 4、÷4、100 nF
フルスケール13.2 A13.2 V
分解能約3.2 mA約3.2 mV

ハイサイド方式により、グランドプレーンを分断せずに済みます。検出するのはレールの合計電流であり、チャンネルごとの電流ではありません。ADCの基準電圧はVDDA(LDO出力)です(LQFP-48にはVREF+がありません)。そのため、測定値はしきい値の判定には適していますが、校正済みの計測には適しません。異常な測定値が5回続くと、ファームウェアはすべてのチャンネルをオフにします(約50 ms)。デフォルトの過電流しきい値は5 Aで、低電圧しきい値は自動選択されます(2S → 6.4 V、3S → 9.6 V、それ以外はオフ)。詳細はUSER.md §4.4を参照してください。

電源の制限
制限制限要因値
J2の絶対最大値C15/C16、16 V電解コンデンサー16 V
全機能動作時(電圧検出)÷4分圧回路13.2 V
連続電流ヘッダー列間の2.4 mm配線約5 A(温度上昇20 °Cで6.1 A)

上限を決めるのは24 A端子ではなく、その背後の銅箔です。

PCB

2 × 1 oz、1.6 mm、最小配線幅/間隔0.2 mm、ビア0.3/0.6 mm。GNDは両面のベタ銅箔です。SERVO_V+は優先順位を設定したトップレイヤーの3つのゾーンで配線します。ヘッダーは下端、USB-Cは右側、ねじ端子は左側、MCUは中央に配置しています。

⚠️ F8(Update PCB from Schematic)を実行するとH1–H4が削除されます。これらには回路図シンボルがありません。Delete footprints with no symbolsのチェックを外すか、次の位置に再配置してください: (16, 4), (61.5, 4), (16, 33), (61.5, 33)。

⚠️ HT7533-1は、置き換え前のAMS1117とピン互換ではありません(SOT-89:GND / VIN+タブ / VOUT)。タブはVINです。


4. 部品表とコスト

クラス:B 標準 · P 推奨(どちらも手数料不要) · E 拡張(SMT の場合、フィーダー手数料 $3.07)

Ref部品LCSCクラス数量1 枚あたりの価格
U1CH32V203C8T6, LQFP-48C3001172E10.8770
U2HT7533-1, SOT-89-3C14289B10.1430
U3SRV05-4 ESD, SOT-23-6C558418E10.0270
U4INA180A2, SOT-23-5C192764E10.1920
J1USB-C 16P TYPE-C-31-M-12C165948E10.1860
J25.08 mm 2P ねじ端子台C474952E (THT)10.1920
J3–J81×6 2.54 mm ピンヘッダーC37208E (THT)60.2520
JP1, JP21×2 2.54 mm ピンヘッダーC358684E (THT)20.0180
Y18 MHz 水晶振動子 SMD5032C115962B10.2450
D1–D2B5819W, SOD-123C7420330P20.0340
D3赤色 LED 0603C2286B10.0070
R1–R13220 Ω 0603(サーボ直列抵抗+LED)C22962B130.0650
R14–R17, R19–R225.1 kΩ 0603C23186B80.0160
R185 mΩ 1 W シャント抵抗、1206C7419996E10.0370
C1–C8, C17–C18100 nF 0603 X7RC14663B100.1200
C9–C1110 µF 0603 X5RC19702B30.0960
C121 µF 0603C15849B10.0170
C13–C1430 pF 0603 C0GC1658B20.0160
C15–C16470 µF 16 V 電解コンデンサーC46550400E20.2140
58$2.7540

J9(SDI)は実装しません。シャントコンデンサー(C100114、基板 1 枚あたり 2 個)は JLCPCB では実装できないため、別途購入してください。100 個あたり約 $1.80 です。

100 枚合計1 枚あたり
部品$275.40$2.754
実装:セットアップ $8.18、ステンシル $1.53、SMT 167 接合部 $26.72、THT 42 接合部 $68.88 + $3.58、フィーダー手数料 6 件 $18.42$127.31$1.273
PCB 製造(概算)~$40~$0.40
合計≈ $443≈ $4.43

送料と関税は含みません。価格は LCSC の 100 個購入時の価格です。在庫は 2026-09-19/20 に確認済み(CH32V203 が最も在庫が少なく 8,643 個)— 注文前に再確認してください。

コストを左右する要因:

  • 実装費の 57 % はスルーホールはんだ付けです。 J3–J8 は部品代が $0.25、手はんだ付け費が $0.59 です。SMT のみにしてヘッダーを別途購入すれば、実装費は 1 枚あたり $0.55 に下がります。
  • 単価ではなく、種類の異なる拡張 SMT 部品の数がコストを左右します。 そのため、220 Ω 抵抗を LED 用としても使用し、5.1 kΩ 抵抗で CC1/CC2/BOOT0/BOOT1/分圧器に対応し、個別の TVS ダイオードの代わりに SRV05-4 を 1 個使用し、JP1/JP2 で同じヘッダー部品を共有しています。

5. ファームウェア(embedded-ch32/)

RISC-V、WCH ch32v20x HAL と USB デバイスライブラリ、xPack riscv-none-elf-gcc 15.2(上書きするには make GCC_PATH=... を実行)。バージョンは USBServoController 0.4 です。

フラッシュ領域アドレスサイズ内容
ブートローダー0x000012 KB独自の USB CDC ブートローダー(bootloader/)
アプリケーション0x300048 KBサーボファームウェア
スクリプト0xF0002 KB保存済みボードスクリプト
設定0xF800256 B 使用移動範囲の上限、Maestro の速度/加速度(User/settings.c、W)

レイアウトは User/flash_layout.h と 2 つの Link.ld ファイルに記載されています。

make                 # build/USBServoController-ch32.{elf,hex,bin}
make flash           # BOOT command -> bootloader -> write, CRC-32 check, restart (~3 s)
make hosttest        # on the PC: sense.c protection (21 supply scenarios), maestro.c protocol, ramps and limits (11)
python tools/verify_pinmap_ch32.py   # schematic <-> pin table <-> firmware

未書き込みチップまたはリカバリー: make full を実行し、JP2 を取り付けて USB に接続し、 wchisp flash build/USBServoController-ch32-full.bin を実行してから、JP2 を取り外し、再接続します。 ファームウェアから ROM ブートローダーにジャンプする方法は、このチップでは機能しません(テスト済み)。 そのため、ボードには独自のブートローダーが搭載されています。

タイミング: タイマーは 96 MHz、PSC 47 → 0.5 µs のティック、ARR 39999 → 20 ms のフレームです。 0.25 µs にするには 4 MHz のティックが必要ですが、100 Hz 以上の場合に限り 16 ビットに収まります。

プロトコル: 1 行につき ASCII コマンド 1 つ、応答は OK/OK <value>/ERR <reason> のいずれか 1 つです。 サーボ(S G E X A)、電源レールの監視(I U F L P C Z N)、保存済みスクリプト(QC QA QS QI QG QR QX)、システム(V BOOT)。完全なリファレンスは USER.md §4.3 を参照してください。

Maestro プロトコル(User/maestro.c):0x80 以上のバイトは Pololu Maestro コマンドです。Compact、Pololu(デバイス 12)、Mini SSC のフレーミングに対応し、Maestro の単位でオンボードの速度および加速度ランプを設定できます。両方のプロトコルは同じポートを共有します。リファレンスは USER.md §4.3b を参照してください。

スクリプトエンジン(User/script.c):ランプ時間付きの移動、待機、同期、ループ、ジャンプ、アナログ値による待機/分岐を含む、最大 254 個の命令に対応します。tools/servoscript.py でテキストからコンパイルされ、PC なしで実行でき、オプションで電源投入時に実行できます。

ツールチェーンの注意点
  • interrupt("WCH-Interrupt-fast") は上流の GCC で黙って無視されます — 警告が 1 つ出た後、ISR は mret ではなく ret で終了します。interrupt("machine") を使用してください。
  • **GCC 15 はデフォルトで C23 です。**この規格では bool がキーワードですが、WCH の usb_type.h では typedef されています。-std=gnu11 とパッチ適用済みのヘッダーを使ってビルドします。
  • -march=rv32imac_zicsr_zifencei — GCC 15 では CSR と fence.i が分離されました。
  • **実行時に printf は使えません。**USB のサスペンドフックに WCH のサンプルの printf を置いたところ、起動時に ISR が停止しました。また、PA9(USART1 TX)はサーボ出力です。

変更したベンダーファイル:usb_endp.c(OUT エンドポイント → パーサー)、usb_prop.c (User/cdc_glue.c 経由のラインコーディング)、ch32v20x_it.c(TIM2 がサーボを駆動)。


6. 制限事項と Maestro 12 の比較

Maestro 12このボード対応
mini-USBUSB-C改善
電源レールの監視なし電流・電圧、過電流、LiPo のカットオフ改善
$29.95≈ $4.43改善
サーボ電源 5–16 V5–16 V(全機能は 13.2 V)同等
アナログ入力 12 個8 個基板再設計(ピン数の制限)
信号 5 V、ユーザーピン 5 V3.3 V、5 V レールなし基板再設計
TTL シリアル、デイジーチェーン、ERR ピン、LED 3 個USB のみ、LED 1 個基板再設計
Pololu/Compact/Mini SSC プロトコル対応(0.4):目標値の設定(単数/複数)、速度、加速度、位置/移動状態/エラーの取得、原点復帰同等
チャンネルごとの最小/最大値 64–4080 µs、1–333 Hzチャンネルごとの上限値 64–4080 µs。W で保存、固定 50 Hz周波数:ファームウェア
分解能 0.25 µs0.5 µsファームウェア、100 Hz 以上
ファームウェアで速度と加速度に対応Maestro プロトコル経由で対応同等
設定、原点位置、起動時の動作をフラッシュに保存上限値と速度/加速度を保存。原点位置はなく、すべてのチャンネルはオフで起動ファームウェア
エラーレジスター、シリアルタイムアウト時のフェイルセーフプロトコルエラービットのみ。シリアルタイムアウトなしファームウェア
8 KB のスクリプト言語254 命令のモーションスクリプトよりシンプル
Maestro Control Center独自 GUI(servogui.py)Pololu VID に固定
28 × 36 mm66 × 38 mm—

その他の既知の不足点:J2 に逆極性保護がありません — バッテリーパックを逆向きに接続すると U4 が破損し、C15/C16 が破裂する可能性があります(P-FET の理想ダイオード、≈ $0.19 は意図的に省略しました)。電流検出のゼロ点(Z)は電源オフ時に失われます。

Maestro エコシステムへの参加

Maestro ソフトウェアは大きく2つに分かれます。ランタイム制御 — ほぼすべてのコミュニティライブラリ(FRC4564/Maestro、maestro-servo、ROS 1/2 ドライバー、Node、C++)は、CDC ポートを開き、USB ID を確認せずに Pololu/Compact/Mini SSC のバイトプロトコルを使用します。設定(Control Center、UscCmd)では、Pololu の VID 0x1FFB に紐づいた制御転送を使用するため、ここでは動作しません。

ファームウェア 0.4 はこれらのシリアルプロトコルを実装しているため、ランタイムライブラリは変更なしで動作します。改変していない FRC4564 の maestro.py を使用し、ハードウェアで検証済みです(ターゲット、速度、加速度、位置、移動状態)。最初のバイトに応じてディスパッチするため、すべてに対応できます。0xAA は Pololu、0xFF は Mini SSC、0x80–0xFE は Compact、印字可能な ASCII は既存のプロトコルです。

Maestro とは異なる点もあります。出力ステップは 0.5 µs(0.25 µs には ≥ 100 Hz のフレームが必要)、固定 50 Hz レート、ホーム位置なし、CRC なし、シリアルタイムアウトなしです。チャンネルごとの移動範囲(64~4080 µs)と起動時の速度/加速度は、W コマンドでボードに保存されます。GUI の歯車ボタンで移動範囲を設定します。今後の予定:フレームレート設定 → シリアルタイムアウト時のフェイルセーフ → ホーム位置。


7. 設計上の注意点

JP1 はヘッダーであり、電源マルチプレクサー IC ではありません。 6 V を超える電圧で自動切り替えするには、理想ダイオードコントローラーと FET(LM5050、基板あたり +$2.12)が必要です。TPS2116 の上限は 5.5 V です。ダイオード OR 回路は $0.03 で、JP1 に流れるのは約 15 mA のロジック電流だけです。ヘッダーとシャントキャップ($0.05)はスライドスイッチより安価で、それ自体に電圧制限もありません。

JP2 もヘッダーです。そのため、各ボードで初回の書き込みに必要なジャンパーは、はんだごてなしで設定できます。

AMS1117 は HT7533-1 に置き換えました。AMS1117 は必要サイズの 66 倍もあり、静止電流が 5 mA で、22 µF のタンタルコンデンサーが必要でした。HT7533 はより安価で、30 V に対応し、既存の 10 µF セラミックコンデンサーで安定して動作します。


8. リポジトリの構成

パス内容
PCB/usbservocontroller/KiCad 10 の回路図と基板。production/ = Fabrication Toolkit の出力
embedded-ch32/アプリケーションファームウェア(User/)、ブートローダー(bootloader/)、ホストテスト(test/)
embedded-ch32/tools/verify_pinmap_ch32.py。wchisp をここに配置してください(リポジトリ内には含めません)
tools/ホストツール — tools/README.md を参照
USER.mdユーザーマニュアル

Fabrication Toolkit は、シンボルではなくフットプリントから LCSC を読み取ります。回路図の同期後に grep -c 'property "LCSC"' usbservocontroller.kicad_pcb(現在は 58)を確認してください。フィールドがない場合、JLCPCB では「part not found」と表示されます。


9. 次回の製造前に

2026-09-29 時点のファイルで確認済みです。ERC は 0、DRC は 11 件のエラーで、いずれもヘッダーの本質的なコートヤード重複(2.54 mm グリッド上に3列)です。未接続は 0 です。

  1. JP2 の基板上のリファレンスを修正します。 フットプリントには JP2 ではなく BOOT0_SEL と表示されているため、DRC では JP2 が見つからないうえ、余分なフットプリントがあると報告され、製造ファイルにも誤った部品番号が記載されます。F8 を実行してください(シンボルのないフットプリントを削除 のチェックを外します)。
  2. J9 に DNP を設定し、H1~H4 を BOM/位置ファイルから除外します。 まだどちらのフラグも設定されていないため、fabrication-toolkit-options.json の EXCLUDE DNP は何も行いません。
  3. R13 を 220 Ω から 1 kΩ に変更します(C21190、Basic)。PC13 の定格は 3 mA ですが、220 Ω では LED に約 6 mA 流れます。最初のボードでは動作しましたが、規格外です。
  4. 重複しているビアを3つ削除します(GND:11.5、35.2。I_SENSE と V_SENSE:32、16~18 付近)。また、コートヤードエラーへの対処を決めます。コートヤードを縮小するか、実際のエラーがその中に隠れないよう DRC 除外を追加してください。
  5. production/ を再生成します。このフォルダーの更新日は 2026-09-20 で、最後の基板編集より前です。その後、bom.csv と positions.csv から H1~H4 と J9 が削除されていることを確認してください。
  6. JLCPCB の在庫を再確認します(§4)。

kicad-cli sch erc usbservocontroller.kicad_sch と kicad-cli pcb drc --schematic-parity usbservocontroller.kicad_pcb を実行して、チェックを再度行ってください。


ライセンス

MIT — ハードウェア設計ファイル、ファームウェア、ホストツール。

WCH(Nanjing Qinheng Microelectronics)の著作権表示があるファイル( ch32v20x HAL、USB ライブラリ、スタートアップコード、および embedded-ch32/User/ 内の WCH 由来のファイル)は、WCH 独自の規約に従います。これらの規約では、WCH マイクロコントローラーでの使用に限定されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。