Skip to main content
Glama
fidgetcoding

Refero MCP

Official
by fidgetcoding

Refero MCP

使用纯英文搜索 styles.refero.design,并将 DESIGN.md 放入任何项目中。

npm version License: MIT Node MCP Compatible

Follow on X LinkedIn YouTube Instagram


快速导航

链接

章节

功能

时间

这是什么

概览

目录、差距、封装

~1 分钟

快速安装

设置

一行代码接入 Claude Code

~1 分钟

使用方法

交互

纯英文提示词

~2 分钟

工具

参考

六个工具,每行一个

~1 分钟

配置

设置

环境变量 + JSON 配置

~1 分钟

工作原理

参考

缓存、嵌入、DESIGN.md 生成

~1 分钟

故障排除

参考

可能遇到的前三个问题

~1 分钟

许可 + 作者

元数据

MIT


Related MCP server: Design System MCP Server

这是什么

Refero Styles 是一个包含约 200 个精选网站的测试版目录,有人已经完成了提取颜色、排版、间距以及各风格“做/不做”指南的繁重工作。每个条目都附带一个 designSystem 块,基本上就是一个等待生成的 DESIGN.md。

此 MCP 封装了该目录,以便 Claude Code 可以用自然语言搜索它,并将生成的 DESIGN.md 直接放入你正在构建的任何项目中。无需浏览器标签页 JSON 复制粘贴,也无需手动编写标记表。

它适用于任何使用 Claude Code 启动新应用、演示文稿或客户项目的用户,他们希望在渲染第一个组件之前就锁定设计语言。


快速安装

一行代码:

claude mcp add refero -- npx -y fidgetcoding-refero-mcp

重启 Claude Code 并开始描述你想要的风格。

如果你想要“氛围搜索”(针对每个风格诗意的 northStar 摘要进行语义排名),请传入 OpenAI 密钥:

claude mcp add refero --env OPENAI_API_KEY=sk-... -- npx -y fidgetcoding-refero-mcp

如果没有密钥,搜索将回退到关键词评分。效果依然不错,只是没那么神奇。

对于 claude_desktop_config.json 用户:

{
  "mcpServers": {
    "refero": {
      "command": "npx",
      "args": ["-y", "fidgetcoding-refero-mcp"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "REFERO_MCP_VAULT_DIR": "/absolute/path/to/your/vault"
      }
    }
  }
}

使用方法

[!IMPORTANT] 你说话。Claude 分发。没有命令,没有语法,没有 JSON。

这里的每个工具都连接到纯英文提示词。你不需要记住工具名称或构建负载——Claude 会选择工具并填写参数。

一些可以清晰路由的提示词:

"Find me a dark editorial style with a serif and a warm accent."
"Pull the full breakdown for Linear."
"What's similar to Vercel in the Refero catalog?"
"Render Cursor's DESIGN.md — don't save it yet, just show me."
"Save Cursor's DESIGN.md into my PARZVL project."
"Show me only dark-mode brutalist styles, top five."
"Refresh the Refero catalog before we start the design pass."

更多实战配方请见 docs/USAGE.md


工具

工具

功能

refero_search

跨目录的自然语言氛围搜索。如果设置了 OPENAI_API_KEY 则使用嵌入,否则回退到 BM25-lite。

refero_get

获取某种风格的完整设计系统。接受 uuid、主机名(例如 cursor.com)或站点名称(例如 "Cursor")。

refero_similar

Refero 针对给定风格的“相似风格”排名。来自上游的免费推荐。

refero_list

浏览带有可选主题/标签过滤器的本地目录镜像。顺序稳定。

refero_design_md

将风格渲染为代理友好的 DESIGN.md(包含 frontmatter、北极星、颜色表、做/不做事项)。可选择写入磁盘。

refero_refresh

强制完全重新获取目录并覆盖本地镜像。跳过 24 小时 TTL。


配置

所有内容都是可选的。默认值已选定,以便 MCP 可以直接运行。

变量

必需

默认

功能

OPENAI_API_KEY

未设置

通过 text-embedding-3-small 启用氛围搜索。没有它,搜索将回退到关键词评分。

REFERO_API_BASE

https://styles.refero.design

如果 Refero 移动了 API 或你指向固定装置,请覆盖此项。

REFERO_CACHE_DIR

~/.refero-cache

本地目录镜像、嵌入和详细信息缓存的存放位置。

REFERO_CACHE_TTL_MS

86400000 (24小时)

缓存页面被视为新鲜的时间。

REFERO_MCP_VAULT_DIR

否 (项目写入必需)

未设置

refero_design_md 写入的库根目录的绝对路径。如果未设置,工具将返回 markdown 但不会写入磁盘。

