FreeVectorIcons について
FreeVectorIcons の MCP サーバーは、アイコン、SVG、デザインブリーフ、DESIGN.md、プロジェクトファイルを含むデザインコレクションに AI エージェントを接続します。アセット検索とバージョン管理付きアップロードに対応し、トークンごとにアクセス先のコレクションを限定します。
主な機能
- 01コレクション内アセットの検索と取得
- 02SVG・Markdown コンテンツの読み取り
- 03バイナリファイルのダウンロード URL 取得
- 04アセットのアップロードと新バージョン作成
- 05ブリーフとアセットメタデータの編集
- 06アセット履歴とコミュニティパックの確認
活用シーン
- 01デザイン作業に使う承認済みアイコンの検索
- 02コレクションのガイドやプロジェクトファイルの取得
- 03レビュー用の新しいデザインのアップロード
- 04旧バージョンを残したアセットの反復編集
MCP 対応
stdio 経由で MCP クライアントにコレクションの読み書きツールを提供し、FreeVectorIcons HTTP API を呼び出します。ホスト型のリモート MCP エンドポイントも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @freevectoricons/mcpFVI_TOKENシークレットCollection-scoped token (fvi_col_…) from FreeVectorIcons → your collection → Integrations → Setup MCP. The collection is derived from this token. Never commit this value.FVI_API_URLAPI origin including /api. Leave the default for production.FVI_READ_ONLYSet true to hide write tools (park, upload, version).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@freevectoricons/mcp
ベータ版。 このパッケージは現在開発中です。ツールスキーマ、設定オプション、エラー時の動作は、v1.0.0 より前に変更される場合があります。本番環境で使用する前に、問題を報告するか、製品ドキュメントをご確認ください。
FreeVectorIcons のデザインコレクション向け Model Context Protocol(MCP)サーバーです。
Cursor、Claude Desktop、その他の MCP クライアントを単一の FreeVectorIcons コレクションに接続します(トークンからバインド先が決まるため、設定するのは FVI_TOKEN のみです)。カタログアイコン、アップロード済み SVG、戦略概要、DESIGN.md、関連するプロジェクトファイルにアクセスできます。アクセス範囲は、1 つのコレクショントークンに限定されます。
npm: @freevectoricons/mcp
概要
アイコンをその場で生成するエージェントは、セッションごとに一貫性のない SVG、不安定な識別子、誤ったライセンスを生成することがよくあります。FreeVectorIcons は、承認済みのアセットを、安定した ID とメタデータを備えたバージョン管理付きコレクションに保存します。
このサーバーは、そのコレクションを MCP クライアントに公開します。エージェントは SVG を一から再生成するのではなく、正規のアセットを検索して取得し、デザインをコレクションに書き戻してレビューに回します。アップロードされたアセットはバージョン管理されるため、以前の作業を失わずにエージェントが自由に反復できます。サーバーは stdio 経由で実行され、FreeVectorIcons HTTP API を呼び出します。レスポンスはメタデータを優先した JSON 形式です。ファイルのバイトデータは、ツールがインラインコンテンツまたはダウンロード URL を要求した場合にのみ取得されます。
ホスト型コネクター。 クライアントがリモート MCP サーバーに対応している場合は、このパッケージを使わずに https://mcp.freevectoricons.com/mcp に接続できます。インストールは不要で、クライアントからサインインするか、コレクショントークンを Authorization: Bearer ヘッダーとして送信します。freevectoricons.com/mcp をご覧ください。このパッケージは、ディスクから直接ファイルをアップロードするエージェントや、ローカルプロセスを使用する構成に適しています。
要件
- Node.js 20 以降
- FreeVectorIcons アカウント
- コレクション限定の MCP トークン
セットアップ
- freevectoricons.com でコレクションを開きます。
- Integrations → Setup MCP に移動します。
- コレクション限定のトークンを作成し、シークレットをコピーします。コレクション ID はトークンから取得されます(個別のコレクション ID 環境変数は不要です)。
MCP クライアントの設定にサーバーを追加します(例:.cursor/mcp.json)。
{
"mcpServers": {
"freevectoricons": {
"command": "npx",
"args": ["-y", "@freevectoricons/mcp"],
"env": {
"FVI_TOKEN": "<collection-token>"
}
}
}
}
上記のとおり npx でサーバーを実行します。MCP はプロトコルメッセージに stdio を使用するため、プロセスは stdout にプロトコル以外の出力を書き込んではなりません。
コピーして貼り付けて使えるテンプレートについては、mcp.json.example をご覧ください。
Claude Desktop
同じ mcpServers ブロックを claude_desktop_config.json に追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Cursor Marketplace(プラグイン)
このリポジトリは Cursor プラグイン(.cursor-plugin/plugin.json + mcp.json)でもあります。
- Cursor Marketplace に掲載されたらインストールするか、ローカルテスト用にこのリポジトリを
~/.cursor/plugins/local/freevectoriconsにコピーします(ファイルをコピーし、壊れたシンボリックリンクは避けてください)。 - Plugins → Configure を開き、FreeVectorIcons → Integrations → Setup MCP で取得した Collection token(
FVI_TOKEN)を設定します。 - 任意の設定:
FVI_API_URL(デフォルトは本番環境)、書き込みツールを非表示にするにはFVI_READ_ONLY=trueを設定します。
提出/再インデックス:cursor.com/marketplace/publish。
Google Antigravity と Gemini CLI
Gemini CLI は、2026 年 11 月 5 日にホスト型エンドポイントとの互換性テストに合格しました。Antigravity は 0.3.0-beta.3 でのツール名変更後、現在もテスト中です。合格するまではプレビューとして扱い、問題を報告してください。
Antigravity プラグイン。 このリポジトリは Antigravity プラグイン(.antigravity-plugin/plugin.json、mcp_config.json、skills/ フォルダー)でもあります。インストールしてから、/plugin(CLI)または「設定」→「カスタマイズ」(アプリ)で有効にし、求められたらコレクションのトークンを貼り付けてください。
Antigravity の設定ブロック。 または、これを ~/.gemini/config/mcp_config.json(すべてのプロジェクト)または .agents/mcp_config.json(1 つのワークスペース)に追加します。
{
"mcpServers": {
"freevectoricons": {
"command": "npx",
"args": ["-y", "@freevectoricons/mcp"],
"env": {
"FVI_TOKEN": "<collection-token>"
}
}
}
}
Gemini CLI 拡張機能。 このリポジトリからインストールし、求められたらコレクションのトークンを入力してください。
gemini extensions install https://github.com/FreeVectorIcons/fvi-mcp
後から gemini extensions config freevectoricons でトークンを変更できます。この拡張機能はリリース済みのパッケージバージョンを固定しているため、gemini extensions update freevectoricons を実行すると、新しいリリースが利用できるようになります。
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
FVI_TOKEN | はい | — | コレクションにスコープされた MCP トークン(fvi_col_*)。コレクションの紐付けは GET /api/mcp/whoami で取得されます。 |
FVI_COLLECTION_ID | いいえ | — | 非推奨/上書き専用。 設定されていて、トークンのコレクションと一致しない場合、アダプターは安全側に倒して処理を拒否します(COLLECTION_MISMATCH)。設定しないことを推奨します。 |
FVI_API_URL | いいえ | https://freevectoricons.com/api | API のベース URL(/api を含めてください) |
FVI_READ_ONLY | いいえ | false | true の場合、書き込みツールは登録されません。トークンのスコープを狭める場合にのみ使用できます |
FVI_TOOLS | いいえ | — | 登録するツール名をカンマ区切りで指定します。0.3.0-beta.3 以前の古い名前も使用できます。アクセスを狭める場合にのみ使用できます |
FVI_SKIP_TOKEN_CHECK | いいえ | false | 将来、トークン形式がローカルで拒否された場合の回避手段 |
FVI_ALLOW_FILE_PATHS | いいえ | false | アップロードツールでの filePath の使用を許可します。デフォルトでは無効です |
FVI_FILE_PATH_ROOTS | いいえ | — | filePath からの読み取りを許可するディレクトリをカンマ区切りで指定します |
FVI_TIMEOUT_MS | いいえ | 30000 | API 呼び出しの HTTP リクエストタイムアウト(ミリ秒) |
FVI_UPLOAD_TIMEOUT_MS | いいえ | 120000 | バイナリーアップロードリクエストのタイムアウト(ミリ秒) |
FVI_RETRY_MAX | いいえ | 3 | 一時的な障害に対する最大再試行回数 |
FVI_RETRY_BASE_MS | いいえ | 500 | 指数バックオフの基本待機時間(ミリ秒) |
FVI_LOG_LEVEL | いいえ | info | ログレベル:debug、info、warn、error(stderr、JSON) |
FVI_API_URL は、本番環境以外の API を指定する場合にのみ設定してください。
書き込みツールはデフォルトで有効です。エージェントは新しいアセットを一時保存し、既存アセットの新しいバージョンをアップロードできます。各変更はバージョンとして保存され、コレクション UI で確認または復元できます。取得のみを許可し、アップロードを禁止する場合に限り、FVI_READ_ONLY=true を設定してください。
トークンのセキュリティ
FVI_TOKEN はパスワードと同じように扱ってください。1 つのコレクションへのアクセス権を付与します。
- チーム環境では、OS のキーチェーン連携またはシークレットマネージャーを優先してください。
- 設定ファイルで環境変数を使用する場合は、ファイルのアクセス許可を制限し、トークンをバージョン管理に絶対にコミットしないでください。
- トークンが漏えいした可能性がある場合は、コレクションの Integrations タブからトークンをローテーションしてください。
- エージェントにコレクションからの読み取りのみを許可し、アップロードさせない場合は、
FVI_READ_ONLY=trueを設定してください。
コレクションの切り替え(トークンの再紐付け)
MCP サーバーを再起動しただけでは、古い FVI_TOKEN を保持している共有 stdio コネクターの紐付けは変更されません。
- Setup MCP で対象のコレクション用トークンを発行します。
- 新しい
FVI_TOKENを使ってコネクターの環境変数を再追加/設定します(Configure が利用できない場合は、アンインストールしてから追加します)。 get_collection_contextを使って動作確認し、collection.id/nameを確認します。- 2 つのコレクションに並行して接続し続ける必要がある場合は、名前付きサーバーエントリーを 2 つ使用します。
ツール
記録用ツール(get_asset_spreadsheet_preview、set_collection_strategy_brief、promote_asset_to_strategy_brief、set_asset_transcription_status、delete_collection_asset、probe_asset_text_layer)は、APIでこれらの機能が有効になっている場合にのみ表示されます。FVI_READ_ONLY=true が設定されている場合、またはトークンに書き込みスコープがない場合、書き込みツールも非表示になります。
読み取り
| ツール | 説明 |
|---|---|
get_collection_context | コレクションのメタデータ、戦略概要、アセットの概要 |
list_collection_assets | すべてのアセット(メタデータのみ) |
search_collection_assets | 名前、タグ、カテゴリ、スタイルで検索 |
get_asset | IDで指定した1つのアセット |
get_asset_content | カタログSVG、アップロードされたSVG、MarkdownのインラインUTF-8 |
get_asset_download_url | PNG、PDF、スプレッドシート(XLS/XLSX)、その他のバイナリ用の短期間有効なURL |
get_asset_download_urls | 1回の呼び出しにつき最大50アセット分の同じURL |
get_asset_spreadsheet_preview | XLS/XLSX用のサイズ上限付き先頭シートCSV/HTMLプレビュー |
list_asset_versions | バージョン番号、名前、サイズ、検証済みハッシュ、ソース |
list_community_packs | ライセンスとagentGuideのURLを含む公開コミュニティアイコンパック |
get_community_pack_guide | パックのAGENTS.md:ライセンス、帰属表示、URLパターン、厳選された使用ガイド |
書き込み
| ツール | 説明 |
|---|---|
create_asset_upload | アセットレコードと署名付きアップロード先を作成 |
park_asset | インラインテキストまたはbase64をコレクションにアップロード |
create_asset_version | 既存アセットの新しいバージョンをアップロード(以前のバージョンは保持) |
set_collection_strategy_brief | collection.metadata.strategyBriefを置き換え(ネイティブの戦略概要タブ) |
promote_asset_to_strategy_brief | Markdownアセットのテキストをネイティブの概要にコピー(アセットは削除しません) |
set_asset_transcription_status | textLayer / transcriptionメタデータをパッチ適用(OCRなし) |
update_asset | メタデータのみのPATCH:名前、タグ、documentType、DRLフィールド、カスタムメタデータ、リンク |
set_collection_design_md | インラインMarkdownまたは既存アセットから標準のDESIGN.mdをピン留め |
update_collection_purpose | コレクションの目的をbrandまたはrecordsに設定 |
create_asset_version_upload | 既存アセットの新しいバージョン用の署名付きアップロード |
complete_asset_upload | チェックサムとサイズを検証し、そのバージョンを最新に設定 |
refresh_asset_upload | URLの有効期限が切れた保留中のアップロードに、新しいアップロードURLを発行(15分) |
revert_asset_to_version | 以前のバージョンを最新にコピー。履歴は保持されます |
delete_collection_asset | コレクション項目のリンクのみをソフト削除 — バイトデータはハード削除されません。deleteスコープが必要です |
probe_asset_text_layer | PDF埋め込みテキストのベストエフォート検査(APIの機能フラグで制御) |
アップロードされたアセットは、FreeVectorIconsでバージョン履歴を保持します。既存のデザインを改良する場合、エージェントはcreate_asset_versionを、新しいファイルにはpark_assetを優先して使用してください。画像、PDF、スプレッドシート(.xls / .xlsx)には、メタデータとダウンロードURLを使用してください(ワークブックのバイトデータはMCPツールの結果に出力されません)。先頭シートを上限付きで確認するには、get_asset_spreadsheet_previewを使用してください。スキャンしたPDFの場合は、Markdownの同名ファイルを登録した後に文字起こしのステータスを設定してください。
登録したSTRATEGY_BRIEF.mdは補足文書にすぎません。promote_asset_to_strategy_briefまたはset_collection_strategy_briefを呼び出すまで、ネイティブの戦略概要タブには反映されません。
書き込み時に指定できる任意のメタデータ:drlProjectId、drlAssetType、documentType、tags。
名前が変更されたツール(0.3.0-beta.3)
クライアントによってはツール名にサーバー名のプレフィックスが付加されるため、冗長な design_ をツール名から削除しました(Antigravity のプレフィックスは33文字で、Geminiでは合計64文字まで使用できます)。引数、スコープ、動作に変更はありません。結果も変更ありませんが、set_collection_strategy_brief のドライランでは、would.operation: "set_collection_strategy_brief" が報告されるようになりました。
古い名前も、このパッケージおよびホスト型エンドポイントで引き続き呼び出せますが、一覧には表示されなくなりました。保存済みのプロンプト、ツール許可リスト(FVI_TOOLS はどちらの名前も受け付けます)、キャッシュされた承認を新しい名前に更新し、ツール一覧を再読み込みできるよう、クライアントを再接続するか再起動してください。古い名前は今後のリリースで削除されます。削除については、まずここでお知らせします。
| 旧名 | 新名 |
|---|---|
complete_design_asset_upload | complete_asset_upload |
create_design_asset_upload | create_asset_upload |
create_design_asset_version | create_asset_version |
create_design_asset_version_upload | create_asset_version_upload |
delete_design_collection_asset | delete_collection_asset |
get_design_asset | get_asset |
get_design_asset_content | get_asset_content |
get_design_asset_download_url | get_asset_download_url |
get_design_asset_download_urls | get_asset_download_urls |
get_design_asset_spreadsheet_preview | get_asset_spreadsheet_preview |
get_design_collection_context | get_collection_context |
list_design_asset_versions | list_asset_versions |
list_design_collection_assets | list_collection_assets |
park_design_asset | park_asset |
probe_design_asset_text_layer | probe_asset_text_layer |
promote_design_asset_to_strategy_brief | promote_asset_to_strategy_brief |
refresh_design_asset_upload | refresh_asset_upload |
revert_design_asset_to_version | revert_asset_to_version |
search_design_collection_assets | search_collection_assets |
update_design_asset | update_asset |
update_design_asset_transcription_status | set_asset_transcription_status |
update_design_collection_purpose | update_collection_purpose |
update_design_collection_strategy_brief | set_collection_strategy_brief |
set_asset_transcription_status は引き続きステータスのメタデータを記録するだけで、OCR は実行しません。
制限事項
- コレクション単位です。 1つのトークンでアクセスできるのは1つのコレクションであり、グローバルなアイコンカタログにはアクセスできません。
- カタログの品質。 カタログ内の SVG は AI で生成され、定期的に改良されています。本番環境で使用する前にアセットを確認してください。
- デザインレビューは行いません。 サーバーはファイルとメタデータを移動しますが、ブランドとの適合性は評価しません。
- OCR の精度は保証されません。
probe_asset_text_layerは、API で有効になっている場合にのみ、埋め込み PDF テキストを検出します。手書きやスキャンされたページには、使用可能なテキストレイヤーがないことがよくあります。失敗した場合は、アセットを削除せずにtranscription.status=failedを設定します。 - 完全削除ではなく、関連付けの解除です。
delete_collection_assetはコレクションとの関連付けだけを解除します。ストレージ上のデータは、今後ハード削除ポリシーが導入されるまで残ります。
開発
このパッケージのビルド、テスト、リリースについては、CONTRIBUTING.md をご覧ください。
関連情報
- @freevectoricons/mcp パッケージのアーキテクチャ — ソリューション設計アーキテクチャ(stdio トランスポート、ツールマッピング、セキュリティ境界)
- @freevectoricons/mcp の脆弱性を防ぐ — 公開依存関係を空に保つこと、監査ゲート、Dependabot
- freevectoricons.com/mcp — 製品ドキュメント
- ai-icon-generator — カタログアイコンのオープンなパイプライン
ライセンス
MIT — この MCP サーバーソフトウェアのみに適用されます。LICENSEをご覧ください。
アイコンの使用には、FreeVectorIcons Community Licenseが別途適用されます。プランやアイコンの使用方法によっては、クレジット表記が必要となる場合があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。