mcpField
B
Burnish Example Server

Burnish Example Server

ローカル
github.com/danfking開発ツール227 週間前に更新

Burnish Example Server について

Burnishは、MCPサーバーのツールをブラウザーで探索・実行するローカルインターフェースです。MCPサーバーの開発者やテスト担当者向けで、LLMを使わずスキーマからフォームを生成し、結果をカード、表、チャートで表示します。

主な機能

  1. 01ツールとスキーマの自動検出
  2. 02JSON Schemaからのフォーム生成
  3. 03カード、表、チャートでの結果表示
  4. 04MCPサーバーへのローカル接続と起動
  5. 05stdioおよびSSEサーバー対応
  6. 06ブラウザーでのツール実行

活用シーン

  1. 01MCPサーバーのツール呼び出しテスト
  2. 02ツール入力スキーマの確認
  3. 03ツール出力の視覚的な確認
  4. 04MCPサーバーの機能紹介

MCP 対応

設定したMCPサーバーに接続してツール一覧とスキーマを読み込み、ブラウザーに操作フォームと結果を表示します。stdioおよびSSEのMCPサーバーに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"burnish": {
"command": "npx",
"args": [
"-y",
"@burnishdev/example-server"
]
}
}
}
起動コマンドnpx -y @burnishdev/example-server

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

パッケージ
npm@burnishdev/example-server

ツール

34

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
statusenumいいえステータスで絞り込みますplanning | active | on-hold | completed

詳細

Burnish Explorer:MCP サーバーを選び、すべてのツールを確認して、フォームに入力すると、LLM なしで描画された回答が得られます。

Burnish

MCP サーバー向けの Swagger UI。

ブラウザーであらゆる MCP サーバーを探索できます。LLM も API キーも設定も不要です。

npm バージョン ライセンス:AGPL-3.0 CI ステータス Burnish で探索


クイックスタート

npx burnish -- npx -y @burnishdev/example-server

これで完了です。Burnish はサンプル MCP サーバーを起動し、ツール一覧を読み込み、ブラウザーを開いて、すべてのツールを操作可能なフォームとして表示します。サンプルサーバーには、バグ報告の作成、チームメンバーの一覧表示、レコードの検索など、12 個のツールが用意されています。クリックしてフォームに入力するだけで、MCP コードを一行も書かずに、カード、テーブル、チャートとして描画された結果を確認できます。

Burnish Explorer に、サンプルサーバーの list-projects ツールがカードとして表示されています

別のサーバーで試してみませんか?burnish の接続先に、任意の stdio または SSE MCP サーバーを指定してください。詳しくは、以下の接続先として指定できるものをご覧ください。

ホスト型デモを試す:burnish-demo.fly.dev

Burnish を選ぶ理由

  • LLM 不要。 OpenAI のキーも Anthropic のキーも、推論コストも一切かかりません。Explorer モードは 100% 決定論的です。スキーマを入力するとフォームが作成され、結果が描画されます。
  • 設定不要。 npx burnish の接続先に MCP サーバーのコマンドを指定すれば実行できます。JSON ファイルもアカウントも Docker も不要です。
  • データがマシンの外に出ません。 CLI はローカルで実行され、指定した MCP サーバーとのみ通信します。分析用ピクセルも、デフォルトでテレメトリーもありません。

代替ツールとの比較

BurnishMCP InspectorComposio / RubeSmitheryn8n
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 に追加してください。

[![Explore with Burnish](https://img.shields.io/badge/Explore-with%20Burnish-8B3A3A)](https://github.com/danfking/burnish)

```bash
npx burnish -- npx @your-org/your-mcp-server
```

ツールの結果を生の JSON ではなく、カード、テーブル、グラフとして表示したい場合は、出力形式ガイドをご覧ください。

リンク

機能

接続、閲覧、実行。すべてサーバーのツールスキーマに基づいて動作します。

  • ツールをすぐに検出 — 説明と入力スキーマ付きですべてのツールを一覧表示
  • フォームを自動生成 — JSON Schema を入力すると、インタラクティブなフォームを生成
  • 豊富な結果表示 — 応答を生の JSON ではなく、カード、テーブル、グラフ、統計バーとして表示
  • 完全なプライバシー — ローカルで実行し、外部への呼び出しは行わず、デフォルトでテレメトリーもありません
  • 設定不要 — npx burnish を実行するだけですぐに使えます
  • 詳細表示のナビゲーション — 折りたたみ可能なセクションとセッションの永続化
  • フレームワークに依存しない — 標準の Web コンポーネントを使用し、React/Vue/Angular に縛られません
  • テーマ設定可能 — --burnish-* CSS カスタムプロパティ
  • ビルド不要 — CDN からコンポーネントを ES モジュールとしてインポート

コンポーネントリファレンス

JSON 属性で動作する Lit 3 の Web コンポーネントが 10 個あります。以下のすべての例はホストされたデモで実際に試せます。「Try it」をクリックすると、ツールを直接開けます。

コンポーネントプレビュー主な属性用途ライブ例
<burnish-card>cardtitle、status、body、meta(JSON)、item-id詳細を表示できる個別の項目Try it
<burnish-stat-bar>stat-baritems(JSON:[{label, value, color?}])概要指標/フィルターピルTry it
<burnish-table>tabletitle、columns(JSON)、rows(JSON)、status-fieldステータスを色分けして表示する表形式データTry it
<burnish-chart>charttype(line/bar/doughnut)、config(JSON)Chart.js による可視化Try it
<burnish-section>sectionlabel、count、status、collapsed折りたたみ可能なグループ化コンテナーTry it
<burnish-metric>metriclabel、value、unit、trend(up/down/flat)単一の KPI 表示Try it
<burnish-message>messagerole(user/assistant)、content、streamingチャットバブルTry it
<burnish-form>formtitle、tool-id、fields(JSON)ユーザー入力/ツールの実行Try it
<burnish-actions>actionsactions(JSON:[{label, action, prompt, icon?}])状況に応じた次のアクションボタンTry it
<burnish-pipeline>pipelinesteps(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、または other
  • node — Node.js のメジャーバージョン
  • bucket — 呼び出し回数のおおまかな区分:1、2-5、6-20、または 21+
  • id — 初回のオプトイン時に一度だけ生成される、ランダムなインストール ID(UUID)
  • schema_version — ペイロードのスキーマバージョン(現在は "1")

送信しない情報: サーバー URL、ツール名、スキーマ、引数、ファイルパス、ホスト名、ユーザー名、TCP 接続を介して確認できる IP アドレス、MCP サーバーからのあらゆるコンテンツ。ツール単位またはスキーマ単位でのトラッキングは行いません。

いつでもオプトアウトする方法:

  1. 環境変数 BURNISH_TELEMETRY=0 を設定します(false、off、no も使用できます)。この設定は、保存済みの選択より優先されます。
  2. または、保存された選択ファイルを削除または編集します:
    • macOS / Linux:~/.config/burnish/telemetry.json($XDG_CONFIG_HOME に対応)
    • Windows:%APPDATA%\burnish\telemetry.json

テレメトリーでは、短いタイムアウトを設定した HTTPS POST を https://burnish-demo.fly.dev/telemetry/v1/ping に一度だけ送信し、その後は処理を終了します。エンドポイントに接続できない場合も、CLI の動作は変わりません。再試行やキューへの登録は行いません。選択が保存されていない場合、非対話環境および CI 環境ではテレメトリーを完全にスキップします。

ライセンス

AGPL-3.0 — Daniel King (@danfking)

コメント

MCP は初めてですか?

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

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