godly-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@godly-mcpfind me dark portfolio sites with 3d and bold scroll animations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
godly-mcp
Godly (now Recent Design), right inside Claude. Search design references, browse the feeds, pull palettes as hex and watch motion frame by frame without leaving the chat.
Godly was the go-to gallery for websites with bold animation and interaction. It now lives at recent.design (godly.website redirects there) and grew into a daily feed of interface, motion, branding and web work picked from X, plus recorded websites, launch videos, OG images, App Store screenshots, app icons, tools and agent skills.
This MCP server turns all of that into tools Claude (or any MCP client) calls on its own. It reads the same public, read-only API the site itself uses. No login, no saved items, no account data.
Tools
Tool | What it does |
| Full-text search over titles, descriptions, creators and tags ( |
| Live listing of a feed, sorted by recent, popular or staff picks, with category/tag filters and pagination. |
| Full details of one item: description, creator and original post/site, tags grouped by kind (color, style, interaction, framework...), palette as hex with screen share, media list, and pricing/links/install command for tools and skills. |
| Every category (with post counts) and every tag grouped by kind, to use as filters. |
| Shows the reference to the model: the still of each media, and with |
| Checks the API, the local index and |
Inputs accept a recent.design/i/<id>-<slug> URL, an old godly.website link, the 7-character id or the slug.
Related MCP server: Niblet
Feeds
x (design posts from X), websites (recorded sites, the classic Godly), launch-videos, og-images, app-store-screenshots, app-icons, tools, skills.
Install
Requires Node 18+. ffmpeg is optional (only for frames).
git clone https://github.com/G4rutti/godly-mcp.git
cd godly-mcp
npm installClaude Code
claude mcp add godly -- node /absolute/path/to/godly-mcp/src/server.jsClaude Desktop / Cursor / any stdio client
{
"mcpServers": {
"godly": {
"command": "node",
"args": ["/absolute/path/to/godly-mcp/src/server.js"]
}
}
}Example prompts
find me dark portfolio sites with 3d on godlyshow me how this animates: https://recent.design/i/6wmr7uw-nothing-to-watchstaff picks from the websites feed this week, and pull the palette of the best oneHow search works
The API has no text search, so on first use the server pages through every feed once (about 20 requests, spaced out) and keeps a local index at ~/.godly-mcp/index.json. It refreshes after 12 hours. Every search after that is instant and offline.
Configuration
Variable | Default | |
|
| Where |
|
| Index file |
|
| Hours before the index is rebuilt |
|
| User-Agent sent to the API |
Being a good citizen
Recent Design's robots.txt allows use as reference and forbids AI training (Content-Signal: search=yes, ai-train=no, use=reference). This server only fetches on demand when you ask, spaces its requests, caches, identifies itself with an honest User-Agent and credits the creator in every response. Don't use it to train models or to copy someone's work 1:1: use it to study and build something of your own, and credit the original.
Not affiliated with Godly or Recent Design. If the site changes its API, the tools will return an error until the client is updated.
Development
npm run check # boots the server over stdio and calls every tool against the live APILicense
Available Tools
6 toolsgodly_browseNavegar um feedA
Lista ao vivo um feed do Godly/Recent Design na ordem do site (recentes, populares ou staff picks), com filtro de categoria/tag e paginação. x = posts de design garimpados do X (interface, motion, branding, web...), websites = sites gravados em vídeo (o Godly clássico), launch-videos, og-images, app-store-screenshots, app-icons, tools, skills.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Slug de tag, ex: '3d', 'dark', 'transitions' | |
| feed | No | x | |
| sort | No | staff = staff picks | recent |
| limit | No | ||
| cursor | No | next_cursor da página anterior | |
| category | No | Slug de categoria (godly_taxonomy) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden: "Lista ao vivo" correctly signals a live, read-only listing operation, and pagination is mentioned so the agent knows results are paged. It stops short of stating that nothing is mutated, whether results are cached/real-time, what a returned post contains, or any rate/auth constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose/ordering/filtering before the enum glossary, and no filler. The trailing enumeration of feed values is compact and functional, though the one-word entries at the end are terse enough to border on schema repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-annotation, no-output-schema tool, the description covers what is listed, how it is ordered, how it is filtered, and that it paginates. It leaves out the return payload shape and any operational caveats, which an agent would need to chain calls to godly_get or godly_media reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The second sentence does real work the schema cannot: it explains that "x" means design posts mined from X and "websites" means sites recorded as video (classic Godly), and it maps the sort values to recent/popular/staff picks. Tag and category are mentioned as filters, but their slug distinction is left mostly to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Lista ao vivo um feed do Godly/Recent Design" names a clear verb (list) and resource (feed), and the parenthetical enumerates the three orderings, so the agent knows exactly what data comes back. It never names godly_search or godly_get, so the browse-vs-search boundary is left implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this is the tool to hit when you want an ordered, paginated feed filtered by tag/category, which is implicitly different from searching. However, there is no explicit "use this instead of X when…" statement, no exclusions, and no guidance on when a feed browse versus a taxonomy lookup (godly_taxonomy) is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godly_getDetalhes de um itemA
Detalhes completos de um item: descrição, criador e link do post/site original, tags por tipo (cor, estilo, interação, framework...), PALETA extraída (hex + % da tela), lista de mídias (vídeo/imagem) e, em tools/skills, preço, links e comando de instalação. Aceita URL recent.design/i/..., URL antiga do godly, id (7 letras) ou slug.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the behavioral burden. It does useful work by disclosing the shape of the response (palette with hex + screen percentage, media types, conditional tool/skill fields), which substitutes for the missing output schema, but it never states that the operation is read-only, what happens on a bad id/slug, or whether anything is fetched remotely.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the payload enumeration and ending with the accepted input forms. Dense but every clause adds information; the parenthetical tag categories are slightly list-heavy yet still earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description steps in by enumerating returned fields and the accepted identifier formats, which is most of what an agent needs for a single-parameter lookup. Remaining gaps are failure behavior and sibling routing, both minor for a read-only detail fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 0% schema description coverage, so the description must compensate, and it does: it spells out that 'target' accepts a recent.design/i/... URL, a legacy godly URL, a 7-letter id, or a slug. That is genuinely additive meaning the bare string schema lacks, though no format precedence or validation rules are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Detalhes completos de um item') and then enumerates exactly what those details contain: description, creator, original link, tags by type, extracted palette, media list, and for tools/skills price, links and install command. An agent knows precisely what comes back. It does not name which sibling to use instead (e.g. godly_media for media-only), so it stops short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the enumerated payload makes clear this is the call for full detail on one known item, and the accepted input formats imply the item must already be identified. There is no explicit 'use this when X, use godly_media/godly_search when Y' routing against the five siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godly_mediaVer a referênciaA
Mostra a referência pro modelo: baixa o still (poster do vídeo ou a imagem) de cada mídia do item e devolve como imagem. Pra motion, peça frames > 0: baixa o vídeo e tira N frames espalhados (precisa de ffmpeg). Por padrão nada fica no disco; save=true guarda em ~/godly-media/.
| Name | Required | Description | Default |
|---|---|---|---|
| dir | No | Pasta pra salvar (padrão ~/godly-media) | |
| save | No | Guardar stills, vídeos e frames no disco | |
| frames | No | Frames de cada vídeo (0 = só o still) | |
| target | Yes | URL, id ou slug do item | |
| max_media | No | Quantas mídias do item olhar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does well: it discloses that files are downloaded, that frames extraction requires ffmpeg (an external dependency), that nothing is persisted by default, and that save=true writes to ~/godly-media/<id>. It omits what happens when ffmpeg is absent or how large responses/images are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then the motion variant, then the persistence rule. Every clause conveys a distinct operational fact, though the mix of Portuguese prose with English keywords is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter tool with no annotations and no output schema, the description covers the mechanic, side effects, and external dependency well. The remaining gap is failure behavior (missing ffmpeg, items with no media), which is minor but would matter for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so 3 is the baseline, but the description adds real meaning: frames > 0 implies downloading the video and sampling N spread-out frames with ffmpeg, and save=true implies writing stills/videos/frames to ~/godly-media/<id>. This goes beyond the schema's terse field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: downloads the still (video poster or image) for each media of an item and returns it as an image, plus a frames mode for video. An agent can tell this is a visual-reference fetcher, distinct from godly_get's data retrieval, though the description never names the sibling it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear conditional rule for the frames mode ('Pra motion, peça frames > 0') and implies the default still-only path, but says nothing about when to choose this tool over godly_get or godly_browse, nor what to do when an item has no media.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godly_searchBuscar no Godly / Recent DesignA
Busca referências de design no Godly (hoje Recent Design): interfaces, microinterações, motion, sites com animação forte, branding, OG images, ícones e telas de app. Casa com título, descrição, criador e tags (ex: 'dark', '3d', 'scroll-animation', 'microinteraction', 'saas', 'portfolio'). Termos em inglês funcionam melhor. Primeira chamada monta um índice local (uns segundos); depois é instantâneo.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Slug de tag exata, ex: 'dark', '3d', 'scroll-animation' | |
| feed | No | x = posts de design garimpados do X (interface, motion, branding, web...), websites = sites gravados em vídeo (o Godly clássico), launch-videos, og-images, app-store-screenshots, app-icons, tools, skills. | |
| limit | No | ||
| query | Yes | Termos de busca, ex: 'dark portfolio 3d', 'onboarding microinteraction', 'pricing'. Vazio = só filtros. | |
| category | No | Slug de categoria (veja godly_taxonomy), ex: 'interface', 'motion', 'saas', 'portfolio' | |
| video_only | No | Só itens com vídeo (bom pra motion) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full behavioral burden, and it does disclose a genuine trait beyond structured data: the first call builds a local index (a few seconds) and subsequent calls are instant. It does not cover permissions, rate limits, or what the result objects contain. Useful latency disclosure, but the safety and output profile remain undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then content types, then match fields, then examples, then the index-latency note. Dense but each sentence contributes information. Slight redundancy between the content-type list and the schema's feed enum, but not wasteful enough to penalize further.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter search tool with no output schema and no annotations, the description does most of the necessary work: scope, matched fields, filter examples, and first-call cost. Missing pieces are the return shape (how results are ordered/paged) and the explicit boundary against godly_browse, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline is 3, but the description adds real meaning: it says matching happens against título, descrição, criador and tags, which explains what the required query actually searches. It also adds the retrieval tip that English terms perform better, a non-obvious semantic not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Busca referências de design no Godly / Recent Design") and enumerates the covered content types (interfaces, microinterações, motion, branding, OG images, ícones, app screens). It also names the fields matched (título, descrição, criador, tags). It does not differentiate itself from siblings like godly_browse or godly_taxonomy, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage is clear from the content-type list and the query examples ('dark portfolio 3d', 'onboarding microinteraction'), and it hints that English terms retrieve better. There is no explicit when-to-use vs godly_browse/godly_get guidance and no statement of exclusions, so the choice among siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godly_statusStatusA
Checa se a API do Recent Design responde, o estado do índice local e se o ffmpeg está instalado. refresh=true reconstrói o índice.
| Name | Required | Description | Default |
|---|---|---|---|
| refresh | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose a real side effect — that refresh=true rebuilds the local index — which is genuinely useful behavioral context. However, it omits whether the rebuild is expensive or blocking, whether it needs permissions, and what the check result looks like beyond the three enumerated items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler: the first front-loads what is checked, the second explains the one parameter that changes behavior. Nothing is redundant or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-optional-parameter diagnostic tool with no output schema, the description covers what is checked and the one mutating option, which is enough to call it correctly. Minor gap: it never indicates the shape of the returned status (e.g., per-check pass/fail), which an agent may need to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it explains that 'refresh=true' rebuilds the index, giving the boolean a concrete meaning beyond type and default. It does not spell out the false/default behavior explicitly, so the addition is good but not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Checa') and enumerates three concrete resources checked: the Recent Design API's responsiveness, the local index state, and whether ffmpeg is installed. This clearly identifies it as a diagnostic/health tool, implicitly distinguishing it from the data-oriented siblings (search, browse, get, taxonomy, media), though it never says so explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is a pre-flight/diagnostic check, but the description never states when to call it (e.g., before search/browse operations, or when a sibling fails) or when not to. The only conditional guidance present concerns the parameter ('refresh=true reconstrói o índice'), not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
godly_taxonomyCategorias e tagsA
Lista as categorias (com quantos posts) e as tags existentes agrupadas por tipo (color, style, interaction, type, framework, component...), pra usar como filtro em godly_search e godly_browse.
| Name | Required | Description | Default |
|---|---|---|---|
| feed | No | Restringe as tags às do feed |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the burden, and it does disclose the return content: categories with post counts and tags grouped by type. 'Lista' implies a non-mutating read, though it never says so outright, and there is no mention of caching or whether the tag list is exhaustive (the trailing '...' leaves that open).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with the downstream purpose at the end where it belongs. The open-ended 'component...' enumeration is the only soft spot, slightly blurring whether the listed types are complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single optional-parameter discovery tool with no output schema, the description adequately covers both what comes back and what to do with it. It leaves the feed-scoping behavior unexplained, which matters given the one parameter it accepts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'feed' parameter is an enum with its own description, so the schema already does the work. The description adds no information about the feed filter, only about the tag-type grouping, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lista as categorias ... e as tags') plus the exact shape of the payload (categories with post counts, tags grouped by type). The named tag-type examples (color, style, interaction, framework, component) make it unmistakable against siblings like godly_search and godly_browse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions the tool as a precursor: the values returned are 'pra usar como filtro em godly_search e godly_browse'. That tells an agent when to call it instead of the search tools. It stops short of stating exclusions or prerequisites (e.g. whether the taxonomy is static or feed-dependent).
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.
6 tool updates
v0.1.0- First observed
godly_browse - First observed
godly_get - First observed
godly_media - First observed
godly_search - First observed
godly_status - First observed
godly_taxonomy
TDQS
Scored across 6 tools
The pair godly_search and godly_browse is the only real overlap, and the descriptions work hard to separate them (text/tag matching vs. a live site-ordered feed with pagination). godly_get vs godly_media is clearly split between metadata/text and actually surfacing images or extracted frames, and taxonomy/status are unambiguous helpers.
All six tools use a uniform godly_ prefix, giving a predictable namespace. The second word mixes verbs (search, browse, get) with nouns (taxonomy, status, media), but each name is short, readable, and clearly maps to its operation.
Six tools is well-scoped for a read-only design-reference lookup service: discovery (taxonomy, search, browse), retrieval (get, media), and diagnostics (status) each earn their place. Nothing feels padded or missing at the count level.
The surface covers the full read lifecycle: filters, search, live feed, item details, media extraction, and health/index rebuilding. Minor gaps exist, such as no explicit pagination on search or a related/similar-items lookup, but agents can work around these via browse and tag filters.
Maintenance
Related MCP Connectors
Search curated design styles, real product screens, and user flows for evidence-based design work.
Find curated website design references, inspect motion and source, and reuse Vault components.
Access and maintain design system docs, tokens, components, skills, and contexts across any project.
Search website designs, UI sections, fonts, and palettes. Requires MaxiBestOf Pro and OAuth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables agents to search apps, screens, flows, site sections, and collections, and capture them into a project-aware local reference store for reuse through skills, MCP tools, prompts, contact sheets, and exports.34 npmMIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that lets coding agents ground UI work in real product screens by fetching one to three reference screens as inline images for a specific layout, state, or interaction question, and by looking up fonts, icons, or animated icons together with their recorded licenses. It also returns the full or selected design reference—overview, colors, typography, components, and provenance—for any web screen already picked.MIT
- AlicenseBqualityCmaintenanceEnables searching public UI design libraries (Refero, Mobbin, ScreensDesign, Dribbble) for real app and website screens, downloading them into a category-organized local library that can be searched offline, and capturing screenshots of any web page with a real browser. Works from any MCP client or as a standalone CLI.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to query a private, curated design reference library over MCP, retrieving approved screenshots alongside the owner's take-and-avoid notes, marked component regions, and brand kits with colors, typography and CSS. Supports ranked recommendations by design brief, filtered search, and component lookup so agents can ground their implementation choices in saved preferences.MIT