Skip to main content
Glama
eoset

Systembolaget API MCP Server

by eoset

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SYSTEMBOLAGET_SUBSCRIPTION_KEYYesYour Systembolaget API subscription key

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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_productsA

Search Systembolaget (Swedish liquor store) products by product launch date range. Fetches all pages automatically and returns the combined result.

Returns products that have a launch date between launch_date_min and launch_date_max. By default returns a compact response (metadata + key product fields only). Set full_response=True to get the complete API-style response (all fields, filters, etc.).

Args: launch_date_min: Start of launch date range (YYYY-MM-DD). Maps to productLaunch.min. launch_date_max: End of launch date range (YYYY-MM-DD). Maps to productLaunch.max. size: Page size used when fetching (default 100). All pages are fetched automatically. sort_by: Sort field (e.g. "Score"). Default "Score". sort_direction: "Ascending" or "Descending". Default "Ascending". assortment_text: Assortment filter (e.g. "Tillfälligt sortiment"). Default "Tillfälligt sortiment". full_response: If False (default), return only metadata and key product fields for speed. If True, return the full response structure (all fields, filters, etc.).

Returns: By default: metadata (docCount, totalPages, nextPage, previousPage) and products with productId, productNameBold, productNameThin, producerName, price, volume, volumeText, alcoholPercentage, country, categoryLevel1, customCategoryTitle, assortmentText, productLaunchDate, taste, usage, vintage. If full_response=True, the complete response with all products and filters is returned.

list_products_formattedA

Search products by launch date and return a ready-to-use list of formatted lines. All filtering and formatting is done inside the MCP (no client-side parsing needed). Fetches all pages automatically so the list is complete.

Use product_filter="beer" to get only products where CategoryLevel1 is "Öl", or product_filter="all" to get every product in the same format. Each line is "Product Name — volume, alcohol%".

Args: launch_date_min: Start of launch date range (YYYY-MM-DD). launch_date_max: End of launch date range (YYYY-MM-DD). product_filter: "beer" (default) returns only products with CategoryLevel1 "Öl"; "all" returns every product. size: Page size when fetching (default 100). All pages are fetched automatically. sort_by: Sort field. Default "Score". sort_direction: "Ascending" or "Descending". Default "Ascending". assortment_text: Assortment filter. Default "Tillfälligt sortiment".

Returns: Sorted unique list of strings, e.g. ["Vreta klosters Våröl — 330 ml, 5.6%", ...].

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation2/5

Both tools perform the same core operation — searching products by launch date range with identical arguments (size, sort_by, sort_direction, assortment_text) and the same auto-pagination behavior. The only real difference is output formatting (raw structured data vs. pre-formatted strings), which makes list_products_formatted a redundant variant of search_products rather than a distinct capability.

Naming Consistency3/5

Both names are snake_case with a verb_noun shape, which is readable and consistent in style. However, the verbs diverge ('search' vs 'list') despite the tools doing the same underlying search, which weakens predictability about which tool to pick for a lookup.

Tool Count3/5

Two tools is thin for a product catalog API, but the second is a formatting convenience wrapper rather than a genuinely separate function, so the effective surface is closer to one tool with a format flag. This is borderline rather than severely mismatched.

Completeness2/5

The surface only supports launch-date-range queries and cannot search by name, producer, category, price, or alcohol content, and there is no get-by-ID, store lookup, or stock/availability tool — all core to the Systembolaget domain. Agents would hit dead ends for most real product-lookup tasks.

Maintenance

ActivityInactive
ResponsivenessNo issues