heroicons-mcp について
heroicons-mcpは、ReactプロジェクトでHeroiconsを使うAIコーディングアシスタントやエージェント向けのMCPサーバーです。アイコン検索、スタイル別一覧、JSXの使用例を提供します。
主な機能
- 01名前やキーワードでアイコン検索
- 02スタイル別にアイコンを一覧表示
- 03JSXの使用例を取得
- 04OutlineとSolidのアイコンリソース
- 05HTTPまたはstdioで実行
活用シーン
- 01Reactの画面に合うアイコンを探す
- 02指定スタイルのアイコンを確認
- 03アイコンのJSX例を取得
MCP 対応
HeroiconsをMCPリソースとして公開し、検索、一覧表示、JSX例の取得ツールを提供します。MCPクライアントはHTTPまたはstdioで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | アイコン名またはカテゴリの検索語 |
| style | enum | いいえ | アイコンのスタイル:solid または outlinesolid | outline |
| category | string | いいえ | 絞り込みに使うカテゴリ(任意) |
| limit | number | いいえ | 返す結果の最大数 |
詳細
heroicons-mcp
Model Context Protocol(MCP) サーバーです。Heroicons をリソースおよびツールとして公開し、LLM やエージェント型アプリケーションから利用できます。Bun と MCP TypeScript SDK を使用して構築されています。
Heroicons とは?
Heroicons は、Tailwind CSS の開発元がデザインした、手作りの SVG アイコンの人気ライブラリです。複数のスタイル(Outline、Solid)が用意されており、Web プロジェクトに簡単に組み込めます。
MCP とは?
Model Context Protocol(MCP) は、AI ツールが主要な学習データ以外の情報源から特定のコンテキストを要求するための標準規格です。
この MCP サーバーを使うと、AI コーディングアシスタントやその他のエージェント型アプリケーションから Heroicons の情報にアクセスできるため、より適切な支援やアイコン検索が可能になります。
特徴
- Heroicons を MCP リソースとして公開します(Outline と Solid のスタイル)
- 名前やキーワードでアイコンを検索するツールを提供します
- すべてのアイコン、または特定のスタイルのアイコンを一覧表示できます
- Claude Desktop やその他の MCP クライアントとすぐに連携できます
- HTTP サーバーまたは stdio ベースの MCP サーバーとして実行できます
前提条件
はじめ方(開発)
1. リポジトリをクローンする
git clone https://github.com/SeeYangZhi/heroicons-mcp.git
cd heroicons-mcp
2. Bun をインストールする(まだインストールしていない場合)
公式の Bun インストールガイドを参照してください。
インストール後、ターミナルを再起動して、次のコマンドで確認します。
bun --version
3. 依存関係をインストールする
bun install
4. プロジェクトをビルドする
TypeScript のソースをコンパイルし、build ディレクトリに JavaScript を出力します。
bun run build
使い方
HTTP モード
npx を使って HTTP サーバーを実行できます。
npx heroicons-mcp
これにより HTTP サーバーが起動します(src/http.ts で定義されているとおり、デフォルトのポートは 3000 です)。
または、グローバルにインストールします。
npm install -g heroicons-mcp
次に、実行します。
heroicons-mcp
Stdio モード
npx heroicons-mcp --stdio
# or if installed globally
heroicons-mcp --stdio
ローカル開発
MCP サーバーを実行する方法は、主に 2 つあります。
1. HTTP モード
HTTP 通信をサポートするクライアントに適しています。
開発用(Bun を使用):
bun run start
# or directly
bun run src/entry.ts
これにより、デフォルトで HTTP モードとなる src/entry.ts のサーバーが実行されます。
2. Stdio モード
標準入力/出力を介して通信する、Claude Desktop や MCP Inspector などのツールとの直接連携によく使われます。
開発用(Bun を使用):
bun run src/entry.ts --stdio
AI ツールとの設定
例:Claude Desktop
この MCP サーバーを Claude Desktop で使用するには:
- Claude Desktop の設定ファイルを開きます。
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
(お好みのエディターを使うこともできます)2. mcpServers セクションにサーバーを追加します。
オプション A:npx を使用:
{
"mcpServers": {
"heroicons": {
"command": "npx",
"args": ["heroicons-mcp", "--stdio"]
}
}
}
オプション B:ビルド出力を直接指定(bun run build を実行してプロジェクトをビルドしておいてください):
{
"mcpServers": {
"heroicons": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/heroicons-mcp/build/entry.js", "--stdio"]
}
}
}
/ABSOLUTE/PATH/TO/heroicons-mcp/build/entry.js を、ビルドした entry.js ファイルの実際の絶対パスに置き換えてください。
- ファイルを保存し、Claude Desktop を再起動します。
- Claude のツールパネルに「heroicons」サーバーが表示されます。
Note:stdio モードでは、npx heroicons-mcp --stdio コマンドの使用を推奨します。
利用可能なツール(MCP)
この MCP サーバーは、AI コーディングアシスタント向けに以下のツールを公開しています。
- list_all_icons
- 説明:利用可能なすべての Heroicons を一覧表示します。スタイル(outline、solid)で絞り込むこともできます。
- パラメーター:
style(省略可:「outline」|「solid」)
- search_icons
- 説明:すべてのスタイルを対象に、名前またはキーワードで Heroicons を検索します。
- パラメーター:
query(文字列)、style(省略可:「outline」|「solid」)
- get_icon_usage_examples
- 説明:指定したアイコンの JSX 使用例を取得します。
- パラメーター:
name(文字列)、style(文字列:「outline」|「solid」)
使用例
AI ツールでのこの MCP サーバーの使用例を示します。
- ユーザーが AI ツールに依頼:「Heroicons から『user』アイコンを探してください。できれば solid スタイルでお願いします。」
- AI ツールが
search_iconsを呼び出す:
query:「user」style:「solid」
- MCP サーバーが応答し、一致する solid スタイルの Heroicons の一覧(例:
UserIcon、UserCircleIcon、UserPlusIcon)を返します。 - ユーザーがツールに依頼:「UserIcon の使用例を見せてください。」
- AI ツールが
get_icon_usage_examplesを呼び出す:
name:「UserIcon」style:「solid」
- MCP サーバーが JSX コードの例を返します:
import { UserIcon } from "@heroicons/react/24/solid";
function Example() {
return (
<div>
<UserIcon className="w-6 h-6 text-blue-500" />
</div>
);
}
Inspector を使った MCP のローカルテスト
MCP Inspector を使って、MCP サーバー(stdio モード)をローカルでテストできます。
まず、プロジェクトがビルドされていることを確認します。
bun run build
次に、--stdio フラグを指定して node ./build/entry.js コマンドを使い、Inspector を起動してサーバーに接続します。
npx @modelcontextprotocol/inspector node ./build/entry.js --stdio
Inspector のインターフェースが開き、MCP サーバーが公開しているリソースやツールを対話的にテストできます。
開発用スクリプト
bun run dev:開発用に HTTP モードでサーバーを起動します(src/entry.tsを使用)。bun run dev:stdio:開発用に stdio MCP サーバーを起動します(src/entry.ts --stdioを使用)。bun run build:TypeScript を JavaScript にコンパイルします(出力先はbuild/)。bun run lint:ESLint を使ってコードベースをリントします。
リソース
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。