Moodmark
Let your AI agent build moodboards of real websites: save, search, tag and share design references.
Should I use this
Quality & Safety
Findings (1)
- LOWin list_tags
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"moodmark": {
"url": "https://app.moodmark.design/mcp"
}
}
}Remote endpoints
https://app.moodmark.design/mcpstreamable-httpWhat it can do
Tool inventory
Tools (9)
π‘save_websites(urls, items, collection, create_collection, tags)
Save websites to the user's Moodmark library, optionally into a collection (created if missing). Moodmark captures a screenshot, title, favicon, fonts and tech stack for each; the colour palette is extracted when the user opens the library. Up to 50 URLs per call. Already-saved sites are not duplicated.
Input Schema
{
"type": "object",
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "Website addresses to save."
},
"items": {
"type": "array",
"description": "Alternative to urls, with a title, note or tags per site.",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"note": {
"type": "string",
"description": "Why this site is worth keeping."
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"url"
]
}
},
"collection": {
"type": "string",
"description": "Collection name or id, e.g. \"Portfolio 27\"."
},
"create_collection": {
"type": "boolean",
"description": "Create the collection if it doesn't exist (default true)."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Existing tag names to apply to every site (see list_tags)."
}
}
}π’search_library(query, color, tags, collection, limit)
Find bookmarks the user already saved β by text (title, URL, note, tags, fonts, tech), colour family, tags or collection. Returns newest first.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"color": {
"type": "string",
"enum": [
"red",
"orange",
"yellow",
"green",
"teal",
"blue",
"purple",
"pink",
"brown",
"gray",
"black",
"white"
]
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"collection": {
"type": "string"
},
"limit": {
"type": "number",
"description": "1β100, default 25."
}
}
}π’list_collections
The user's collections with bookmark counts and links.
Input Schema
{
"type": "object",
"properties": {}
}π‘create_collection(name, description)
Create an empty collection (returns the existing one if the name is taken).
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": [
"name"
]
}π’list_tags
The user's tags by category (industry, style, layoutβ¦). Only these names can be applied when saving.
Input Schema
{
"type": "object",
"properties": {}
}π’get_design_brief(bookmark, refresh)
Turn one saved reference into design.md: palette roles, typography, layout, components, a paste-ready prompt for AI builders (v0, Cursor, Lovable, Bolt) and CSS/Tailwind tokens. Cached on the bookmark; Premium only.
Input Schema
{
"type": "object",
"properties": {
"bookmark": {
"type": "string",
"description": "Bookmark id (from search_library) or its URL."
},
"refresh": {
"type": "boolean",
"description": "Regenerate even if a brief is cached."
}
},
"required": [
"bookmark"
]
}π‘update_bookmarks(bookmarks, add_tags, append_note, add_to_collection)
Additive edits to saved bookmarks: add existing tags, append a note, add to a collection (created if missing). Never removes anything the user set.
Input Schema
{
"type": "object",
"properties": {
"bookmarks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Bookmark ids or URLs (max 100)."
},
"add_tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Existing tag names (see list_tags)."
},
"append_note": {
"type": "string"
},
"add_to_collection": {
"type": "string"
}
},
"required": [
"bookmarks"
]
}π’suggest_tags(bookmarks)
AI tag suggestions for up to 10 saved bookmarks, chosen from the user's own tags, each with a short reason. Suggestions only; apply the ones that fit with update_bookmarks.
Input Schema
{
"type": "object",
"properties": {
"bookmarks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Bookmark ids or URLs (max 10)."
}
},
"required": [
"bookmarks"
]
}π’share_collection(collection)
Turn on the public, read-only link for a collection so it can be sent to a client (they can browse and vote). Only call this when the user explicitly asks to share.
Input Schema
{
"type": "object",
"properties": {
"collection": {
"type": "string",
"description": "Collection name or id."
}
},
"required": [
"collection"
]
}Community
Evidence