FreeVectorIcons

io.github.FreeVectorIcons由 GitHub 账号 FreeVectorIcons 发布v0.3.0-beta.3更新于 Nov 7, 2026

Read and write a FreeVectorIcons design collection: briefs, DESIGN.md, icons and brand assets.

概览

AI 生成的概览

把助手连接到单个 FreeVectorIcons 设计集合,可搜索、读取并上传图标、SVG、策略简报和 DESIGN.md。

可以做什么
  • 读取集合信息、策略简报和素材摘要,并按名称、标签、分类或风格列出或搜索素材。
  • 获取素材详情、内联 SVG 或 Markdown 内容、二进制文件的短期下载链接以及表格预览。
  • 上传新素材、为已有素材创建新版本、刷新过期上传链接并回退到旧版本。
  • 修改元数据、标签和文档类型,并设置集合的策略简报、DESIGN.md 和用途。
  • 浏览公开的社区图标包,并阅读其许可与使用指南。
适用场景
适合让助手从共享集合中取用已审核的图标和品牌素材,而不是从头生成 SVG;也适合让助手把新设计写回集合以便审核并保留版本历史。
运行要求
以 npx 运行的本地进程,需要 Node.js 20 或更高版本。需要 FreeVectorIcons 账号,以及通过 FVI_TOKEN 提供的集合级令牌,该令牌同时决定所绑定的集合。可选配置包括 FVI_API_URL、FVI_READ_ONLY、FVI_TOOLS 和文件路径上传开关。需要访问 FreeVectorIcons API 的网络连接。
安装前请注意
FVI_TOKEN 是类似密码的密钥,可访问一个集合,请勿提交到版本控制,泄露后应轮换。写入工具默认开启,可上传、修改元数据、设置简报或 DESIGN.md,并软解除素材关联;如需只读请设置 FVI_READ_ONLY=true。文件路径上传默认关闭,需启用 FVI_ALLOW_FILE_PATHS。该包处于 beta 阶段,工具结构可能变化。

安装

在 SourceWeft 中

  1. 打开 控制台中的 FreeVectorIcons,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@freevectoricons/mcp

Beta. This package is under active development. Tool schemas, configuration options, and error behavior may change before v1.0.0. Report issues or review the product docs before production use.

Model Context Protocol (MCP) server for FreeVectorIcons design collections.

Connects Cursor, Claude Desktop, and other MCP clients to a single FreeVectorIcons collection (token-derived binding — configure FVI_TOKEN only): catalog icons, uploaded SVGs, strategy briefs, DESIGN.md, and related project files. Access is scoped to one collection token.

npm: @freevectoricons/mcp

Overview

Agents that generate icons inline often produce inconsistent SVG, unstable identifiers, and incorrect licensing across sessions. FreeVectorIcons stores approved assets in versioned collections with stable IDs and metadata.

This server exposes that collection to MCP clients. Agents search and retrieve canonical assets instead of regenerating SVG from scratch, and write designs back into the collection for review. Uploaded assets are versioned, so agents can iterate freely without losing prior work. The server runs over stdio and calls the FreeVectorIcons HTTP API. Responses are metadata-first JSON; file bytes are fetched only when a tool requests inline content or a download URL.

Hosted connector. If your client supports remote MCP servers, you can skip this package and connect to https://mcp.freevectoricons.com/mcp instead: nothing to install, and you sign in from your client or send a collection token as an Authorization: Bearer header. See freevectoricons.com/mcp. This package suits agents that upload files straight from disk, or setups that prefer a local process.

Requirements

  • Node.js 20 or later
  • A FreeVectorIcons account
  • A collection-scoped MCP token

Setup

  1. Open a collection at freevectoricons.com.
  2. Go to Integrations → Setup MCP.
  3. Create a collection-scoped token and copy the secret. The collection id is derived from the token (no separate collection id env var required).

Add the server to your MCP client configuration (for example .cursor/mcp.json):

json
{  "mcpServers": {    "freevectoricons": {      "command": "npx",      "args": ["-y", "@freevectoricons/mcp"],      "env": {        "FVI_TOKEN": "<collection-token>"      }    }  }}

Run the server with npx as shown above. MCP uses stdio for protocol messages; the process must not write non-protocol output to stdout.

See mcp.json.example for a copy-paste template.

Claude Desktop

Add the same mcpServers block to 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 (plugin)

This repository is also a Cursor Plugin (.cursor-plugin/plugin.json + mcp.json).

  1. Install from Cursor Marketplace once listed, or copy this repo to ~/.cursor/plugins/local/freevectoricons for local testing (copy files; avoid broken symlinks).
  2. Open Plugins → Configure and set Collection token (FVI_TOKEN) from FreeVectorIcons → Integrations → Setup MCP.
  3. Optional: FVI_API_URL (defaults to production), FVI_READ_ONLY=true to hide write tools.

