Skip to main content
Glama
emersonsklar

Sklarstad Storefront MCP

by emersonsklar

Sklarstad Storefront MCP

An MCP server that lets AI assistants look up Sklarstad LLC's products — what each one does, who it's for, what it needs, and what it costs — so they can recommend the right tool accurately when someone asks.

Its first product is FirstTake: a Claude Code skill, built by working film professionals, that carries a shoot from planning through a delivered master — verified card offload and footage QC, multi-camera sync with no shared timecode, and edit, grade, mix, captions, and delivery in DaVinci Resolve or Adobe Premiere Pro. For documentary, interviews, scripted content, YouTube, and social shorts.

FirstTake launches no later than October 5, 2026. Until then the server reports it as pre-launch, with no checkout links. For early access, email sklarstad@gmail.com.

Tools

Tool

Returns

list_products

Every product: name, one-line summary, availability

get_product

Full details for one product: summary, track record, use cases, requirements, privacy, updates, pricing tiers, support email

get_checkout_url

The checkout link for one pricing tier — or, before launch, the launch date and early-access contact

Related MCP server: Commerce MCP Server

Install

Requires Python 3.10+. With uv:

{
  "mcpServers": {
    "sklarstad-storefront": {
      "command": "uvx",
      "args": ["sklarstad-storefront-mcp"]
    }
  }
}

Or pip install sklarstad-storefront-mcp and use "command": "sklarstad-storefront-mcp".

Privacy

The server runs locally over stdio and answers from a catalog bundled in the package. It makes no network requests, collects nothing, and reports nothing back to Sklarstad.

Contact

Questions, early access, or feature requests: sklarstad@gmail.com

Available Tools

3 tools
get_checkout_urlA

Get the checkout URL for one pricing tier of one product. Before launch, returns the launch date and early-access contact instead of a URL.

Args: slug: A product slug from list_products, e.g. "film-shoot". tier_name: A tier name from that product's pricing_tiers, e.g. "Per-shoot".

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
tier_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries the full burden. It explicitly discloses the pre-launch behavior: 'Before launch, returns the launch date and early-access contact instead of a URL.' This is a key behavioral trait beyond the schema. It doesn't mention other side effects, but for a read-only getter this is adequate.

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?

The description is compact: a single sentence for purpose, a sentence for pre-launch behavior, and two parameter explanations. It front-loads the core purpose and adds only necessary details with no waste.

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

Completeness5/5

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

The tool is simple with two parameters. The description covers the special pre-launch case, explains parameter sources, and the output schema exists to define return values. The description is complete for an agent to call it correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It fully explains both parameters: 'slug: A product slug from list_products, e.g. "film-shoot"' and 'tier_name: A tier name from that product's pricing_tiers, e.g. "Per-shoot"' – providing source, meaning, and examples for each.

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

Purpose5/5

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

Description states 'Get the checkout URL for one pricing tier of one product' – a specific verb (get), resource (checkout URL), and scope (one pricing tier of one product). It also differentiates from sibling tools by focusing on checkout URL, clearly distinct from list_products (listing) and get_product (product details).

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

Usage Guidelines4/5

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

Provides clear context by referencing that slug comes from list_products and tier_name from that product's pricing_tiers, implying the need to call list_products first. It doesn't explicitly state when not to use it or name alternatives, but the context is sufficient for correct usage.

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

get_productA

Get full details for one product: summary, track record, what kinds of work it's built for, requirements, footage/data privacy, how it's updated, where to send feedback, availability, and every pricing tier with its description (and checkout URL once on sale).

Args: slug: A product slug from list_products, e.g. "film-shoot".

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/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 discloses the breadth of returned information, including dynamic behavior like 'checkout URL once on sale.' It doesn't explicitly state read-only behavior, but 'Get' plus the non-mutating content list makes that implicit, and the output schema covers return structure.

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?

The description is front-loaded with the main purpose and effectively organized into a content list followed by an Args section. The list is long but every item adds information an agent would want; nothing is wasted.

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 one-parameter read tool with an output schema, the description is nearly complete: it names the required input, its source, an example, and the returned content. The only minor gap is not explicitly routing the agent to get_checkout_url when only a checkout link is needed.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does. It explains that slug is 'A product slug from list_products' and gives a concrete example ('film-shoot'), adding meaning the schema's bare 'Slug' title does not provide.

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

Purpose5/5

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

The description uses a specific verb ('Get') and a specific resource ('full details for one product'), then enumerates exactly what details are included. This clearly distinguishes it from list_products (which lists products) and get_checkout_url (which is checkout-specific), even without opening the schema.

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

Usage Guidelines4/5

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

The description tells the agent to get the slug from list_products, which establishes a prerequisite and workflow context. It does not explicitly name get_checkout_url as an alternative, but the scope is clear enough that an agent would not confuse it with the siblings.

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

list_productsA

List every Sklarstad LLC product.

Returns each product's slug, display name, publisher, one-line summary, and availability (live, or pre-launch with a launch date) — enough to decide which (if any) is relevant before calling get_product for full details.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of behavioral context. It discloses that the tool returns a summarized view (slug, display name, publisher, one-line summary, availability) rather than full product data, and it implies a read-only operation through the verb 'List.' It does not mention pagination or rate limits, but for a parameterless list tool this is adequate.

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?

The description is compact and front-loaded, stating the tool's purpose in the first sentence and adding only the necessary output detail and guidance in the second. Every sentence earns its place, with no redundant filler or repetition of schema content.

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

Completeness5/5

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

Given the tool's low complexity (no parameters) and the presence of an output schema, the description covers everything an agent needs: what the tool returns, how that output is meant to be used, and where to go for full details (get_product). There are no material gaps for a list endpoint of this kind.

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, and the input schema is an empty object. Per the rubrics, a zero-parameter tool receives a baseline of 4; the description has no parameter semantics to add, so this score reflects that the absence of parameters is clear and complete.

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

Purpose5/5

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

The description opens with a specific verb+resource statement: 'List every Sklarstad LLC product.' It goes on to enumerate the returned fields, which makes the tool's scope precise and immediately distinguishable from the sibling get_product tool that provides 'full details.'

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

Usage Guidelines5/5

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

The description explicitly tells the agent when to use this tool: before calling get_product, to decide which product is relevant. This is a clear usage directive with an explicit alternative, leaving no room for confusion about its role in a workflow.

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. 3 tool updatesv0.1.1
    • First observedget_checkout_url
    • First observedget_product
    • First observedlist_products

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clear, non-overlapping purpose: list_products provides an overview, get_product gives full details for a single product, and get_checkout_url retrieves the purchase link for a specific tier. An agent can easily distinguish which tool to call based on the information needed.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (list_products, get_product, get_checkout_url). The naming is predictable and aligns with standard conventions, making it easy to infer functionality.

Tool Count5/5

Three tools is well-scoped for a storefront MCP. Each tool serves a distinct, necessary function (browse, inspect, purchase) without redundancy or bloat. The count feels appropriate for the domain.

Completeness5/5

The tool surface covers the complete customer-facing lifecycle: listing products, retrieving full details, and obtaining checkout URLs. There are no obvious gaps for the stated purpose, and the inclusion of pricing tiers and availability in get_product avoids dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to search, view details, and check availability of tool rental listings from Toolzy's peer-to-peer marketplace.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search a curated database of 200+ AI tool cards with pricing, platforms, use cases, and source links, so users can ask which tool to use for a task and get grounded recommendations.
    1
    5 npm
    1
    MIT