godly-mcp-server
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-mcp-serverfind minimal landing page designs for a fintech startup"
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-server
An MCP server that lets AI agents search and view the UI/UX design inspiration curated on godly.design: landing pages, iOS apps, and website templates, with full-page and per-section screenshots.
It needs no API key. It reads the same public files the Godly site loads: /search-data.json, the Markdown versions of pages (/websites.md, /website/<slug>.md, ...), /sitemap.xml, and screenshots from cdn.godly.design.
Tools
Tool | Purpose |
| Keyword search across websites, apps, and templates. Filter by |
| Browse curated |
| Category names and counts for the |
| Details for one item: description, live URL, metadata (industry, App Store rating, template price/author), and every screenshot URL. Set |
| Returns a |
A typical agent flow: search_inspiration → get_inspiration → view_image (one tile per call).
Related MCP server: A1 Gallery MCP Server
Setup
Requires Node.js 18.17 or later.
git clone https://github.com/noahchalifour/godly-mcp-server.git
cd godly-mcp-server
npm install # also builds dist/
npm test # end-to-end tests against live godly.designClaude Code
claude mcp add godly -- node /absolute/path/to/godly-mcp-server/dist/index.jsClaude Desktop, Cursor, and other MCP clients
{
"mcpServers": {
"godly": {
"command": "node",
"args": ["/absolute/path/to/godly-mcp-server/dist/index.js"]
}
}
}Notes and limits
The site index is cached in memory for one hour.
Godly publishes Markdown listings for about 40 recent websites and about 830 apps. Templates come from the sitemap, and only the newest ones carry titles and categories in the search index, so older templates match on their slug alone.
Godly does not expose categories or styles for websites. Search websites by keyword (the description and industry are searched) or use the section galleries.
Images are returned as JPEG at 1024px wide by default (configurable from 200 to 1280px), in tiles of up to 1600px tall, to keep each response a reasonable size for model context.
This server depends on Godly's current page structure. If Godly changes it, the parsing in
src/godly.tsmay need updating.
License
MIT
Available Tools
5 toolsget_inspirationGet inspiration detailsARead-only
Get full details for one Godly item: description, live URL, metadata (industry, rating, price, ...) and every screenshot URL (full-page desktop/mobile, hero/CTA/footer crops for websites; iPhone screenshots for apps). Set include_preview to also return the first screenshot inline.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| slug | Yes | Slug from search_inspiration, e.g. 'cloaked' | |
| include_preview | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and open-world, so the safety profile is covered. The description adds useful behavioral context by explaining exactly what detail is returned and that include_preview returns the first screenshot inline, though it does not discuss pagination or rate limits.
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?
The description is front-loaded with the core purpose and uses compact parenthetical detail. It is slightly dense in one long sentence, but nearly every clause adds actionable return-value context.
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, the description carries the burden of explaining what comes back, and it does so thoroughly by listing metadata and screenshot categories. It is nearly complete for a read-only detail endpoint, with only minor gaps around error behavior or missing-item handling.
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 only 33%, so the description needs to compensate. It explains include_preview's effect clearly and clarifies that kind affects whether website or app screenshot sets are returned; slug semantics are left to the schema, but the key behavioral parameter meaning is present.
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 states a precise verb and resource: retrieve full details for one Godly item. It enumerates the returned content (description, live URL, metadata, screenshot URLs), which clearly distinguishes this detail-fetching tool from search/list siblings.
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?
The phrase 'for one Godly item' implies this is the detail lookup after finding an item, and the slug schema mentions search_inspiration. However, the description itself does not explicitly name alternatives or state when to use this versus search_inspiration or list_section_inspiration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList Godly categoriesARead-only
List category names (with item counts) usable as the category filter in search_inspiration.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds real value beyond them by disclosing what comes back (names plus item counts) for a tool with no output schema, though it omits ordering, whether counts are all-time or scoped, and any result-size limits.
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?
A single front-loaded sentence that conveys purpose, payload shape, and downstream use with no filler. Every clause earns its 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?
For a zero-parameter, read-only lookup with no output schema, the description covers what it returns and why an agent would call it. Nothing further is needed to invoke it correctly.
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?
Zero parameters, so there is nothing to document and the baseline applies. The description usefully reframes the output as the input vocabulary for search_inspiration's `category` parameter, which is the only semantic connection worth making here.
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?
Specific verb+resource ('List category names') with the added detail that item counts are included, and it explicitly ties the result to the `category` filter of the sibling search_inspiration. An agent can distinguish this from search_inspiration or get_inspiration without opening any schema.
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?
The phrase 'usable as the `category` filter in search_inspiration' clearly signals the intended workflow (fetch categories, then filter searches), naming the sibling that consumes the output. It stops short of an explicit 'call this before search_inspiration when you don't know valid category values' or stating when-not to use it, so it's clear context rather than full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_section_inspirationBrowse section galleriesBRead-only
List Godly's curated section galleries: hero sections, CTAs, footers, OG images, logos, or trending sites. Each result includes image, a direct crop of that section you can pass to view_image.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| section | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, open-world operation. The description adds useful context about the returned `image` field being a direct crop suitable for view_image, but does not mention pagination, ordering, or other behavioral details. With annotations covering the safety profile, this is a modest but real addition.
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 core action and section options, followed by the key output detail. No wasted language.
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 simple read-only listing tool with no output schema, the description covers the browse purpose and the central `image` return field. However, it omits `limit` semantics and does not describe the rest of the result shape, leaving gaps for correct invocation and expectation setting.
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. It lists the section categories, but those duplicate the enum, and it says nothing about the `limit` parameter, its default, or its range. Half the parameters remain unclarified beyond their raw schema definitions.
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 uses a specific verb ('List') and resource ('Godly's curated section galleries'), and enumerates the section categories. It clearly distinguishes this browsing tool from get/search tools by emphasizing curated galleries, though it does not explicitly contrast with siblings like search_inspiration or get_inspiration.
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: browse section galleries and pass the returned image to view_image. However, the description does not state when to use this tool versus search_inspiration, get_inspiration, or list_categories. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_inspirationSearch Godly design inspirationARead-only
Search godly.design's curated gallery of websites (landing pages), iOS apps, and website templates. Matches all query words against title, description, categories, and domain. Omit query to browse newest first. Returns slugs; pass one to get_inspiration for screenshots and details. Use list_categories for valid category names.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | all | |
| limit | No | ||
| query | No | Keywords, e.g. 'AI agent', 'fintech', 'portfolio', 'calculator' | |
| offset | No | ||
| category | No | Exact category, e.g. 'Productivity', 'Landing Page', 'Portfolio' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and open-world, so the safety profile is free; the description adds real context beyond that: AND-matching of all query words across title/description/categories/domain, newest-first ordering when query is omitted, and a slug-only return shape. It doesn't state pagination behavior or result-count semantics, but those are minor given the limit/offset schema bounds.
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?
Four dense sentences, no filler, front-loaded with the resource and matching semantics before the follow-up routing hints. Every sentence carries an actionable fact.
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, the description correctly carries the return-shape burden by stating it returns slugs and where to take them. Combined with ordering and matching rules, an agent has everything needed to call it and act on the result.
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 only 40% (kind, limit, offset undocumented in schema), so the description must compensate. It does for `query` (all words matched against title, description, categories, domain) and `category` (points to list_categories), and the enumerated content types implicitly map to the `kind` enum; limit/offset remain self-explanatory from bounds and defaults.
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 (search) plus the exact resource and its three content types (websites/landing pages, iOS apps, templates). It also distinguishes itself from siblings by naming get_inspiration as the detail follow-up and list_categories as the category resolver.
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 explicit when-to-use guidance and alternatives: omit `query` to browse newest first, pass a returned slug to get_inspiration for screenshots/details, and use list_categories for valid category names. An agent can route correctly without opening any other schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_imageView a design screenshotARead-only
Fetch a cdn.godly.design screenshot and return it as an image you can see. Full-page screenshots are very tall, so they are split into vertical tiles: the response reports pages; request further tiles with page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | A https://cdn.godly.design/... image URL from another tool | |
| page | No | 0-based vertical tile index | |
| width | No | Output width in px | |
| tile_height | No | Max tile height in px |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/openWorld, so the description's job is to add beyond that — and it does: it discloses that tall full-page screenshots are split into vertical tiles, that the response reports `pages`, and how to fetch further tiles. That's meaningful behavioral detail about the response shape.
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 tight sentences, zero waste. The core action is front-loaded and the pagination caveat follows immediately with no filler.
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?
No output schema exists, so the description shoulders the burden of explaining returns, and it does explain the `pages` reporting and tile mechanic. Slightly incomplete on what the image itself represents, but for a view tool that's largely self-evident.
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 baseline is 3, but the description adds meaning beyond the schema by explaining the relationship between the `pages` count in the response and the `page` parameter for requesting further tiles — semantics the schema alone doesn't convey.
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?
Specific verb and resource: fetch a cdn.godly.design screenshot and return it as a viewable image. It's clearly distinct from the inspiration/search siblings, though the distinction is implicit (the siblings deal with inspiration content, not image viewing) 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?
The description gives useful guidance on paginating through tiles, but never says when to reach for this tool versus the sibling tools, nor that the url must come from another tool's output (that's only in the schema). Usage context is implied rather than articulated.
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.
5 tool updates
v1.0.0- First observed
get_inspiration - First observed
list_categories - First observed
list_section_inspiration - First observed
search_inspiration - First observed
view_image
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: search_inspiration discovers slugs, get_inspiration retrieves full metadata, view_image renders screenshots, list_section_inspiration enumerates curated section galleries, and list_categories enumerates filter vocabulary. The descriptions explicitly chain the tools (search returns slugs -> pass to get_inspiration; section image -> pass to view_image), so there is no realistic misselection.
All names follow a verb_noun snake_case pattern (get_, view_, search_, list_), which is predictable. The only blemish is list_section_inspiration, whose double-noun core is slightly awkward compared to sibling names like list_categories.
Five tools is well within the ideal range and every tool maps to a distinct step in the browse-inspect-view workflow. Nothing feels padded or redundant for a read-only inspiration gallery.
The read-only lifecycle is covered end to end: discover (search/browse/sections/categories), inspect (get_inspiration), and view (view_image with tiling). Minor gaps exist — no explicit platform or industry filter exposed as a tool, and no related/similar-item lookup — but agents can work around these via search_inspiration.
Maintenance
Related MCP Connectors
Let your AI agent build moodboards of real websites: save, search, tag and share design references.
UI design from prompts, screenshots, and URLs for AI coding agents and theme tokens.
Real UI references for coding agents: iOS app screens, user journeys and website design systems.
Generate images, GIFs, videos, and PDFs from HTML, URLs, or templates — from your AI agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceSearches top design platforms like Dribbble and Behance to provide UI inspiration, color palettes, and layout patterns via the Serper API. It allows users to retrieve visual references, articles, and style guides directly within any MCP-compatible client.2420MIT
- AlicenseNot gradedqualityBmaintenanceProvides curated real website design references with structured JSON data on type, spacing, palette, and layout. Enables AI agents to search, browse, and analyze over 1,000 sites and their sections.1MIT
- AlicenseAqualityAmaintenanceProvides AI agents with a visual design inspiration loop from award-winning websites, including natural-language search, inline screenshots, and detailed design DNA extraction. Also supports optional live page capture, structure analysis, and motion recording for design verification.351,093 npm335MIT

Duchampofficial
AlicenseNot gradedqualityBmaintenanceGives coding agents a curated, reviewable library of landing pages, hero sections, image prompts, motion-video recipes, logo and pitch-deck recipes, fonts and motion backgrounds that they can search, inspect and fetch, then rebuild locally from code. Searches and reference inspection are uncounted, while template, UI and asset fetches share a daily free limit under OAuth sign-in with no API key.MIT