micro-mcp について
micro-mcpは、BBC micro:bit上でMCPツールを定義するTypeScriptフレームワークです。ブリッジスクリプトを介し、stdioでデバイス側のサーバーをMCPクライアントに接続します。
主な機能
- 01TypeScriptでのMCPツール定義
- 02stdioブリッジスクリプト経由の接続
- 03MakeCode拡張機能としての利用
- 04LEDマトリックスに数字を表示する例
活用シーン
- 01micro:bitのLED表示をツールとして公開
- 02Visual Studio Codeでデバイスツールをテスト
- 03ライブラリをMakeCode拡張機能に追加
MCP 対応
BBC micro:bit向けのMCPツールを定義し、リポジトリのstdioブリッジスクリプトを通じてMCPクライアントに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
micro-mcp
BBC micro:bit を Model Context Protocol(MCP)サーバーにする
このライブラリを使うと、TypeScript で MCP ツールを定義し(ブロックには未対応です)、 ブリッジスクリプトを使って stdio 経由で MCP クライアントに接続できます。
https://github.com/user-attachments/assets/48418354-385a-45e9-bee1-7e36633dd243
例
この例では、micro:bit の LED マトリックスに数字を表示するツールの定義方法を示します。
mcp.tool({
definition: {
name: "show_number",
description: "Show a number on the 5 x 5 LED matrix",
inputSchema: {
type: "object",
properties: {
number: { type: "integer", description: "Integer to show" }
},
required: ["number"]
},
annotations: {
title: "Show Number",
idempotentHint: true,
}
},
handler: (args: { number: number }) => {
const number = args.number || 0;
basic.showNumber(number);
return `ok`;
}
})
mcp.startServer()
Visual Studio Code
MCP サーバーをテストするには、このリポジトリの bridge スクリプトを使用できます。
- 依存関係をインストールします
npm ci
- このリポジトリのルートに
.vscode/mcp.jsonファイルを作成し、次の内容を記述します。
{
"servers": {
"micro-mcp": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/bridge.mjs"]
}
}
}
- GitHub Copilot Chat を開きます
mcp.jsonファイルを開いてサーバーを起動しますToolsアイコンをクリックし、ツールが一覧に表示され、選択されていることを確認します- プロンプトを入力します!
拡張機能として使用
このリポジトリは MakeCode に拡張機能として追加できます。
- https://makecode.microbit.org/ を開きます
- New Project をクリックします
- 歯車メニューの Extensions をクリックします
- https://github.com/pelikhan/micro-mcp を検索してインポートします
このプロジェクトを編集
Visual Studio Code を使ってこのプロジェクトを編集します。
メタデータ(検索、レンダリング用)
- PXT/microbit 用
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。