DesignVault MCP server
Connect your DesignVault design-asset library to any
MCP-compatible AI client — Claude Desktop, Claude Code, Cursor, and more.
Search your library by meaning, browse collections, find similar assets, and
(optionally) push, tag, and organize assets — all from inside your AI client.
📖 Full documentation: www.designvault.net/docs/mcp
"Find dark hero banners from the Q4 launch in DesignVault"
"What's in the 'Spring 2026 campaign' collection?"
"Show me assets similar to this one"
"Tag this asset as 'website' and 'dark' and add it to Q4 Launch"
Quick start
You need a DesignVault API key (dv_live_…), generated under
Settings → API keys in your DesignVault organization.
Claude Desktop
Add this to your claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"designvault": {
"command": "npx",
"args": ["-y", "designvault-mcp"],
"env": {
"DESIGNVAULT_API_KEY": "dv_live_xxxxxxxx"
}
}
}
}
Restart Claude Desktop. You'll see the DesignVault tools available in the chat.
Cursor / other MCP clients
Same shape — any client that speaks MCP over stdio:
{
"mcpServers": {
"designvault": {
"command": "npx",
"args": ["-y", "designvault-mcp"],
"env": { "DESIGNVAULT_API_KEY": "dv_live_xxxxxxxx" }
}
}
}
Configuration
DESIGNVAULT_API_KEY | ✅ | — | Per-org API key (dv_live_…). Settings → API keys. |
DESIGNVAULT_BASE_URL | — | https://www.designvault.net | Override to point at a preview deployment or http://localhost:3000 during development. |
DESIGNVAULT_ENABLE_WRITE | — | off | Set to 1 / true to register the write tools (create, update, delete). |
Read-only by default
Write tools are off unless you set DESIGNVAULT_ENABLE_WRITE=1. This is
deliberate: a key pasted into a shared or published MCP config can't mutate or
delete your data unless you explicitly opt in. Enable write only when you want
the AI to create/update/delete assets and collections.
Tools
Read (always available)
search_assets | Hybrid full-text + semantic search by natural-language query. |
list_assets | List/filter assets (by type, client, product, tag, text) with pagination. |
get_asset | Fetch one asset with tags + a signed thumbnail URL. |
find_similar_assets | Nearest neighbours to an asset by embedding similarity. |
list_collections | List collections with asset counts and smart/manual flag. |
get_collection | Fetch a collection and its assets (smart collections evaluated live). |
list_tags | List the org's tags. |
list_asset_types | List the org's asset-type catalogue. |
Write (opt-in via DESIGNVAULT_ENABLE_WRITE)
push_asset | Ingest a new asset from an image URL, with metadata + tags. |
update_asset | Update an asset's metadata; replace its tags. |
delete_asset | Permanently delete an asset. |
create_collection | Create a manual or smart collection. |
update_collection | Rename / toggle public link. |
delete_collection | Delete a collection (assets are kept). |
add_asset_to_collection | Add an asset to a manual collection. |
remove_asset_from_collection | Remove an asset from a manual collection. |
All tools map 1:1 to the public REST API (/api/v1). The same per-key rate
limits and scopes apply — write tools need a key with the assets:write scope.
How it works
This server is a thin, stateless translation layer: each MCP tool call becomes
one authenticated HTTPS request to your DesignVault API. No data is cached or
stored locally. Thumbnail URLs are short-lived signed URLs — re-fetch rather
than persist them.
Local development
npm install
npm run build
DESIGNVAULT_API_KEY=dv_live_xxx DESIGNVAULT_BASE_URL=http://localhost:3000 npm start
npm run watch recompiles on change.
License
MIT