Digitaltableteur
Design system contracts, docs search, and usage validation for @digitaltableteur components.
Should I use this
Quality & Safety
Findings (1)
- LOWin get_consulting_fit
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": {
"mcp": {
"url": "https://www.digitaltableteur.com/mcp"
}
}
}Remote endpoints
https://www.digitaltableteur.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (12)
🟢list_case_studies(featuredOnly)
List Digitaltableteur portfolio case studies with slug, title, category, tags, and URLs.
Input Schema
{
"type": "object",
"properties": {
"featuredOnly": {
"description": "Only return featured case studies (default false)",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_case_study(slug)
Get one case study by URL slug (e.g. dsharp-design-system, helsinki-design-system).
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Case study URL slug from list_case_studies, e.g. \"dsharp-design-system\""
}
},
"required": [
"slug"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢list_pricing_packages
List fixed consulting packages with EUR price ranges and duration (preferred over hourly for defined outcomes).
Input Schema
{
"type": "object",
"properties": {}
}🟢get_hourly_rate
Get typical and range hourly consulting rates in EUR (€90/h typical, €90–150/h depending on scope).
Input Schema
{
"type": "object",
"properties": {}
}🟢list_services
List core consulting services (design system audit, component library, tokens, AI DesignOps).
Input Schema
{
"type": "object",
"properties": {}
}🟢list_expertise_stacks
List technology and practice areas (React, Next.js, Storybook, Figma, TypeScript, etc.).
Input Schema
{
"type": "object",
"properties": {}
}🟢list_audiences
List client audiences Digitaltableteur serves (startups, scaleups, enterprise, etc.).
Input Schema
{
"type": "object",
"properties": {}
}🟢get_open_hours
Get Digitaltableteur office hours in Europe/Helsinki timezone.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_consulting_fit(problem)
Map a visitor problem statement to the best-matching consulting service.
Input Schema
{
"type": "object",
"properties": {
"problem": {
"type": "string",
"description": "The visitor's problem statement, e.g. \"our design system has drifted from the product\""
}
},
"required": [
"problem"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search(query, limit)
Search the @dt design-system docs registry by name, keyword, or UI intent. Returns budgeted briefs (import line, key props, related components) with a hint for the follow-up get call.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Component name, keyword, or UI intent (e.g. \"toggle\")"
},
"limit": {
"description": "Max results, default 8",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"score": {
"type": "number"
},
"name": {
"type": "string"
},
"group": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"description": {
"type": "string"
},
"import": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"score",
"name",
"group",
"status",
"description",
"import",
"hint"
],
"additionalProperties": {}
}
},
"hint": {
"type": "string"
}
},
"required": [
"query",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get(name, section)
Get the full docs-registry entry for one component: usage guidance, props, example story source, and theming tokens.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Component name, e.g. \"Button\""
},
"section": {
"description": "Narrow the payload; default \"all\"",
"type": "string",
"enum": [
"all",
"usage",
"props",
"examples",
"theming"
]
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"group": {
"type": [
"string",
"null"
]
},
"status": {
"type": "string"
},
"import": {
"type": "string"
},
"description": {
"type": "string"
},
"dense": {
"type": "string"
},
"usage": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"forbiddenUse": {
"type": "array",
"items": {
"type": "string"
}
},
"props": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"examples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"story": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"source": {
"type": "string"
}
},
"required": [
"story",
"description",
"source"
],
"additionalProperties": false
}
},
"tokens": {}
},
"required": [
"name",
"group",
"status",
"import",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": {}
}🟢validate_component_usage(snippet, component, props)
Check proposed @dt JSX against the component contracts: prop relationships, forbidden prop combinations, deprecated props, and raw-UI replacements. Pass a TSX snippet, or a component name with props.
Input Schema
{
"type": "object",
"properties": {
"snippet": {
"description": "TSX source to check, at most 20000 characters",
"type": "string",
"maxLength": 20000
},
"component": {
"description": "Component whose contract rules to check against props",
"type": "string"
},
"props": {
"description": "Props as a JSON object, checked when component is set",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"file": {
"type": "string"
},
"component": {
"type": [
"string",
"null"
]
},
"violationCount": {
"type": "number"
},
"ok": {
"type": "boolean"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"file": {
"type": "string"
},
"line": {
"type": "number"
},
"rule": {
"type": "string"
},
"message": {
"type": "string"
},
"suggest": {
"type": "string"
},
"snippet": {
"type": "string"
}
},
"required": [
"file",
"line",
"rule",
"message",
"suggest",
"snippet"
],
"additionalProperties": false
}
},
"contractFindings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"component": {
"type": "string"
},
"line": {
"type": [
"number",
"null"
]
},
"rule": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"error",
"warning"
]
},
"props": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
},
"required": [
"component",
"line",
"rule",
"severity",
"props",
"message"
],
"additionalProperties": false
}
},
"warningCount": {
"type": "number"
},
"fleetLint": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"file",
"component",
"violationCount",
"ok",
"findings",
"contractFindings",
"warningCount",
"fleetLint",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence