Skip to main content
Glama
Abramov-Front-end

RollDate MCP

@rolldate/mcp

MCP server that helps AI agents install and integrate the RollDate ecosystem:

Works with Cursor, Claude Desktop, VS Code, Windsurf, and any other MCP-compatible client.

Dev: mcp/ in the main RollDate repo.
Public GitHub mirror: rolldate-mcp (synced via npm run build:mcp).

Install / run

npx -y @rolldate/mcp

Or pin a version: npx -y @rolldate/mcp@1.3.3

Related MCP server: Basecoat UI MCP Server

One server, two products

All tools accept an optional product argument:

product

Package

Use for

"core" (default)

@rolldate/core

Date picker, range, multi, time

"events"

@rolldate/events

Month / Week / Day / Agenda calendars

Call list_products to discover both.

Tools

Tool

Purpose

list_products

Core vs Events overview

install_agent_rules

Write AGENTS.md + .cursor/rules/rolldate-mcp.mdc into the project

install_assets

Copy bundled CSS/JS into the project (product: "core" or "events")

scaffold_example

Install assets + write a demo HTML for a scenario

list_scenarios

List integration scenarios for the selected product

get_snippet

JS / HTML snippet

get_options

Constructor options

get_methods

Instance methods & properties

get_install_guide

Install / wiring guide

Bundled files:

  • Core → vendor/rolldate/ inside this package

  • Events → vendor/rolldate-events/ inside this package

Cursor / IDE config

{
  "mcpServers": {
    "rolldate": {
      "command": "npx",
      "args": ["-y", "@rolldate/mcp"]
    }
  }
}

Local (main repo while developing):

{
  "mcpServers": {
    "rolldate": {
      "command": "node",
      "args": ["D:/Projects/rolldate/mcp/src/index.js"]
    }
  }
}

Typical agent flows

Date picker

  1. install_agent_rules

  2. install_assets (default product: "core")

  3. get_snippet → scaffold_example

Event calendar

  1. install_agent_rules

  2. install_assets with product: "events"

  3. list_scenarios with product: "events"

  4. get_snippet with product: "events" and scenario month / week / agenda

Make the agent prefer RollDate (client projects)

Easiest: ask the agent to call install_agent_rules.

Or copy manually:

  • templates/AGENTS.md → project root as AGENTS.md, or

  • templates/rolldate-mcp.mdc → .cursor/rules/rolldate-mcp.mdc

Develop / release (main repo)

npm run build:mcp   # builds Core + Events dist, packs vendor, syncs release/rolldate-mcp
cd mcp
npm publish --access public

License

MIT (this MCP package). RollDate library files are bundled for installation convenience.

Available Tools

9 tools
get_install_guideB

How to install and wire RollDate Core or Events (includes MCP install_assets flow).

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoRollDate product. Default: core (date picker). Use events for event calendars.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It discloses that the guide covers two products and includes the MCP install_assets flow, which is useful content scoping, but it says nothing about the return format, length, or whether it performs any action (the 'get_' prefix implies read-only but is not stated).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero filler, and the content scope is front-loaded. It is a fragment rather than a full sentence, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only documentation fetch with no output schema, the description conveys what topics are covered (both products, MCP install_assets flow). It stops short of describing what the returned guide looks like or how it should be applied, which matters since there is no output schema to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single enum parameter already documents the default (core) and the meaning of events. The description's 'Core or Events' merely restates the enum, adding no syntax or behavioral detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (install/wiring guide) and the two covered products (RollDate Core or Events), and ties itself to the MCP install_assets flow. It is clear what the tool returns, though the verb is implicit and it does not explicitly distinguish itself from doc siblings like get_snippet or get_options.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement or alternative routing. The mention of the 'install_assets flow' hints at a relationship with the install_assets sibling, but an agent gets no guidance on when to call this guide versus the install_assets/install_agent_rules tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_methodsC

Return instance methods and properties for RollDate Core or Events.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoRollDate product. Default: core (date picker). Use events for event calendars.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not state whether the result is static reference documentation, whether it requires a prior install, or how the output is structured. For a read-only reference tool the bar is modest, but the description adds essentially no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence that is front-loaded and waste-free. It is appropriately sized for a simple one-parameter lookup tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with full schema coverage and no output schema, the description is minimally adequate but omits what the returned methods/properties are used for and how they relate to the installation workflow it likely supports. A bit more context would make it genuinely useful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter's enum is fully documented in the schema, including the default. The description names the two products, which matches the schema content, so it adds little beyond it. Baseline 3 for high schema coverage is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource: 'Return instance methods and properties' for two named products (RollDate Core or Events). It distinguishes itself reasonably as a documentation/API-lookup tool versus siblings like get_options or get_snippet. The purpose is clear, though it doesn't explicitly differentiate from the closest sibling get_options.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no comparison to alternatives like get_options or get_snippet, and no mention of prerequisites. The agent gets a resource but no routing signals for when this lookup is the right call versus siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_optionsB

