Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Search, retrieve, compare, and render SVG icons visually for AI agents.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"icon-visual": {
"command": "npx",
"args": [
"-y",
"@br-ai-n/mcp-icon-visual"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add icon-visual -- npx -y @br-ai-n/mcp-icon-visualPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"icon-visual": {
"command": "npx",
"args": [
"-y",
"@br-ai-n/mcp-icon-visual"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"icon-visual": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@br-ai-n/mcp-icon-visual"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub n0isy, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.1) llegó al registro hace 8 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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
These tools are designed to be composed by AI agents with vision. Below are three proven patterns.
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.
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.
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.
These patterns compose naturally. A real-world workflow might:
All driven by a single agent with vision, using three tools.
search_iconsSemantic icon search. Returns a 4x4 PNG grid (512x512, cells 0-15) and a mapping of cell numbers to SVG URLs.
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
keyword | string | *required* | Semantic search query (e.g. "cloud computing", "arrows") | |
background | string | "#FFFFFF" | Grid background color, CSS hex | |
color | string \ | null | null | Recolor all icons to this CSS hex color |
get_svgRetrieve raw SVG markup from any source. Returns the complete SVG string for inspection or modification.
| Parameter | Type | Description |
|---|---|---|
source | string | URL, Iconify ID (mdi/cloud), absolute file path, or inline |
render_gridRender 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
sources | string[] | *required* | 1-16 SVG sources (URLs, Iconify IDs, file paths, or inline SVGs) |
background | string | "#FFFFFF" | Grid background color, CSS hex |
All tools share a unified resolution pipeline that classifies sources automatically:
| Source type | Example | Resolution |
|---|---|---|
| Inline SVG | ... | Returned as-is |
| URL | https://mdn.alipayobjects.com/.../original | Resolved via API |
| File path | /home/user/icons/logo.svg | Read from local disk |
| Iconify ID | mdi/cloud, lucide/home | Resolved via API |
File paths are detected by prefix (/, ./, ~/) or .svg extension. Everything else without http:///https:// is treated as an Iconify ID.
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.
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"] } } }
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).
# Default upstream API
./mcp-icon-visual
./mcp-icon-visual --api-base http://localhost:3000
The server communicates over stdio using the MCP protocol.
{
"mcpServers": { "icon-visual": { "command": "npx", "args": ["-y", "@br-ai-n/mcp-icon-visual"] } } }
{
"mcpServers": { "icon-visual": { "command": "/path/to/mcp-icon-visual", "args": ["--api-base", "http://localhost:3000"] } } }
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
# Unit tests (source classification)
cargo test
cargo test -- --ignored
| Crate | Purpose |
|---|---|
rmcp | MCP server SDK (tool routing, stdio transport) |
tokio | Async runtime |
reqwest | HTTP client (rustls-tls, no OpenSSL) |
serde / serde_json | Serialization |
schemars | JSON Schema generation for tool parameters |
clap | CLI argument parsing |
base64 | Base64 encoding |
tracing | Logging |
thiserror | Error derive macros |
MIT License
Copyright (c) 2025
Permission is hereby granted,
Solo se muestra el principio; lee el resto en el repo