Capture, store and serve the complete visual design of any website. Gebruik de design tokens in je eigen apps via de REST API of MCP server.
Volledige REST API voor CRUD op companies en design tokens. Swagger UI — openapi.json
curl http://localhost:31009/api/v1/companies
[
{
"id": 1,
"name": "Example Corp",
"url": "https://example.com",
"domain": "example.com",
"notes": null,
"created_at": "2026-05-17T22:30:00"
}
]
curl -X POST http://localhost:31009/api/v1/companies \
-H "Content-Type: application/json" \
-d '{"name":"Example Corp","url":"https://example.com"}'
# Get by ID
curl http://localhost:31009/api/v1/companies/1
# Update (PATCH)
curl -X PUT http://localhost:31009/api/v1/companies/1 \
-H "Content-Type: application/json" \
-d '{"name":"New Name"}'
# Delete
curl -X DELETE http://localhost:31009/api/v1/companies/1
curl http://localhost:31009/api/v1/companies/search/example
# Capture with existing company URL
curl -X POST http://localhost:31009/api/v1/captures/company/1
# Capture with a specific URL
curl -X POST http://localhost:31009/api/v1/captures/company/1 \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/page"}'
curl http://localhost:31009/api/v1/captures/1
curl http://localhost:31009/api/v1/captures
curl http://localhost:31009/api/v1/companies/1/design
Dit returned alles: colors, typography, spacing, borders, gradients, assets, components, breakpoints.
| Endpoint | Beschrijving |
|---|---|
GET /companies/{id}/design/colors | Kleurenpalet |
GET /companies/{id}/design/typography | Lettertypen |
GET /companies/{id}/design/spacing | Marges, paddings, gaps |
GET /companies/{id}/design/borders | Border-radius, box-shadow |
GET /companies/{id}/design/gradients | CSS gradients |
GET /companies/{id}/design/assets | Brand assets (logo's, iconen) |
GET /companies/{id}/design/components | Component styles per element |
GET /companies/{id}/design/breakpoints | Media queries / breakpoints |
curl http://localhost:31009/api/v1/companies/1/design/css
# Response:
/* Design tokens for Example Corp */
:root {
--color-primary: #1a1a2e;
--color-accent: #e94560;
--font-body-family: 'Inter', sans-serif;
--font-body-size: 16px;
--padding: 24px;
}
# Download een brand asset (logo, icoon, achtergrond)
curl -o logo.png http://localhost:31009/api/v1/companies/1/assets/1/download
De MCP (Model Context Protocol) server exposeert 6 tools voor programmatische toegang tot design data. Compatibel met Hermes Agent, Claude Desktop, Cursor, Continue en elke MCP-client.
Voor Claude Desktop, Cursor en andere MCP-clients die HTTP ondersteunen:
{
"mcpServers": {
"design-capture": {
"type": "sse",
"url": "http://192.168.10.12:31009/mcp/sse"
}
}
}
{
"mcpServers": {
"design-capture": {
"url": "http://192.168.10.12:31009/mcp/sse"
}
}
}
{
"experimental": {
"mcpServers": {
"design-capture": {
"transport": "sse",
"url": "http://192.168.10.12:31009/mcp/sse"
}
}
}
}
Direct Python proces, geen netwerk overhead:
mcp_servers:
design-capture:
transport: stdio
command: python /app/app/mcp/server.py
python /app/app/mcp/server.py
| Tool | Doel | Parameters |
|---|---|---|
design_list_companies |
Toon alle bedrijven | geen |
design_get_tokens |
Haal design tokens op | company_id (int) |
design_capture_website |
Start nieuwe capture | company_name (str), url (str) |
design_search |
Doorzoek design data | query (str) |
design_generate_css |
Genereer CSS vars | company_id (int) |
design_export_theme |
Exporteer theme als JSON | company_id (int) |
design_capture_website(
company_name="Example Corp",
url="https://example.com"
)
# Response: ✅ Capture complete for Example Corp!
# Company ID: 1 | Colors: 12 | Fonts: 8
design_export_theme(company_id=1)
# Response: JSON met theme.colors, theme.typography, theme.spacing
# theme.borderRadius, theme.shadows, theme.breakpoints
FastAPI genereert automatisch een volledige OpenAPI 3.1 spec. Deze kun je direct gebruiken als GPT Action in ChatGPT, of in elke andere AI-tool die OpenAPI ondersteunt.
http://192.168.10.12:31009/openapi.json
openapi.json:http://192.168.10.12:31009/openapi.json
GET /api/v1/companies — bedrijven opvragenPOST /api/v1/companies — nieuw bedrijf aanmakenPOST /api/v1/captures/company/{id} — capture startenGET /api/v1/companies/{id}/design — design tokens ophalenGET /api/v1/companies/{id}/design/css — CSS genererenVoor Claude Desktop en andere MCP-clients gebruik je de SSE-transport op:
http://192.168.10.12:31009/mcp/sse
Voeg de MCP server toe aan je Hermes config om design data direct uit Hermes te kunnen opvragen:
# Via SSH tunnel of direct als Hermes op dezelfde VM draait
mcp_servers:
design-capture:
transport: sse
url: http://192.168.10.12:31009/mcp/sse
Wat wordt er precies geëxtraheerd en hoe gebruik je het in je eigen apps?
| Categorie | Voorbeeld | Gebruik in app |
|---|---|---|
| Colors | #1a1a2e, --color-primary |
CSS vars, thema, tailwind config |
| Typography | Inter 16px/1.5 |
Font stacks, headings, body text |
| Spacing | padding: 24px |
Layout system, margins, gaps |
| Borders | border-radius: 8px |
Cards, buttons, inputs styling |
| Gradients | linear-gradient(...) |
Backgrounds, buttons, hero sections |
| Assets | Logo SVG, favicon, backgrounds | Download en gebruik in eigen UI |
| Components | CSS voor button, card, nav, input | Kopieer de CSS voor eigen componenten |
| Breakpoints | @media (max-width: 768px) |
Responsive design, mobile queries |
# Haal design tokens op voor company X
curl http://localhost:31009/api/v1/companies/1/design \
| jq '.colors[] | {hex: .hex, role: .role}'
/* In je app's stylesheet */
@import url("http://localhost:31009/api/v1/companies/1/design/css");
/* Nu beschikbaar: */
body {
background: var(--color-background, #fff);
font-family: var(--font-body-family, sans-serif);
}
// Gebruik de MCP tool design_export_theme(company_id=1)
// Dit returned een schoon, gestructureerd theme-object:
{
"theme": {
"colors": {
"primary": { "--color-primary": "#1a1a2e" },
"accent": { "--color-accent": "#e94560" }
},
"typography": {
"body": { "fontFamily": "Inter", "fontSize": "16px" },
"heading": { "fontFamily": "Poppins", "fontWeight": "700" }
}
}
}
// tailwind.config.js — haal design tokens via API
const designTokens = await fetch(
'http://localhost:31009/api/v1/companies/1/design'
).then(r => r.json());
module.exports = {
theme: {
extend: {
colors: Object.fromEntries(
designTokens.colors.map(c => [c.role || 'custom', c.hex])
),
fontFamily: {
body: [designTokens.typography.find(t => t.usage_tag === 'body')?.fontFamily],
},
},
},
};
Gebruik de OpenAPI spec om een GPT Action te maken. Zie tab ChatGPT / AI.
Beheer captured companies, start nieuwe captures, bekijk design data.