Return constructor options reference for RollDate Core or Events.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional option name filter, e.g. enableTime or onVisibleRangeChange
productNoRollDate product. Default: core (date picker). Use events for event calendars.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. 'Return ... reference' implies a read-only, non-destructive lookup, which is adequate for a reference tool, but it says nothing about return shape, pagination, or caching behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the resource front-loaded and no waste. It is efficient, though the extreme brevity is part of why other dimensions are thin.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-optional-parameter, read-only reference tool with no output schema, the description is minimally viable but does not describe what the returned options reference contains or how to consume it. Nothing is missing that would cause a wrong call, but the agent gets little beyond the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are fully documented in the schema, including the enum values and default for 'product'. The description adds no additional parameter meaning beyond what the schema already states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource — 'Return constructor options reference' — scoped to 'RollDate Core or Events'. It is distinct from siblings like get_methods and get_snippet, though it does not explicitly say how it differs from them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this versus get_methods, get_snippet, or the other reference-lookup siblings. The only hint is the schema parameter describing the product default, which the description itself does not repeat or contextualize.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_snippetC

Get a ready-to-use JS and/or HTML snippet for a RollDate Core or Events scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoSnippet format. Default: both
productNoRollDate product. Default: core (date picker). Use events for event calendars.
scenarioYesScenario id from list_scenarios
assetPathNoRelative path to installed assets. Defaults per product.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no statement that this is a pure read/retrieval operation, no side effects, no auth requirements, no note on whether the snippet is generated syntactically or validated against the scenario. 'Ready-to-use' is sales language rather than behavioral fact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no padding or repetition; the purpose lands immediately. It is arguably too terse for a 4-parameter tool, and 'ready-to-use' is filler, but structurally it is clean.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema and full schema coverage, the essentials are present and the return artifact (a snippet) is named. Still missing are the usage path (obtain a scenario via list_scenarios first) and any indication of how the fetched snippet should be consumed, which for a snippet-generation tool is meaningful context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both enums are documented in the schema, so the baseline is 3. The description's 'JS and/or HTML' and 'Core or Events' merely restate the format and product enums without adding syntax, defaulting rationale, or examples beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get a ... snippet') and narrows scope to JS/HTML artifacts for RollDate Core or Events scenarios, which maps cleanly onto the product/format parameters. It does not, however, distinguish itself from plausible siblings like scaffold_example or get_install_guide, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as scaffold_example or get_install_guide. The only routing hint ('scenario id from list_scenarios') lives in the schema, not the description, and even that only covers one parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_agent_rulesC

Install AGENTS.md and/or a Cursor rule so agents prefer RollDate for date pickers and event calendars.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeAgentsMdNoWrite AGENTS.md to project root. Default: true
includeCursorRuleNoWrite .cursor/rules/rolldate-mcp.mdc. Default: true

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but omits key traits: whether existing AGENTS.md or rule files are overwritten or merged, permissions needed, and reversibility. The schema indicates both params default to true, but the description itself adds no mutation or side-effect context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence that front-loads the action and names the artifacts. No filler, though it packs two outputs into one phrase without elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-boolean install tool with 100% schema coverage and no output schema, the description covers purpose adequately. It falls short on write-behavior details (overwrite/merge semantics) that matter for a filesystem-mutating tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — both booleans already document their target and defaults — so the description's silence on parameters is acceptable but adds no extra meaning. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Install) and resource (AGENTS.md and/or a Cursor rule) plus the intent for the agents. It is distinguishable from read-oriented siblings like get_install_guide, though it sits close to install_assets and does not explicitly differentiate itself from that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to reach for this tool versus the many siblings, notably install_assets or get_install_guide. The purpose hints at context (making agents prefer RollDate) but provides no explicit when/when-not guidance or prerequisite conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_assetsC

Copy RollDate Core or Events CSS/JS into the current project.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoRollDate product. Default: core (date picker). Use events for event calendars.
targetDirNoDestination folder relative to project cwd. Defaults per product.
includeReadableNoAlso copy non-minified Core files. Default: false. Events ignores this.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and largely fails: it does not say whether existing files are overwritten, whether directories are created, whether an existing project/config is required, or how errors surface. For a filesystem-writing operation, the destructive/overwrite semantics are undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the verb and resource front-loaded and no filler. It is efficient but so terse that it omits necessary context, which is penalized elsewhere rather than here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-param installer with no annotations and no output schema, the description should at least indicate what ends up where, that it writes into the project, and any overwrite behavior. None of that is present, leaving the agent dependent entirely on the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so product, targetDir, and includeReadable are already well documented in the schema (including the 'Events ignores this' caveat). The description adds no parameter meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Copy) and resource (RollDate Core or Events CSS/JS) with the destination implied as the current project. It implicitly distinguishes itself from siblings like install_agent_rules and scaffold_example by naming CSS/JS assets, though it never explicitly differentiates them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to choose this over get_install_guide, scaffold_example, or install_agent_rules, and no prerequisites or sequencing (e.g., run before or after scaffolding). The only usage hints live in the schema parameter descriptions, not the tool description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_productsA