仓库根目录附带一个可复制粘贴的 .env.example

REFERO_MCP_VAULT_DIR 没有默认值。之前的草稿硬编码了我的笔记本电脑路径,这对于地球上仅一台机器来说效果很好。审阅者发现了这一点。现在如果你不设置它,工具就会拒绝写入——虽然粗鲁,但总比把文件丢进你电脑上不存在的文件夹里要好。


工作原理

截至撰写本文时,没有公开的 Refero API 文档——其形状是根据实时站点凭经验映射的。完整的细分在 docs/api-surface.md 中,以便未来的我不会重新发现它。

  • 本地目录镜像。 Refero 公开了 ?page=N 分页,但静默忽略了 ?search=?q=?colorScheme=。因此,此 MCP 会遍历页面一次,将它们镜像到本地 REFERO_CACHE_DIR 下,并在客户端运行所有过滤和排名。

  • 通过 northStar 进行氛围搜索。 每个 Refero 风格都附带一个名为 northStar 的一行诗意摘要。设置 OPENAI_API_KEY 后,MCP 会使用 text-embedding-3-small 对这些摘要进行嵌入,并根据与你查询的余弦相似度进行排名。如果没有密钥,它会回退到 northStar + 标签 + 站点名称的关键词评分。

  • 本地生成 DESIGN.md。 Refero 没有公开 /design.md 端点。MCP 从 style.fullResult.designSystem(做、不做、标签、主题、角色标记颜色)中合成一个。输出与 /stitch-design-taste/design-taste-frontend 技能兼容。


故障排除

“未找到风格” / 目录感觉为空。 首次运行会命中冷缓存。让 Claude “刷新 Refero 目录”一次——它会以 250ms 的礼貌间隔遍历约 10 页,并将它们写入 REFERO_CACHE_DIR。之后,搜索就是即时的。

搜索结果感觉更像关键词而不是语义。 你可能没有设置 OPENAI_API_KEY。将其添加到你的 MCP 配置并重启,或者更多地利用目录的词汇(行业加上标签,如 editorialbrutalistglass)。

refero_design_md 返回 markdown 但无法写入磁盘。 REFERO_MCP_VAULT_DIR 未设置。将其设置为你的库根目录(绝对路径),工具将写入 <vault>/05-Projects/<NAME>/DESIGN.md。如果没有它,你会在对话中收到 markdown,可以将其粘贴到任何地方。


许可

MIT — 详情请参阅 LICENSE

作者

Nate Davidovich / Lorecraft LLC 构建。

⤴ 回到顶部


安全性:gitleaks 扫描

此仓库附带一个 .gitleaks.toml 配置和一个 scripts/security-scan.sh 辅助脚本,用于扫描工作树中的机密信息(GitHub 令牌、API 密钥、JWT、私钥、Anthropic 密钥等)。

bash scripts/security-scan.sh

一个 .husky/pre-commit 钩子也会在每次提交时运行 gitleaks protect --staged,如果本地未安装 gitleaks,则会发出警告。

如果你还没有安装它:

Available Tools

6 tools
refero_design_mdA

Render a Refero style as an agent-friendly DESIGN.md (frontmatter, north star, color table, fonts, dos/donts, tags). When save_to_project is set, writes the file to /05-Projects//DESIGN.md.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesuuid, hostname/URL, or site name to render.
save_to_projectNoVault project folder name (e.g. "PARZVL"). Sanitized; must be [A-Za-z0-9_.-].

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses the side effect of writing a file when save_to_project is set and specifies the file path. However, it does not detail overwrite behavior, error handling, or permission requirements, leaving some behavioral ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose and content, second adds conditional behavior. No superfluous information, efficiently communicates core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters and no output schema, the description explains the main action and optional save. It could mention that it generates a document without modifying the original style, but overall it is sufficient for an agent to understand what the tool does.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% coverage with clear descriptions. The tool description adds context by explaining the file path construction from save_to_project, going beyond the schema. Good addition but not essential.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a Refero style as a DESIGN.md file with specified contents (frontmatter, north star, etc.) and optionally writes it to a project folder. This distinguishes it from sibling tools that retrieve, list, or search styles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains what the tool does but lacks explicit guidance on when to use it over alternatives like refero_get or refero_search. No when/ when-not or comparison to siblings is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refero_getA

