プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

MCP Icon Visual

作者:n0isyバージョン 0.1.1i★ –iパソコンで動く
レジストリ名io.github.n0isy/mcp-icon-visual

インストール

概要

作者による説明(英語の原文)

Search, retrieve, compare, and render SVG icons visually for AI agents.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 検索・AIの記憶

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "icon-visual": {
      "command": "npx",
      "args": [
        "-y",
        "@br-ai-n/mcp-icon-visual"
      ]
    }
  }
}

ターミナルでこれを実行します

claude mcp add icon-visual -- npx -y @br-ai-n/mcp-icon-visual

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "icon-visual": {
      "command": "npx",
      "args": [
        "-y",
        "@br-ai-n/mcp-icon-visual"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "icon-visual": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@br-ai-n/mcp-icon-visual"
      ]
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント n0isy で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

検索・AIの記憶のほかのサーバーとの比較i

  • このカテゴリのほかの7275件のうち0%よりスターが多い
  • このカテゴリのほかの7275件のうち5%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの7275件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

MCP Icon Visualは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは8 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Context7, Codebase Memory, Exa

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Context7

作者:upstash

Up-to-date docs for AI agents

パソコンでもクラウドでも★ 64,224MIT昨日更新
インストール

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

パソコンで動く★ 48,148MIT21 日前更新
インストール

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

クラウドで動く★ 5,213MIT先月更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

mcp-icon-visual

MCP server that gives AI agents the ability to search, retrieve, compare, and render SVG icons. Built with Rust and the rmcp SDK.

Combines local filesystem access with a remote rendering API to resolve SVGs from any source — inline strings, URLs, local files, or Iconify IDs — and render them onto visual comparison grids.

The key insight: every tool returns images. A vision-capable LLM doesn't just get metadata — it *sees* the icons. This turns icon selection from guesswork into a visual conversation.

search_icons("machine learning") — 4x4 grid, cells 0–15, returned as PNG

Agent Pipelines

These tools are designed to be composed by AI agents with vision. Below are three proven patterns.

1. Visual Search & Selection

An agent searches for icons and visually picks the best match — no blind URL selection.

                          ┌─────────────────────────────┐

│ Agent + Vision │ └──────────────┬──────────────┘ │ ┌────────────────┼────────────────┐ v v v search_icons search_icons search_icons "cloud" "upload" "storage" │ │ │ v v v ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 4x4 grid │ │ 4x4 grid │ │ 4x4 grid │ │ (sees) │ │ (sees) │ │ (sees) │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ └───────────────┼───────────────┘ v "cells 3, 7, 12 match the project style" │ v render_grid [3 winners] │ v ┌──────────────────┐ │ final comparison │ │ grid (sees) │──> pick best └──────────────────┘

The agent runs multiple searches, looks at each grid, picks candidates by cell number, then renders a final side-by-side comparison to make the choice. Works especially well when the agent has context about the project's visual style.

2. Iterative Icon Editing

An agent modifies SVG code and uses render_grid as a visual diff to track progress across iterations.

         get_svg "mdi/cloud"

│ v ┌───────────┐ │ raw SVG │ │ markup │ └─────┬─────┘ │ ┌────────┴─────────────────────────────────────┐ │ Edit Loop │ │ │ │ Agent modifies SVG code │ │ │ │ │ v │ │ render_grid [original, v1, v2, v3] │ │ │ │ │ v │ │ ┌──────────────────────────────┐ │ │ │ cell 0: original │ │ │ │ cell 1: thicker strokes │ │ │ │ cell 2: rounded corners │ │ │ │ cell 3: filled variant │ │ │ └──────────────┬───────────────┘ │ │ │ │ │ agent sees all versions │ │ decides next edit │ │ │ │ │ └──── loop ──────────────────┘ │ v save final SVG to disk

Each iteration, the agent passes all versions (original + edits) as inline SVGs to render_grid. It sees them side-by-side in one image and decides whether to keep iterating or stop. The original always stays in cell 0 as a reference.

3. Style Matching & Consistency

An agent ensures new icons match the visual style of existing project icons.

  Project icons on disk             Candidate sources

───────────────────── ───────────────── /app/icons/nav-home.svg search_icons "settings" /app/icons/nav-search.svg │ /app/icons/nav-profile.svg v │ picks cells 2, 5, 9 │ │ └──────────┬───────────────────┘ v render_grid [ /app/icons/nav-home.svg, ← cell 0: existing /app/icons/nav-search.svg, ← cell 1: existing /app/icons/nav-profile.svg, ← cell 2: existing candidate_url_1, ← cell 3: candidate candidate_url_2, ← cell 4: candidate candidate_url_3, ← cell 5: candidate " ...custom edit... " ← cell 6: agent's edit ] │ v ┌────────────────────────────────┐ │ grid image: │ │ existing icons vs candidates │ │ (agent sees style match/clash) │ └────────────────┬───────────────┘ │ agent judges: "cell 4 matches stroke weight and corner radius of cells 0-2, cell 3 is too thin, cell 5 wrong fill style" │ v get_svg cell_4_url │ v save to /app/icons/nav-settings.svg

By mixing local file paths and remote sources in a single grid, the agent can visually compare existing project icons against candidates in one shot. The grid becomes a style audit tool.

Combining Pipelines

These patterns compose naturally. A real-world workflow might:

  1. Search across multiple keywords (pipeline 1)
  2. Compare top candidates against existing project icons (pipeline 3)
  3. Edit the closest match to fix style inconsistencies (pipeline 2)
  4. Verify the final icon one more time against the full icon set (pipeline 3)

All driven by a single agent with vision, using three tools.

Tools

search_icons

Semantic icon search. Returns a 4x4 PNG grid (512x512, cells 0-15) and a mapping of cell numbers to SVG URLs.

ParameterTypeDefaultDescription
keywordstring*required*Semantic search query (e.g. "cloud computing", "arrows")
backgroundstring"#FFFFFF"Grid background color, CSS hex
colorstring \nullnullRecolor all icons to this CSS hex color
get_svg

Retrieve raw SVG markup from any source. Returns the complete SVG string for inspection or modification.

ParameterTypeDescription
sourcestringURL, Iconify ID (mdi/cloud), absolute file path, or inline
render_grid

Render 1-16 SVGs onto a 4x4 comparison grid (512x512, cells 0-15). Useful for comparing icon variants side-by-side or previewing local icons alongside search results.

ParameterTypeDefaultDescription
sourcesstring[]*required*1-16 SVG sources (URLs, Iconify IDs, file paths, or inline SVGs)
backgroundstring"#FFFFFF"Grid background color, CSS hex

Source Resolution

All tools share a unified resolution pipeline that classifies sources automatically:

Source typeExampleResolution
Inline SVG ... Returned as-is
URLhttps://mdn.alipayobjects.com/.../originalResolved via API
File path/home/user/icons/logo.svgRead from local disk
Iconify IDmdi/cloud, lucide/homeResolved via API

File paths are detected by prefix (/, ./, ~/) or .svg extension. Everything else without http:///https:// is treated as an Iconify ID.

Grid Format

All grid outputs are 512x512 PNG images with a 4x4 layout (128x128 cells), numbered 0-15 left-to-right, top-to-bottom:

┌────┬────┬────┬────┐

│ 0 │ 1 │ 2 │ 3 │ ├────┼────┼────┼────┤ │ 4 │ 5 │ 6 │ 7 │ ├────┼────┼────┼────┤ │ 8 │ 9 │ 10 │ 11 │ ├────┼────┼────┼────┤ │ 12 │ 13 │ 14 │ 15 │ └────┴────┴────┴────┘

Cell numbers appear at the bottom-left of each cell. Unused cells show the number only.

Installation

npx (recommended)

No build needed. Works on Linux (x64/arm64), macOS (Intel/Apple Silicon), and Windows (x64).

{

"mcpServers": { "icon-visual": { "command": "npx", "args": ["-y", "@br-ai-n/mcp-icon-visual"] } } }

From source

Requires Rust (edition 2024):

cargo build --release --target x86_64-unknown-linux-musl

The release profile produces a fully static binary (musl libc, rustls-tls, LTO, stripped).

Usage

# Default upstream API

./mcp-icon-visual

Custom API endpoint

./mcp-icon-visual --api-base http://localhost:3000

The server communicates over stdio using the MCP protocol.

MCP Client Configuration

Claude Desktop / Cursor
{

"mcpServers": { "icon-visual": { "command": "npx", "args": ["-y", "@br-ai-n/mcp-icon-visual"] } } }

Custom API endpoint
{

"mcpServers": { "icon-visual": { "command": "/path/to/mcp-icon-visual", "args": ["--api-base", "http://localhost:3000"] } } }

Project Structure

src/

├── main.rs # Entrypoint, CLI args, stdio transport ├── server.rs # IconServer + MCP tool routing + response builders ├── api_client.rs # HTTP client for upstream rendering API ├── resolve.rs # Source classification and SVG resolution ├── error.rs # Error types └── tools/ ├── mod.rs ├── search_icons.rs # SearchIconsParams ├── get_svg.rs # GetSvgParams └── render_grid.rs # RenderGridParams

Testing

# Unit tests (source classification)

cargo test

Integration tests (requires network access to icons.buan.me)

cargo test -- --ignored

Dependencies

CratePurpose
rmcpMCP server SDK (tool routing, stdio transport)
tokioAsync runtime
reqwestHTTP client (rustls-tls, no OpenSSL)
serde / serde_jsonSerialization
schemarsJSON Schema generation for tool parameters
clapCLI argument parsing
base64Base64 encoding
tracingLogging
thiserrorError derive macros

License

MIT License

Copyright (c) 2025

Permission is hereby granted,

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く