jekyll-component-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JEKYLL_PROJECT_ROOT | No | The root path of the Jekyll project. Can also be set via the --root CLI option. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jekyll_project_infoA | Return a high-level summary of the Jekyll project: whether it is a Jekyll site, counts of layouts/includes/components, presence of SCSS/JS/docs, and current write mode. Use this first to orient yourself. Does not modify any files. Never exposes secrets. |
| jekyll_project_scanA | Scan the project and return a structured architecture map: config files, key directories, layouts, includes, components (with liquid/scss/js/docs paths), sections, SCSS and JS files. Use when you need a detailed map before creating or modifying components. Read-only. |
| jekyll_config_getA | Read Jekyll configuration (_config.yml etc.) with sensitive keys redacted. Use to understand site settings. Never returns API keys, tokens, or credentials. Read-only. |
| jekyll_component_listA | List all detected reusable components with paths to Liquid, SCSS, JavaScript, documentation, and examples. Use to discover existing components before creating new ones. Read-only. |
| jekyll_component_getA | Get full details for one component by name: Liquid/SCSS/JS/docs source, detected parameters (include.*), variants, accessibility notes, and class names. Use before editing or reviewing a component. Read-only. |
| jekyll_component_createA | Create a reusable Jekyll Liquid component and its associated SCSS, documentation, and example files. Use when the user asks to create a new reusable UI component. Do not use for one-off page markup. This operation modifies project files. Supports dry_run. Names are normalized to kebab-case. |
| jekyll_component_validateA | Validate a component: file existence, Liquid syntax patterns, SCSS presence, documentation, accessibility hints, and parameter consistency. Returns structured errors and warnings. Read-only. |
| jekyll_component_deleteA | Delete a component and its associated files (Liquid, SCSS, JS, docs, example). DESTRUCTIVE. Requires confirm: true and full-write mode. Prefer dry reasoning before calling. |
| jekyll_scss_listA | List SCSS/CSS files under the project SCSS root and detect architecture layers (tokens, mixins, base, utilities, components, sections). Use to understand stylesheet structure before editing. Read-only. |
| jekyll_scss_getA | Read an SCSS file and return its source plus analysis (imports, variables, CSS custom properties, mixins, selectors). Provide a path relative to the project root (from jekyll_scss_list). Read-only. |
| jekyll_scss_createB | Create a new SCSS partial (e.g. component or utility). Writes under the configured SCSS tree. Modifies project files. Supports dry_run. |
| jekyll_token_listA | List design tokens discovered in SCSS (CSS custom properties and Sass variables), categorized by color, spacing, radius, shadow, typography, breakpoints, motion, etc. Read-only. |
| jekyll_token_getA | Get tokens matching a name or category (e.g. 'color', 'spacing', '--color-primary'). Read-only. |
| jekyll_token_updateB | Update or append a design token declaration in an SCSS/CSS file. Prefer CSS custom properties. Modifies project files. Supports dry_run. |
| jekyll_include_listA | List Liquid includes under _includes (excluding the components/ and sections/ subtrees, which have dedicated tools). Read-only. Never executes Liquid. |
| jekyll_include_getA | Read a Liquid include by name or relative path. Returns source, front matter, parameter analysis, and basic syntax checks. Read-only. Never executes Liquid. |
| jekyll_layout_listA | List Liquid layouts under _layouts. Read-only. Never executes Liquid. |
| jekyll_layout_getA | Read a Liquid layout by name or relative path. Returns source, front matter, and analysis. Read-only. Never executes Liquid. |
| jekyll_docs_createB | Create component documentation (Overview, Usage, Parameters, Variants, Example, Accessibility, Notes). Modifies project files. Supports dry_run. |
| jekyll_docs_updateC | Update or regenerate documentation for a component. Fills gaps from detected Liquid parameters when possible. Modifies project files. Supports dry_run. |
| jekyll_validateA | Run safe project-level validation: component structure, Liquid patterns, front matter, optional Jekyll build. Returns structured errors and warnings. Does not execute arbitrary shell. |
| jekyll_buildA | Run a Jekyll build (bundle exec jekyll build when Gemfile present). Captures exit code, stdout, stderr, duration, and _site path. Does not accept arbitrary shell commands. Use after creating or modifying components to verify the site builds. May take up to the configured timeout (default 120s). |
| jekyll_doctorA | Run jekyll doctor to check for common configuration and environment issues. Read-only regarding project source files. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| jekyll_component_review | Review a Jekyll component for Liquid quality, SCSS architecture, JS necessity, accessibility, API consistency, and responsive behavior. |
| jekyll_accessibility_review | Accessibility-focused review: semantic HTML, keyboard navigation, focus, ARIA, labels, reduced motion, contrast considerations. |
| jekyll_performance_review | Performance review: CSS/JS size, external dependencies, images, render-blocking resources, unnecessary JavaScript. |
| jekyll_production_review | Complete production-readiness review covering structure, components, accessibility, performance, and build health. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| jekyll-project | High-level Jekyll project summary |
| jekyll-components | List of all detected components |
| jekyll-tokens | Design tokens discovered in SCSS |
| jekyll-config | Sanitized Jekyll configuration |
| jekyll-documentation | Documentation file index under docs/ |
TDQS
Scored across 23 tools
Tools are cleanly partitioned by resource (project, layout, include, component, scss, token, docs) with distinct actions. A few pairs invite mild confusion—jekyll_project_info vs jekyll_project_scan, jekyll_validate vs jekyll_component_validate, and jekyll_validate vs jekyll_build vs jekyll_doctor—but their descriptions clearly delineate scope.
Every tool follows the exact jekyll_{resource}_{action} snake_case convention (e.g. jekyll_component_create, jekyll_scss_list, jekyll_token_update). The pattern is uniform across all 23 tools with no camelCase or verb-style deviations.
23 tools is on the higher side but the domain (components, layouts, includes, SCSS, tokens, docs, validation, build) is genuinely broad and the tools are cleanly grouped. Each entry has a distinct function, so the count is defensible rather than bloated.
Strong coverage of a read-and-manage workflow: full list/get/create/delete/validate for components plus project info, tokens, docs, build, and doctor. Notable gap: no jekyll_component_update (and no SCSS update/delete), so editing an existing component's files has no dedicated tool despite guidance to 'use before editing.'