Fetch the full design system for a single style. Accepts a uuid, a hostname/URL (e.g. cursor.com), or a site name (e.g. "Cursor"). Fuzzy-matches site names within Levenshtein distance 2.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesuuid, hostname/URL, or site name.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses fuzzy matching behavior and acceptable input types. It does not explicitly state the tool is read-only or describe failure modes (e.g., no match found), but the intention is clear and no contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy, front-loaded with the primary action. Every word adds value—first sentence states purpose, second sentence details input flexibility and matching algorithm.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description could mention what the tool returns (e.g., JSON object of the design system), but for a simple fetch operation, the description is sufficiently complete. The context of sibling tools helps, and the tool is straightforward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes the 'identifier' parameter as 'uuid, hostname/URL, or site name' (100% coverage). The description adds value by explaining fuzzy matching (Levenshtein distance 2) and giving an example, which goes beyond the schema's basic description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches "the full design system for a single style," specifying the verb 'Fetch' and the resource 'full design system for a single style'. It distinguishes itself from sibling tools like refero_list (list all), refero_search (search), and refero_similar (find similar), which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists acceptable input formats (uuid, hostname/URL, site name) and provides an example ("Cursor"). It also mentions fuzzy matching with Levenshtein distance 2, giving clear guidance on how the identifier will be resolved, which helps the agent choose correct inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refero_listA

Browse the local catalog mirror with optional theme/tag filters. Returns paginated, stably-ordered results (newest first, then site name).

ParametersJSON Schema
NameRequiredDescriptionDefault
themeNoFilter to light- or dark-themed sites only.
tagsNoFilter by tag terms (matched against siteName + northStar in the catalog projection).
pageNo1-indexed page number (default 1).
limitNoItems per page (default 20, max 50).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It mentions read-like operation ('browse') and stable ordering, but does not disclose caching, rate limits, or whether the mirror is synced. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Purpose and key details are front-loaded, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers pagination, ordering, and filters. No output schema exists, but description could mention return structure. Still, given the tool's simplicity and thorough schema descriptions, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes all 4 parameters with 100% coverage. Description adds no additional meaning beyond restating 'optional theme/tag filters' and pagination. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool browses a catalog mirror with optional filters and pagination. Verb 'browse' and resource 'local catalog mirror' are specific, and the ordering detail distinguishes it from sibling tools like refero_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for browsing/filtering the catalog, but does not explicitly compare with alternatives (e.g., refero_search for full-text search, refero_similar for similar sites). No guidance on when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refero_refreshA

Force a full re-fetch of the styles.refero.design catalog and overwrite the local mirror. Useful after the catalog has changed and you don't want to wait for the 24h TTL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses destructive behavior (overwrite local mirror) but lacks details on authorization, side effects, rate limits, or synchronous/asynchronous nature. No annotations to supplement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences: first states action, second provides use case. No fluff, perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, description adequately explains purpose and when to use. Lacks mention of return value or sync/async but sufficient for a simple refresh.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has zero parameters, so description doesn't need to document any. Schema coverage is 100%. Baseline 4 for no parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action: force full re-fetch and overwrite local mirror. Specifies the resource (styles.refero.design catalog) and implies the verb 'refresh'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use: after catalog changes and wanting to avoid 24h TTL. Implies alternative is waiting or using other tools like refero_get for normal reads.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refero_similarA

Refero's own "similar styles" recommendation list for a given style. Useful for follow-up exploration once you've found a candidate via refero_search.

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesuuid, hostname/URL, or site name.
limitNoHow many similar styles to return (default 10, max 20).

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not disclose read-only nature, required permissions, or any side effects. Minimal behavioral info beyond purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no fluff. First sentence states purpose, second gives usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description does not hint at return format or pagination. However, tool is simple with good sibling context, so adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions; description adds no extra meaning. Baseline 3 due to 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'recommendation list for a given style' and distinguishes from siblings by referencing refero_search as a precursor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Useful for follow-up exploration once you've found a candidate via refero_search', which tells when to use it. Does not explicitly exclude alternatives, but context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedrefero_design_md
    • First observedrefero_get
    • First observedrefero_list
    • First observedrefero_refresh
    • First observedrefero_search
    • First observedrefero_similar

TDQS

A4.1/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching details, browsing, searching, refreshing, getting recommendations, and generating design docs. No overlap in functionality.

Naming Consistency4/5

All tools share the 'refero_' prefix and use lowercase with underscores, but the suffixes vary between verbs (get, list, refresh, search) and non-verbs (similar, design_md), causing slight inconsistency.

Tool Count5/5

6 tools is well-scoped for interacting with a design system catalog, covering key operations without being too few or too many.

Completeness4/5

The tool set covers browsing, searching, fetching details, getting recommendations, refreshing the catalog, and generating documentation. Minor gaps like filtering by popularity are absent but core workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fidgetcoding/refero-design-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server