Skip to main content
Glama
fidgetcoding

Refero MCP

Official
by fidgetcoding

Refero MCP

Busca en styles.refero.design en lenguaje sencillo y añade un archivo DESIGN.md a cualquier proyecto.

npm version License: MIT Node MCP Compatible

Follow on X LinkedIn YouTube Instagram


Navegación rápida

Enlace

Sección

Qué hace

Tiempo

Qué es esto

Resumen

El catálogo, el vacío, la integración

~1 min

Instalación rápida

Configuración

Una línea en Claude Code

~1 min

Uso

Interactuar

Prompts en lenguaje sencillo

~2 min

Herramientas

Referencia

Las seis herramientas, una línea cada una

~1 min

Configuración

Configuración

Variables de entorno + config JSON

~1 min

Cómo funciona

Referencia

Caché, embeddings, generación de DESIGN.md

~1 min

Solución de problemas

Referencia

Los tres problemas más probables

~1 min

Licencia + Autor

Meta

MIT


Related MCP server: Design System MCP Server

Qué es esto

Refero Styles es un catálogo beta de unos 200 sitios seleccionados donde alguien ha hecho el arduo trabajo de extraer los colores, la tipografía, el espaciado y las guías de qué hacer y qué no hacer por estilo. Cada entrada incluye un bloque designSystem que es básicamente un DESIGN.md esperando a ser creado.

Este MCP envuelve ese catálogo para que Claude Code pueda buscar en él usando lenguaje natural y añadir un DESIGN.md generado directamente en cualquier proyecto que estés estructurando. Sin copiar y pegar JSON de pestañas del navegador, sin tablas de tokens hechas a mano.

Es para cualquiera que use Claude Code para iniciar una nueva aplicación, presentación o proyecto de cliente y quiera definir el lenguaje de diseño antes de renderizar el primer componente.


Instalación rápida

Una línea:

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

Reinicia Claude Code y empieza a describir el estilo que buscas.

Si quieres una búsqueda por "vibe" (clasificación semántica basada en el resumen poético northStar de cada estilo), proporciona una clave de OpenAI:

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

Sin ella, la búsqueda recurre a la puntuación por palabras clave. Funciona bien, solo que es menos mágico.

Para usuarios de 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"
      }
    }
  }
}

Uso

[!IMPORTANT] Tú hablas. Claude ejecuta. Sin comandos, sin sintaxis, sin JSON.

Cada herramienta aquí está conectada a prompts en lenguaje sencillo. No memorizas nombres de herramientas ni construyes payloads: Claude elige la herramienta y rellena los parámetros.

Algunos prompts que funcionan bien:

"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."

Más recetas en docs/USAGE.md.


Herramientas

Herramienta

Qué hace

refero_search

Búsqueda por "vibe" en lenguaje natural en todo el catálogo. Embeddings si OPENAI_API_KEY está configurada, fallback a BM25-lite si no.

refero_get

Obtiene el sistema de diseño completo para un estilo. Acepta un uuid, nombre de host (ej. cursor.com) o nombre del sitio (ej. "Cursor").

refero_similar

Clasificación de "estilos similares" de Refero para un estilo dado. Recomendaciones gratuitas del origen.

refero_list

Explora el espejo del catálogo local con filtros opcionales de tema/etiqueta. Orden estable.

refero_design_md

Renderiza un estilo como un DESIGN.md apto para agentes (frontmatter, north star, tabla de colores, qué hacer/no hacer). Opcionalmente escribe en disco.

refero_refresh

Fuerza una recarga completa del catálogo y sobrescribe el espejo local. Omite el TTL de 24h.


Configuración

Todo es opcional. Los valores predeterminados están elegidos para que el MCP funcione directamente.

Variable

Requerido

Predeterminado

Qué hace

OPENAI_API_KEY

No

sin configurar

Habilita la búsqueda por "vibe" mediante text-embedding-3-small. Sin ella, la búsqueda recurre a puntuación por palabras clave.

REFERO_API_BASE

No

