marketplace-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOSTR_RELAYS | Yes | Comma-separated wss:// relays. Server refuses to start if empty. | |
| NOSTR_LOG_PATH | No | Server log. | ./marketplace-mcp.log |
| NOSTR_NIP46_URI | No | bunker://... URI. Recommended. | |
| NOSTR_READ_ONLY | No | Disables all publish tools. | false |
| NOSTR_AUDIT_PATH | No | Append-only JSON-line audit log. | ./marketplace-mcp-audit.log |
| NOSTR_PRIVATE_KEY | No | Raw nsec1... Dev/legacy only. | |
| SHOPSTR_CACHE_URL | No | Override to mirror to a self-hosted Shopstr deployment. | https://shopstr.store/api/db/cache-event |
| NOSTR_REQUIRE_CONFIRM | No | Two-step confirm. | false |
| SHOPSTR_CACHE_ENABLED | No | Controls whether the cache POST runs at all. | unset (false) |
| NOSTR_MAX_EVENTS_PER_MINUTE | No | Rolling 60s rate limit. | 10 |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| marketplace_create_or_update_stallA | Create or update a NIP-15 marketplace stall (kind:30017). The |
| marketplace_create_or_update_productA | Create or update a NIP-15 product (kind:30018) within a stall. The |
| shopstr_create_or_update_shopA | Create or update the seller's Shopstr shop profile (kind:30019). The |
| shopstr_create_or_update_productA | Create or update a Shopstr-compatible product as a NIP-99 Classified Listing (kind:30402). All product data lives in tags; |
| marketplace_confirm_publishA | Execute a previously-prepared marketplace publish, identified by its one-time token. Only meaningful when NOSTR_REQUIRE_CONFIRM=true. Single-use token; the safety pipeline re-runs before signing. For Shopstr-modern tools (kind:30019/30402), the Shopstr cache POST hook is re-attached automatically. |
| marketplace_list_my_stallsA | Fetch + parse the current signer's NIP-15 stalls (kind:30017). For each stall event found on the configured relays, returns the event id, created_at, |
| marketplace_list_my_productsA | Fetch + parse the current signer's NIP-15 products (kind:30018). Returns each product's event id, created_at, |
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 7 tools
Each tool targets a distinct resource or action: marketplace vs shopstr domains, products vs stalls vs shops, and a dedicated confirmation tool. The purpose of each tool is clearly differentiated.
All tool names follow the pattern '<domain>_<action>_<resource>', with consistent verbs like create_or_update, list, and confirm. The prefix cleanly separates the two domains.
Seven tools cover the essential operations for a marketplace seller: managing stalls and products for two protocols, listing them, and a confirmation step. No tool feels redundant or missing.
The tool surface covers create/update and reading for stalls and products across two protocols, plus a confirmation step. Missing deletion or archival tools, but the core workflows are well-covered.