Submit / re-index: cursor.com/marketplace/publish.

Google Antigravity and Gemini CLI

Gemini CLI passed the compatibility tests against the hosted endpoint on 5 Nov 2026. Antigravity is still being tested after the 0.3.0-beta.3 tool rename; until it passes, treat it as a preview and report issues.

Antigravity plugin. This repository is also an Antigravity plugin (.antigravity-plugin/plugin.json, mcp_config.json and the skills/ folder). Install it, then turn it on under /plugin (CLI) or Settings → Customizations (app) and paste your collection token when asked.

Antigravity config block. Or add this to ~/.gemini/config/mcp_config.json (all projects) or .agents/mcp_config.json (one workspace):

json
{  "mcpServers": {    "freevectoricons": {      "command": "npx",      "args": ["-y", "@freevectoricons/mcp"],      "env": {        "FVI_TOKEN": "<collection-token>"      }    }  }}

Gemini CLI extension. Install from this repository and enter your collection token when prompted:

bash
gemini extensions install https://github.com/FreeVectorIcons/fvi-mcp

Change the token later with gemini extensions config freevectoricons. The extension pins a released package version, so a new release reaches you when you run gemini extensions update freevectoricons.

Environment variables

VariableRequiredDefaultDescription
FVI_TOKENyes—Collection-scoped MCP token (fvi_col_*). Collection binding is derived via GET /api/mcp/whoami.
FVI_COLLECTION_IDno—Deprecated / override only. If set and it disagrees with the token’s collection, the adapter fails closed (COLLECTION_MISMATCH). Prefer omitting it.
FVI_API_URLnohttps://freevectoricons.com/apiAPI base URL (include /api)
FVI_READ_ONLYnofalseWhen true, write tools are not registered. Can only narrow token scopes
FVI_TOOLSno—Comma-separated tool names to register. Old names from before 0.3.0-beta.3 are accepted. Can only narrow access
FVI_SKIP_TOKEN_CHECKnofalseEscape hatch if a future token shape is rejected locally
FVI_ALLOW_FILE_PATHSnofalseAllow filePath on upload tools. Off by default
FVI_FILE_PATH_ROOTSno—Comma-separated directories filePath may read
FVI_TIMEOUT_MSno30000HTTP request timeout for API calls (milliseconds)
FVI_UPLOAD_TIMEOUT_MSno120000Timeout for binary upload requests (milliseconds)
FVI_RETRY_MAXno3Maximum retry attempts for transient failures
FVI_RETRY_BASE_MSno500Base delay for exponential backoff (milliseconds)
FVI_LOG_LEVELnoinfoLog level: debug, info, warn, or error (stderr, JSON)

Set FVI_API_URL only when pointing at a non-production API.

Write tools are enabled by default. Agents can park new assets and upload new versions of existing ones; each change is stored as a version you can review or restore in the collection UI. Set FVI_READ_ONLY=true only if you want retrieval without uploads.

Token security

Treat FVI_TOKEN like a password. It grants access to one collection.

  • Prefer OS keychain integration or a secrets manager in team environments.
  • If you use environment variables in config files, restrict file permissions and never commit tokens to version control.
  • Rotate tokens from the collection Integrations tab if a token may have been exposed.
  • Set FVI_READ_ONLY=true if an agent should only read from the collection, not upload.

Switching collections (token rebind)

Restarting MCP servers alone does not rebind a shared stdio connector that still has an old FVI_TOKEN.

  1. Mint a token for the target collection in Setup MCP.
  2. Re-Add / Configure the connector env with the new FVI_TOKEN (uninstall + add if Configure is unavailable).
  3. Smoke get_collection_context and confirm collection.id / name.
  4. Use a second named server entry when two collections must stay connected in parallel.

Tools

Records tools (get_asset_spreadsheet_preview, set_collection_strategy_brief, promote_asset_to_strategy_brief, set_asset_transcription_status, delete_collection_asset, probe_asset_text_layer) are listed only when the API has those features enabled. Write tools are also hidden when FVI_READ_ONLY=true or the token lacks write scope.

Read

ToolDescription
get_collection_contextCollection metadata, strategy brief, asset summary
list_collection_assetsAll assets (metadata only)
search_collection_assetsSearch by name, tag, category, or style
get_assetOne asset by ID
get_asset_contentInline UTF-8 for catalog SVGs, uploaded SVGs, Markdown
get_asset_download_urlShort-lived URL for PNG, PDF, spreadsheets (XLS/XLSX), and other binaries
get_asset_download_urlsThe same URLs for up to 50 assets per call
get_asset_spreadsheet_previewSize-capped first-sheet CSV/HTML preview for XLS/XLSX
list_asset_versionsVersion number, name, size, verified hash, and source
list_community_packsPublic community icon packs with license and agentGuide URLs
get_community_pack_guideA pack's AGENTS.md: license, attribution, URL patterns, curated usage guide

