Creative Assets MCP
Enforces consistent, governed asset selection for Claude by providing tools for search, retrieval, transformation, and governance of icons and brand assets.
README
Creative Assets MCP v1.0
A professional remote MCP server for Claude, Cowork, Claude Desktop, and other MCP clients.
Main purpose
Creative Assets MCP gives Claude a governed asset layer instead of allowing random, inconsistent asset selection.
It enforces:
- One icon family per project or carousel
- No mixing of Outline and Filled icon styles
- SVG-first icon workflows
- Consistent stroke width where the SVG truly uses strokes
- Source and licensing metadata for every asset
- Export manifests and license reports
- Safe SVG validation
- Project-specific brand asset libraries
Included MCP tools
Discovery
search_assetssearch_iconssearch_brand_assets
Retrieval and metadata
get_svgget_asset_metadata
Transformation
convert_stroke_widthgenerate_color_palettegenerate_svg_pattern
Brand library
register_brand_asset
Governance and delivery
validate_asset_consistencyexport_asset_setgenerate_license_report
Version 1.0 providers
Public icon provider
- Iconify API
Private/project provider
- Persistent project brand library
Built-in generators
- Deterministic color palettes
- Repeatable SVG patterns
Version 1.0 deliberately does not fabricate integrations with illustration, font, mockup, or stock providers. Those can be added later through documented adapters.
Local development
Requirements:
- Node.js 20 or newer
- npm
cp .env.example .env
npm install
npm run check
npm run build
npm test
npm start
Then open:
http://localhost:3000/health
The MCP endpoint is:
http://localhost:3000/mcp
Claude's web custom connector cannot connect to localhost. You must deploy the server to a public HTTPS URL.
Docker
docker compose up --build
Deploy to Render
- Create a GitHub repository.
- Upload this project.
- In Render, create a Blueprint from the repository.
- Render reads
render.yaml. - Wait for deployment.
- Copy the public URL.
- Your MCP URL will be:
https://YOUR-RENDER-SERVICE.onrender.com/mcp
The starter configuration creates a persistent disk.
Deploy to Railway
- Create a GitHub repository.
- Upload this project.
- Create a Railway project from the repository.
- Railway detects the Dockerfile.
- Add a persistent volume mounted at
/app/dataor setDATA_DIRto your volume. - Generate a public domain.
- Use:
https://YOUR-RAILWAY-DOMAIN/mcp
Add to Claude and Cowork
After deployment:
- Open Claude.
- Go to
Customize. - Open
Connectors. - Click
+. - Select
Add custom connector. - Name it
Creative Assets MCP. - Paste your public MCP URL ending in
/mcp. - Add authentication details only if your deployment supports the selected authentication flow.
- Add the connector.
- Enable it in a conversation from the
+menu.
Authentication
The included server supports an optional static bearer token through:
MCP_API_KEY
However, Claude's custom connector UI is designed primarily for public MCP endpoints or OAuth-enabled connectors. A production multi-user service should add standards-compliant OAuth instead of sharing one static key.
For a private first deployment, use one of these approaches:
- Deploy without
MCP_API_KEYand keep the URL private while testing. - Put the MCP server behind a compatible OAuth gateway.
- Extend the server with MCP OAuth before public release.
Do not publish an unauthenticated write-enabled MCP server as a public service.
Persistence
Version 1.0 uses JSON files in:
data/projects/
data/brand-assets/
For production scale, replace the JSON store with PostgreSQL, object storage, or another persistent database.
Important stroke-width limitation
Some icon families look like outline icons but are encoded as filled path geometry. They have no real SVG stroke-width.
Creative Assets MCP refuses to deform those paths automatically. It returns a warning instead.
Use truly stroke-based families when exact stroke normalization is required.
Export package
export_asset_set creates:
set-name/
├── icon-1.svg
├── icon-2.svg
├── manifest.json
└── LICENSES.md
It also creates a ZIP archive.
Production hardening checklist
Before public deployment:
- Add OAuth 2.1
- Replace JSON persistence with PostgreSQL
- Store exports in object storage
- Add rate limiting
- Add request audit logs
- Add per-user/project authorization
- Add automatic deletion policies
- Add provider health monitoring
- Add malware scanning for uploaded assets
- Add signed download URLs
- Review every third-party provider license
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.