Burnish Example Server について
Burnishは、MCPサーバーのツールをブラウザーで探索・実行するローカルインターフェースです。MCPサーバーの開発者やテスト担当者向けで、LLMを使わずスキーマからフォームを生成し、結果をカード、表、チャートで表示します。
主な機能
- 01ツールとスキーマの自動検出
- 02JSON Schemaからのフォーム生成
- 03カード、表、チャートでの結果表示
- 04MCPサーバーへのローカル接続と起動
- 05stdioおよびSSEサーバー対応
- 06ブラウザーでのツール実行
活用シーン
- 01MCPサーバーのツール呼び出しテスト
- 02ツール入力スキーマの確認
- 03ツール出力の視覚的な確認
- 04MCPサーバーの機能紹介
MCP 対応
設定したMCPサーバーに接続してツール一覧とスキーマを読み込み、ブラウザーに操作フォームと結果を表示します。stdioおよびSSEのMCPサーバーに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
34掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| status | enum | いいえ | ステータスで絞り込みますplanning | active | on-hold | completed |
詳細
Burnish
MCP サーバー向けの Swagger UI。
ブラウザーであらゆる MCP サーバーを探索できます。LLM も API キーも設定も不要です。
クイックスタート
npx burnish -- npx -y @burnishdev/example-server
これで完了です。Burnish はサンプル MCP サーバーを起動し、ツール一覧を読み込み、ブラウザーを開いて、すべてのツールを操作可能なフォームとして表示します。サンプルサーバーには、バグ報告の作成、チームメンバーの一覧表示、レコードの検索など、12 個のツールが用意されています。クリックしてフォームに入力するだけで、MCP コードを一行も書かずに、カード、テーブル、チャートとして描画された結果を確認できます。
別のサーバーで試してみませんか?burnish の接続先に、任意の stdio または SSE MCP サーバーを指定してください。詳しくは、以下の接続先として指定できるものをご覧ください。
ホスト型デモを試す:burnish-demo.fly.dev
Burnish を選ぶ理由
- LLM 不要。 OpenAI のキーも Anthropic のキーも、推論コストも一切かかりません。Explorer モードは 100% 決定論的です。スキーマを入力するとフォームが作成され、結果が描画されます。
- 設定不要。
npx burnishの接続先に MCP サーバーのコマンドを指定すれば実行できます。JSON ファイルもアカウントも Docker も不要です。 - データがマシンの外に出ません。 CLI はローカルで実行され、指定した MCP サーバーとのみ通信します。分析用ピクセルも、デフォルトでテレメトリーもありません。
代替ツールとの比較
| Burnish | MCP Inspector | Composio / Rube | Smithery | n8n | |
|---|---|---|---|---|---|
| LLM なしで動作 | ✅ | ✅ | ❌ | ➖ | ❌ |
| 豊富な可視化 | ✅ カード、テーブル、チャート | ❌ 生の JSON | ➖ 限定的 | ➖ レジストリのみ | ➖ ノードの出力 |
| あらゆる MCP サーバー | ✅ | ✅ | ➖ 事前ラップ済みの 500 個 | ➖ 閲覧のみ | ➖ カスタムノード |
| フォームの自動生成 | ✅ スキーマから生成 | ❌ JSON を手動で入力 | ➖ 事前構築済みのみ | ❌ | ➖ ノード設定 UI |
| ローカル/プライベート | ✅ 完全対応 | ✅ | ❌ クラウド | ❌ クラウド | ➖ セルフホスト(負荷大) |
| セットアップ不要 | ✅ npx burnish | ✅ npx | ❌ アカウントが必要 | ➖ 閲覧のみ | ❌ Docker が必要 |
| 組み合わせ可能 | ✅ 任意のサーバーの組み合わせ | ❌ 単一サーバー | ❌ エコシステムに固定 | ➖ | ➖ ワークフロービルダー |
✅ 完全対応 · ➖ 部分対応/限定的 · ❌ 非対応
接続先として指定できるもの
# The Burnish example server — richest default demo
npx burnish -- npx -y @burnishdev/example-server
# Any published stdio MCP server
npx burnish -- npx -y @modelcontextprotocol/server-filesystem /tmp
# GitHub (needs a PAT)
GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... \
npx burnish -- npx -y @modelcontextprotocol/server-github
# An SSE / HTTP MCP server
npx burnish --sse https://your-mcp-server.example.com/sse
# A multi-server config file
npx burnish --config ./mcp-servers.json
設定したすべてのサーバーに起動時に接続します。サーバーのツールはすぐに利用でき、ブラウザーから検出、確認、実行できます。
MCP サーバーの所有者向け
何もクローンせずに、ユーザーがサーバーを探索できるようにします。これを README に追加してください。
[](https://github.com/danfking/burnish)
```bash
npx burnish -- npx @your-org/your-mcp-server
```
ツールの結果を生の JSON ではなく、カード、テーブル、グラフとして表示したい場合は、出力形式ガイドをご覧ください。
リンク
- ホスト型デモ — burnish-demo.fly.dev
- ディスカッション — github.com/danfking/burnish/discussions
- 課題 — github.com/danfking/burnish/issues
- レジストリ — Smithery、Glama、mcp.so(#383で追跡中)
機能
接続、閲覧、実行。すべてサーバーのツールスキーマに基づいて動作します。
- ツールをすぐに検出 — 説明と入力スキーマ付きですべてのツールを一覧表示
- フォームを自動生成 — JSON Schema を入力すると、インタラクティブなフォームを生成
- 豊富な結果表示 — 応答を生の JSON ではなく、カード、テーブル、グラフ、統計バーとして表示
- 完全なプライバシー — ローカルで実行し、外部への呼び出しは行わず、デフォルトでテレメトリーもありません
- 設定不要 —
npx burnishを実行するだけですぐに使えます - 詳細表示のナビゲーション — 折りたたみ可能なセクションとセッションの永続化
- フレームワークに依存しない — 標準の Web コンポーネントを使用し、React/Vue/Angular に縛られません
- テーマ設定可能 —
--burnish-*CSS カスタムプロパティ - ビルド不要 — CDN からコンポーネントを ES モジュールとしてインポート
コンポーネントリファレンス
JSON 属性で動作する Lit 3 の Web コンポーネントが 10 個あります。以下のすべての例はホストされたデモで実際に試せます。「Try it」をクリックすると、ツールを直接開けます。
| コンポーネント | プレビュー | 主な属性 | 用途 | ライブ例 |
|---|---|---|---|---|
<burnish-card> | ![]() | title、status、body、meta(JSON)、item-id | 詳細を表示できる個別の項目 | Try it |
<burnish-stat-bar> | ![]() | items(JSON:[{label, value, color?}]) | 概要指標/フィルターピル | Try it |
<burnish-table> | ![]() | title、columns(JSON)、rows(JSON)、status-field | ステータスを色分けして表示する表形式データ | Try it |
<burnish-chart> | ![]() | type(line/bar/doughnut)、config(JSON) | Chart.js による可視化 | Try it |
<burnish-section> | ![]() | label、count、status、collapsed | 折りたたみ可能なグループ化コンテナー | Try it |
<burnish-metric> | ![]() | label、value、unit、trend(up/down/flat) | 単一の KPI 表示 | Try it |
<burnish-message> | ![]() | role(user/assistant)、content、streaming | チャットバブル | Try it |
<burnish-form> | ![]() | title、tool-id、fields(JSON) | ユーザー入力/ツールの実行 | Try it |
<burnish-actions> | ![]() | actions(JSON:[{label, action, prompt, icon?}]) | 状況に応じた次のアクションボタン | Try it |
<burnish-pipeline> | ![]() | steps(JSON:[{server, tool, status}]) | ツールチェーンのリアルタイム可視化 | Try it |
ステータス値: success、warning、error、muted、info — CSS カスタムプロパティを通じてセマンティックカラーに対応します。
アクションの種類: read(自動実行、安全)と write(フォームを表示し、ユーザーの確認が必要)。
SDK との統合
ミドルウェア
1 行で Burnish Explorer を MCP サーバーに追加できます。
import { withBurnishUI } from "burnish/middleware";
await withBurnishUI(server, { port: 3001 });
スキーマのエクスポート
npx burnish export -- npx @your-org/your-server > schema.json
独自のプロジェクトで使用する
CDN(ビルド手順なし)
<script type="module"
src="https://esm.sh/@burnishdev/[email protected]"></script>
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@burnishdev/[email protected]/src/tokens.css" />
<burnish-card
title="API Gateway"
status="success"
body="All systems operational"
meta='[{"label":"Uptime","value":"99.9%"},{"label":"Latency","value":"42ms"}]'
item-id="api-gw-1">
</burnish-card>
npm
npm install @burnishdev/components
import '@burnishdev/components';
// Components auto-register with burnish-* prefix.
// Custom prefix:
import { BurnishCard } from '@burnishdev/components';
customElements.define('my-card', class extends BurnishCard {});
レンダラー
npm install @burnishdev/renderer
import { findStreamElements, appendStreamElement } from '@burnishdev/renderer';
const elements = findStreamElements(chunk);
for (const el of elements) {
appendStreamElement(container, stack, el, safeAttrs, sanitize);
}
設定
MCP サーバー
ソースから実行する場合は apps/demo/mcp-servers.json で設定するか、CLI に --config を渡します。
{
"mcpServers": {
"example": {
"command": "npx",
"args": ["-y", "@burnishdev/example-server"]
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_PERSONAL_ACCESS_TOKEN}"
}
}
}
}
設定済みのすべてのサーバーは起動時に接続されます。サーバーのツールはすぐに利用できます。
開発
git clone https://github.com/danfking/burnish.git
cd burnish
pnpm install # Install all dependencies
pnpm build # Build all packages
pnpm dev # Start the demo
pnpm test # Run Playwright tests
pnpm clean # Clean all build artifacts
burnish/
├── packages/
│ ├── components/ @burnishdev/components — 10 Lit web components
│ ├── renderer/ @burnishdev/renderer — streaming parser + sanitizer
│ ├── app/ @burnishdev/app — drill-down logic + stream orchestration
│ ├── server/ @burnishdev/server — MCP hub + guards + intent resolver
│ ├── example-server/ @burnishdev/example-server — showcase MCP server (34 tools)
│ └── cli/ burnish CLI — npx burnish launcher + middleware
├── apps/
│ └── demo/
│ ├── server/ Hono API
│ └── public/ SPA shell (ES modules, no framework)
└── package.json pnpm workspace root
前提条件
- Node.js 20+
- pnpm 9+
仕組み
┌──────────────────────────────────┐
│ MCP Servers │
│ (filesystem, GitHub, DB, ...) │
└──────────────┬───────────────────┘
│ tool calls / results
▼
┌──────────────────────────┐
│ Schema-Driven UI │
│ │
│ • List tools │
│ • Generate forms │
│ • Map results → comps │
└──────────┬───────────────┘
│
▼
┌──────────────────────────┐
│ Streaming Renderer │
│ │
│ • Parse tags on arrival │
│ • Sanitize (DOMPurify) │
│ • Append to DOM │
└──────────┬───────────────┘
│
▼
┌──────────────────────────┐
│ Web Components (Lit 3) │
│ │
│ • Shadow DOM isolation │
│ • JSON attribute parsing│
│ • Event-driven drill- │
│ down navigation │
└──────────────────────────┘
Burnish は MCP サーバーのツール一覧を読み取り、JSON Schema からフォームを生成し、結果をコンポーネントに直接割り当てます。LLM は処理に介在しません。すべてローカルで動作します。
近日公開予定:Navigator
Navigator は、Explorer モード上に構築される予定の LLM 搭載自然言語レイヤーです。質問すると、Burnish が接続済みサーバー全体から適切なツールを選び、現在表示されているものと同じコンポーネントで回答を表示します。Explorer モード(現在お使いのモード)は、引き続き無料、ローカルで利用でき、LLM は使用しません。
プライバシーとテレメトリー
Burnish は、実際の利用状況を測定するため、オプトイン方式で匿名のテレメトリーを収集します(詳しくはissue #382をご覧ください)。テレメトリーはデフォルトでオフです。CLI を初めて対話的に実行すると、有効にするかどうかを尋ねるプロンプトが表示されます。Enter キーを押すか、y 以外を入力すると、オフのままになります。
送信される情報(オプトインした場合のみ):
v— burnish CLI のバージョンos— OS の種類:darwin、linux、win32、またはothernode— Node.js のメジャーバージョンbucket— 呼び出し回数のおおまかな区分:1、2-5、6-20、または21+id— 初回のオプトイン時に一度だけ生成される、ランダムなインストール ID(UUID)schema_version— ペイロードのスキーマバージョン(現在は"1")
送信しない情報: サーバー URL、ツール名、スキーマ、引数、ファイルパス、ホスト名、ユーザー名、TCP 接続を介して確認できる IP アドレス、MCP サーバーからのあらゆるコンテンツ。ツール単位またはスキーマ単位でのトラッキングは行いません。
いつでもオプトアウトする方法:
- 環境変数
BURNISH_TELEMETRY=0を設定します(false、off、noも使用できます)。この設定は、保存済みの選択より優先されます。 - または、保存された選択ファイルを削除または編集します:
- macOS / Linux:
~/.config/burnish/telemetry.json($XDG_CONFIG_HOMEに対応) - Windows:
%APPDATA%\burnish\telemetry.json
- macOS / Linux:
テレメトリーでは、短いタイムアウトを設定した HTTPS POST を https://burnish-demo.fly.dev/telemetry/v1/ping に一度だけ送信し、その後は処理を終了します。エンドポイントに接続できない場合も、CLI の動作は変わりません。再試行やキューへの登録は行いません。選択が保存されていない場合、非対話環境および CI 環境ではテレメトリーを完全にスキップします。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。