List RollDate products available in this MCP server (Core date picker and Events calendar).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden, but the operation is a parameterless read with no destructive potential. It discloses the returned entities (date picker and calendar products) yet says nothing about ordering, pagination, or whether the list is static.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the scope qualifier and the enumerated return contents both earn their place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema listing tool, the description gives an agent everything needed to call it and interpret the result. Only minor omissions (ordering/pagination) remain, and those are nearly irrelevant at this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies. There is nothing for the description to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('RollDate products') and scopes it to 'this MCP server'. The parenthetical names the two product families, so the agent knows what it will get back. It does not, however, position itself against siblings like get_snippet or list_scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use language, and no alternatives are named. Usage is only implied: it is an enumeration/discovery step before calling the product-specific tools. Adequate for a trivial list tool but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scenariosC

List integration scenarios for RollDate Core or RollDate Events.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoRollDate product. Default: core (date picker). Use events for event calendars.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'List' implies a read-only operation, but the description never states that, nor does it mention return format, pagination, or whether an auth/product context is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no filler, and the resource is front-loaded after the verb. Nothing is padded, though there is also very little content to structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one optional enum param, no output schema), so a short description is defensible. However, with no annotations and no output schema, the description leaves the nature of an 'integration scenario' and the expected return undefined, which is more than an agent should have to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: the single 'product' enum parameter is fully documented in the schema, including the default and the meaning of 'events'. The description merely echoes the two product values, adding no semantics beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('integration scenarios') scoped to RollDate Core or RollDate Events. It is clear what the tool returns at a high level, though it does not explicitly distinguish itself from nearby siblings like get_options or get_methods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to reach for this tool versus list_products, get_options, or get_methods. There are no exclusions, no prerequisites, and no routing guidance; the agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scaffold_exampleB

