TimeLib MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_AUTH_TOKEN | No | Required for hosted (HTTP) server. Static bearer token protecting the MCP endpoint. The server refuses to start without one. | |
| OWNER_PASSWORD | No | Optional, for OAuth (claude.ai web/mobile). A password you'll type to approve access. | |
| OAUTH_JWT_SECRET | No | Optional, for OAuth (claude.ai web/mobile). 64+ random hex chars used to sign client registrations and tokens. | |
| SANITY_API_TOKEN | No | Optional. Sanity API token with Editor (write) permission. When set together with SANITY_PROJECT_ID, the agent gains tools to edit the storefront content managed in Sanity. | |
| SANITY_PROJECT_ID | No | Optional. Sanity project ID. When set together with SANITY_API_TOKEN, the agent gains tools to edit the storefront content managed in Sanity. | |
| MEDUSA_ADMIN_EMAIL | No | Medusa admin email for login (Option B - the server logs in and refreshes the token automatically) | |
| MEDUSA_BACKEND_URL | Yes | The URL of the Medusa backend | |
| MEDUSA_ADMIN_API_KEY | No | Secret API key for Medusa admin (Option A - recommended: non-expiring, revocable, no password stored) | |
| MEDUSA_ADMIN_PASSWORD | No | Medusa admin password for login (Option B) |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_store_contextA | Return store defaults an agent needs BEFORE creating products: regions & their currency codes, sales channels, stock locations, and price preferences. Call this first when unsure about currency_code / sales_channel_id / location_id. |
| list_productsB | List/search products. Supports free-text 'q', status filter, and filtering by collection/category/tag/type id. |
| get_productA | Get a single product by id, including variants, options, prices, images and tags. |
| create_productA | Create a product. Provide options (e.g. Size/Color) and variants that reference those options. Variant prices use major currency units (25 = $25.00). Images are passed as an array of public URLs. Set status 'published' to make it live, or 'draft' to stage it. Example variant: { title:'Medium', sku:'TL-M', options:{ Size:'M' }, prices:[{ amount:25, currency_code:'usd' }], manage_inventory:true }. |
| update_productA | Update fields on an existing product (title, description, status, thumbnail, collection_id, etc.). Only include fields you want to change. To publish: set status='published'. |
| delete_productA | Delete a product by id. This is permanent — confirm with the user first. |
| create_variantB | Add a variant to an existing product. Provide options map + prices. e.g. options:{ Size:'XL' }, prices:[{amount:30,currency_code:'usd'}]. |
| update_variantC | Update a variant (title, sku, prices, manage_inventory, options). |
| delete_variantC | Delete a variant from a product. |
| list_inventory_itemsB | List inventory items (optionally search by sku/title with 'q'). |
| set_inventory_levelB | Set the stocked quantity for an inventory item at a stock location. Use list_inventory_items to find inventory_item_id and get_store_context for location_id. |
| list_collectionsC | List product collections. |
| create_collectionC | Create a product collection. |
| list_categoriesC | List product categories. |
| create_categoryC | Create a product category. |
| list_product_tagsC | List product tags. |
| list_product_typesC | List product types. |
| list_ordersC | List recent orders. Supports 'q' free-text and paging. |
| get_orderB | Get full details of one order by id. |
| list_customersC | List/search customers. |
| medusa_admin_requestA | Low-level escape hatch: call ANY Medusa Admin API endpoint directly. Use for anything the curated tools don't cover (fulfillments, price lists, promotions, refunds, uploads, etc.). path must start with /admin. Be careful with POST/DELETE — confirm destructive actions with the user first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes (collections, categories, products, variants, inventory, orders, customers). However, create_collection/list_collections vs create_category/list_categories vs create_product/list_products all follow similar patterns and could be confused without careful reading, and the escaping medusa_admin_request overlaps with every curated tool's purpose.
The naming mostly follows verb_noun (create_collection, list_orders, get_product, update_variant, delete_variant, set_inventory_level). Minor deviations: get_store_context uses a non-verb + context noun pattern, and medusa_admin_request is a general escape hatch rather than a verb_noun operation. Otherwise consistent.
21 tools is on the heavy side but justified for a commerce backend covering products, variants, collections, categories, orders, customers, and inventory. The count pushes toward the upper boundary of reasonable scope, and the escape hatch tool adds useful flexibility but also breadth.
The curated surface covers core e-commerce lifecycle well: full CRUD for products/variants/collections, category and order/customer listing, and inventory management. Missing curated coverage for orders (no cancel/update status), customers (no create/update), and categories (no delete) is acknowledged and offloaded to the medusa_admin_request escape hatch, so agents have no dead ends.