https://styles.refero.design

Sobrescribe si Refero cambia la API o si apuntas a un fixture.

REFERO_CACHE_DIR

No

~/.refero-cache

Dónde residen el espejo del catálogo local, los embeddings y la caché de detalles.

REFERO_CACHE_TTL_MS

No

86400000 (24h)

Cuánto tiempo se considera fresca una página en caché.

REFERO_MCP_VAULT_DIR

No (requerido para escritura)

sin configurar

Ruta absoluta a la raíz del almacén donde escribe refero_design_md. Si no se establece, la herramienta devuelve el markdown pero no escribe en disco.

Un .env.example para copiar y pegar se incluye en la raíz del repositorio.

No hay un valor predeterminado para REFERO_MCP_VAULT_DIR. El borrador anterior tenía codificada la ruta de mi portátil, lo cual funcionaba genial para exactamente una máquina en la Tierra. El revisor lo detectó. Ahora, si no lo configuras, la herramienta simplemente se niega a escribir: es rudo, pero mejor que soltar archivos en una carpeta que no existe en tu ordenador.


Cómo funciona

No hay una API pública de Refero documentada al momento de escribir esto; la estructura se mapeó empíricamente contra el sitio en vivo. El desglose completo está en docs/api-surface.md para que mi "yo" del futuro no tenga que redescubrirlo.

  • Espejo del catálogo local. Refero expone paginación ?page=N pero ignora silenciosamente ?search=, ?q= y ?colorScheme=. Por lo tanto, este MCP recorre las páginas una vez, las refleja localmente bajo REFERO_CACHE_DIR y ejecuta todo el filtrado y clasificación en el lado del cliente.

  • Búsqueda por "vibe" mediante northStar. Cada estilo de Refero incluye un resumen poético de una línea llamado northStar. Con OPENAI_API_KEY configurada, el MCP incrusta esos resúmenes con text-embedding-3-small y los clasifica por similitud de coseno con tu consulta. Sin una clave, recurre a la puntuación por palabras clave en northStar + etiquetas + nombre del sitio.

  • DESIGN.md generado localmente. Refero no expone un endpoint /design.md. El MCP sintetiza uno a partir de style.fullResult.designSystem (qué hacer, qué no hacer, etiquetas, tema, colores etiquetados por rol). La salida es compatible con las habilidades /stitch-design-taste y /design-taste-frontend.


Solución de problemas

"No styles found" / el catálogo parece vacío. La primera ejecución golpea una caché fría. Pídele a Claude que "refresque el catálogo de Refero" una vez; recorrerá las ~10 páginas con una pausa educada de 250ms y las escribirá en REFERO_CACHE_DIR. Después de eso, la búsqueda es instantánea.

Los resultados de búsqueda parecen basados en palabras clave en lugar de semánticos. Probablemente no tengas OPENAI_API_KEY configurada. Añádela a tu configuración de MCP y reinicia, o apóyate más en el vocabulario del catálogo (industrias más etiquetas como editorial, brutalist, glass).

refero_design_md devuelve markdown pero no escribe en disco. REFERO_MCP_VAULT_DIR no está configurado. Establécelo en la raíz de tu almacén (ruta absoluta) y la herramienta escribirá en <vault>/05-Projects/<NAME>/DESIGN.md. Sin esto, obtienes el markdown en la conversación y puedes pegarlo donde quieras.


Licencia

MIT — ver LICENSE para más detalles.

Autor

Creado por Nate Davidovich / Lorecraft LLC.

⤴ volver al inicio


Seguridad: escaneo con gitleaks

Este repositorio incluye una configuración .gitleaks.toml y un asistente scripts/security-scan.sh que escanea el árbol de trabajo en busca de secretos (tokens de GitHub, claves API, JWTs, claves privadas, claves de Anthropic, etc.).

bash scripts/security-scan.sh

Un hook .husky/pre-commit también ejecuta gitleaks protect --staged en cada commit y advierte si gitleaks no está instalado localmente.

Si aún no lo tienes:

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