Write

ToolDescription
create_asset_uploadCreate asset record and signed upload target
park_assetUpload inline text or base64 into the collection
create_asset_versionUpload a new version of an existing asset (prior versions retained)
set_collection_strategy_briefReplace collection.metadata.strategyBrief (native Strategy Brief tab)
promote_asset_to_strategy_briefCopy Markdown asset text into the native brief (does not delete the asset)
set_asset_transcription_statusPatch textLayer / transcription metadata (no OCR)
update_assetMetadata-only PATCH: name, tags, documentType, DRL fields, custom metadata, and links
set_collection_design_mdPin the canonical DESIGN.md from inline Markdown or an existing asset
update_collection_purposeSet collection purpose to brand or records
create_asset_version_uploadSigned upload for a new version of an existing asset
complete_asset_uploadVerify checksum and size, then make that version current
refresh_asset_uploadIssue a fresh upload URL for a pending upload whose URL expired (15 minutes)
revert_asset_to_versionCopy an earlier version forward. History is kept
delete_collection_assetSoft-unlink collection item only — does not hard-delete bytes. Requires the delete scope
probe_asset_text_layerBest-effort PDF embedded text probe (API feature-flagged)

Uploaded assets keep version history in FreeVectorIcons. Agents should prefer create_asset_version when refining an existing design, and park_asset for new files. Agents should use metadata and download URLs for images, PDFs, and spreadsheets (.xls / .xlsx) — workbook bytes are not dumped into MCP tool results. Use get_asset_spreadsheet_preview for a capped first-sheet look. For scanned PDFs, set transcription status after parking a Markdown sibling.

Parked STRATEGY_BRIEF.md is a supporting document only — it does not fill the native Strategy Brief tab until you call promote_asset_to_strategy_brief or set_collection_strategy_brief.

Optional write metadata: drlProjectId, drlAssetType, documentType, tags.

Renamed tools (0.3.0-beta.3)

Tool names dropped the redundant design_ so they fit clients that prefix tool names with the server name (Antigravity's prefix is 33 characters, and Gemini allows 64 in total). Arguments, scopes and behaviour are unchanged. Results are unchanged except that a set_collection_strategy_brief dry run now reports would.operation: "set_collection_strategy_brief".

The old names still work when called, on this package and on the hosted endpoint, but are no longer listed. Update saved prompts, tool allowlists (FVI_TOOLS accepts either) and cached approvals to the new names, then reconnect or restart your client so it reloads the tool list. Old names will be removed in a later release, announced here first.

Old nameNew name
complete_design_asset_uploadcomplete_asset_upload
create_design_asset_uploadcreate_asset_upload
create_design_asset_versioncreate_asset_version
create_design_asset_version_uploadcreate_asset_version_upload
delete_design_collection_assetdelete_collection_asset
get_design_assetget_asset
get_design_asset_contentget_asset_content
get_design_asset_download_urlget_asset_download_url
get_design_asset_download_urlsget_asset_download_urls
get_design_asset_spreadsheet_previewget_asset_spreadsheet_preview
get_design_collection_contextget_collection_context
list_design_asset_versionslist_asset_versions
list_design_collection_assetslist_collection_assets
park_design_assetpark_asset
probe_design_asset_text_layerprobe_asset_text_layer
promote_design_asset_to_strategy_briefpromote_asset_to_strategy_brief
refresh_design_asset_uploadrefresh_asset_upload
revert_design_asset_to_versionrevert_asset_to_version
search_design_collection_assetssearch_collection_assets
update_design_assetupdate_asset
update_design_asset_transcription_statusset_asset_transcription_status
update_design_collection_purposeupdate_collection_purpose
update_design_collection_strategy_briefset_collection_strategy_brief

set_asset_transcription_status still only records status metadata and does not run OCR.

Limitations

  • Collection-scoped. One token grants access to one collection, not the global icon catalog.
  • Catalog quality. Catalog SVGs are AI-generated and refined on a schedule; verify assets before production use.
  • No design review. The server moves files and metadata; it does not evaluate brand fit.
  • OCR is best-effort. probe_asset_text_layer detects embedded PDF text only when enabled on the API; handwritten/scanned pages often have no usable text layer. Failures set transcription.status=failed without deleting the asset.
  • Soft unlink, not hard delete. delete_collection_asset removes the collection membership only — storage bytes stay until a future hard-delete policy.

Development

Building, testing and releasing this package are covered in CONTRIBUTING.md.

Related

License

MIT — applies to this MCP server software only. See LICENSE.

Icon usage is governed separately by the FreeVectorIcons Community License. Attribution may be required depending on your plan and how icons are used.

来源:README.md,提交 dafd74e

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.3.0-beta.3最新Nov 7, 2026
  2. v0.3.0-beta.2Nov 4, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分