Install RollDate Core or Events assets (if needed) and write a demo HTML file for a scenario.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoRollDate product. Default: core (date picker). Use events for event calendars.
scenarioYesScenario id from list_scenarios
targetDirNoAsset folder relative to cwd. Defaults per product.
outputFileNoHTML file path relative to cwd. Default: rolldate-example.html or rolldate-events-example.html

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations, so the description carries the behavior burden. It discloses a real trait: it may install assets (a side effect) and writes a file to disk. But it doesn't state whether files are overwritten, whether installs are conditional/skipped, or auth/network requirements. Partial disclosure only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence naming both the install and write actions. Front-loaded and waste-free, though the parenthetical '(if needed)' is slightly ambiguous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A 4-param tool with no annotations and no output schema. The description covers the main action but is silent on side effects (overwriting files, network installs), return values, and preconditions such as requiring a valid scenario id from list_scenarios. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents product, scenario, targetDir, and outputFile with defaults and enum values. The description adds nothing beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: installing RollDate Core/Events assets and writing a demo HTML file for a scenario. Clearly distinguishable from siblings like install_assets or get_snippet, which do one piece of this. The conditional '(if needed)' is slightly loose but the action is concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage as a scaffolding/example generator, but no explicit when-to-use vs alternatives. It doesn't say to use install_assets instead when only assets are needed, nor when to prefer this over the get_* snippet tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.3.2
    • Changedget_install_guide2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
    • Changedget_methods2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
    • Changedget_options2 fields changed
      • changedInput schema / properties / name / description
        Previous value: -"Optional option name filter, e.g. enableTime"New value: +"Optional option name filter, e.g. enableTime or onVisibleRangeChange"
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
    • Changedget_snippet4 fields changed
      • changedInput schema / properties / assetPath / description
        Previous value: -"Relative path to installed assets. Default: vendor/rolldate"New value: +"Relative path to installed assets. Defaults per product."
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / scenario / description
        Previous value: -"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer, highlight, range-presets"New value: +"Scenario id from list_scenarios"
      • removedInput schema / properties / scenario / enum
        Removed value: -[
        -  "single",
        -  "single-light",
        -  "inline",
        -  "range",
        -  "range-two",
        -  "multi",
        -  "trigger",
        -  "time-24",
        -  "time-12",
        -  "disabled",
        -  "footer",
        -  "highlight",
        -  "range-presets"
        -]
    • Changedinstall_assets3 fields changed
      • changedInput schema / properties / includeReadable / description
        Previous value: -"Also copy non-minified rolldate.js / rolldate.css. Default: false"New value: +"Also copy non-minified Core files. Default: false. Events ignores this."
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / targetDir / description
        Previous value: -"Destination folder relative to project cwd. Default: vendor/rolldate"New value: +"Destination folder relative to project cwd. Defaults per product."
    • Addedlist_products
    • Changedlist_scenarios2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
    • Changedscaffold_example5 fields changed
      • changedInput schema / properties / outputFile / description
        Previous value: -"HTML file path relative to cwd. Default: rolldate-example.html"New value: +"HTML file path relative to cwd. Default: rolldate-example.html or rolldate-events-example.html"
      • addedInput schema / properties / product
        Added value: +{
        +  "description": "RollDate product. Default: core (date picker). Use events for event calendars.",
        +  "enum": [
        +    "core",
        +    "events"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / scenario / description
        Previous value: -"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer, highlight, range-presets"New value: +"Scenario id from list_scenarios"
      • removedInput schema / properties / scenario / enum
        Removed value: -[
        -  "single",
        -  "single-light",
        -  "inline",
        -  "range",
        -  "range-two",
        -  "multi",
        -  "trigger",
        -  "time-24",
        -  "time-12",
        -  "disabled",
        -  "footer",
        -  "highlight",
        -  "range-presets"
        -]
      • changedInput schema / properties / targetDir / description
        Previous value: -"Asset folder relative to cwd. Default: vendor/rolldate"New value: +"Asset folder relative to cwd. Defaults per product."
  2. 4 tool updatesv1.1.0
    • Addedget_options
    • Changedget_snippet2 fields changed
      • changedInput schema / properties / scenario / description
        Previous value: -"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer"New value: +"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer, highlight, range-presets"
      • changedInput schema / properties / scenario / enum
        Previous value: -[
        -  "single",
        -  "single-light",
        -  "inline",
        -  "range",
        -  "range-two",
        -  "multi",
        -  "trigger",
        -  "time-24",
        -  "time-12",
        -  "disabled",
        -  "footer"
        -]New value: +[
        +  "single",
        +  "single-light",
        +  "inline",
        +  "range",
        +  "range-two",
        +  "multi",
        +  "trigger",
        +  "time-24",
        +  "time-12",
        +  "disabled",
        +  "footer",
        +  "highlight",
        +  "range-presets"
        +]
    • Addedlist_scenarios
    • Changedscaffold_example2 fields changed
      • changedInput schema / properties / scenario / description
        Previous value: -"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer"New value: +"Scenario id. One of: single, single-light, inline, range, range-two, multi, trigger, time-24, time-12, disabled, footer, highlight, range-presets"
      • changedInput schema / properties / scenario / enum
        Previous value: -[
        -  "single",
        -  "single-light",
        -  "inline",
        -  "range",
        -  "range-two",
        -  "multi",
        -  "trigger",
        -  "time-24",
        -  "time-12",
        -  "disabled",
        -  "footer"
        -]New value: +[
        +  "single",
        +  "single-light",
        +  "inline",
        +  "range",
        +  "range-two",
        +  "multi",
        +  "trigger",
        +  "time-24",
        +  "time-12",
        +  "disabled",
        +  "footer",
        +  "highlight",
        +  "range-presets"
        +]
  3. 6 tool updatesv1.0.0
    • First observedget_install_guide
    • First observedget_methods
    • First observedget_snippet
    • First observedinstall_agent_rules
    • First observedinstall_assets
    • First observedscaffold_example

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation4/5

Most tools target distinct actions: listing products/scenarios, retrieving snippets/options/methods, and installing/scaffolding. However, get_install_guide, install_assets, and scaffold_example overlap around asset installation and guide flows, which could cause some misselection.

Naming Consistency5/5

All tool names use snake_case and follow a verb_noun pattern (list_*, get_*, install_*, scaffold_example). The convention is predictable throughout.

Tool Count5/5

Nine tools is well-scoped for a library-focused MCP server, covering discovery, reference docs, installation, and scaffolding without bloat.

Completeness5/5

The surface covers product/scenario discovery, code snippets, options/methods references, install guides, asset installation, agent rules, and end-to-end scaffolding, which appears complete for RollDate integration. No obvious lifecycle gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides comprehensive date, time, timezone, and calendar operations powered by Luxon, enabling AI agents to perform time calculations, timezone conversions, and temporal data handling across 400+ IANA timezones.
    2
    34 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides programmatic access to 30+ Basecoat CSS (HTML port of ShadCN UI) components with usage documentation, setup scripts, and theme switching code. Enables AI assistants to help developers build accessible HTML interfaces with forms, navigation, feedback, interactive, and layout components.
    7
    60 npm
    12
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with direct terminal access to execute commands, manage files, and run persistent REPL sessions. It features automated installation scripts that educate AI assistants on its capabilities for seamless integration.
    MIT