{"apiVersion":"v1","directorySlug":"keepmoments-mcp-8d1d0d85aa","title":"Keepmoments","description":"Keepmoments, memorial keepsake jewelry","pageUrl":"https://www.mcpbundles.com/skills/keepmoments-mcp-8d1d0d85aa","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.keepmoments.work/mcp","hostedMcpUrl":null,"toolCount":5,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"work.keepmoments/keepmoments-mcp-8d1d0d85aa","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_products","description":"Search OR browse the Keepmoments catalog. Omit the query parameter to list the whole catalog — do this when the shopper asks to \"see what you have\" or browses without specifics. The catalog is in ENGLISH: pass short English keywords (e.g. \"necklace\", \"bracelet\", \"hair\", \"ashes\", \"ring\"); long phrases or non-English words may not match. If a query has no exact match, the full catalog is returned instead. Supports pagination via limit and offset. Results are shown to the shopper as product cards —","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string"},"locale":{"type":"string"},"offset":{"type":"integer","minimum":0}},"additionalProperties":false},"title":"Search products","logicalName":"search_products","displayName":"Search products","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_product","description":"Fetch full details for one product by handle, including price and whether it is customizable. Call before configuring.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["handle"],"properties":{"handle":{"type":"string"},"locale":{"type":"string"}},"additionalProperties":false},"title":"Get product details","logicalName":"get_product","displayName":"Get product details","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_product_configurator","description":"Returns the product's customization options AND shows an interactive configurator panel to the shopper. Do NOT re-list the options as text — just invite the shopper to use the panel. Photo/file upload fields are optional and added later on the website.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["product_id"],"properties":{"locale":{"type":"string"},"product_id":{"type":"string"}},"additionalProperties":false},"title":"Get configurator options","logicalName":"get_product_configurator","displayName":"Get configurator options","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_configuration","description":"Validate the shopper's selections and return the live price adjustment. `selections` maps each field id to the chosen choice value (or text/number). Call whenever selections change.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["product_id","selections"],"properties":{"locale":{"type":"string"},"product_id":{"type":"string"},"selections":{"type":"object","additionalProperties":{}}},"additionalProperties":false},"title":"Validate configuration & price","logicalName":"validate_configuration","displayName":"Validate configuration & price","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_configuration_link","description":"Save the shopper's configuration and return a deep link to the website to finish (upload any required photo) and check out. Use once the configuration is valid and the shopper wants to proceed. Checkout always happens on the website, never in chat.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["product_id","selections"],"properties":{"locale":{"type":"string"},"product_id":{"type":"string"},"selections":{"type":"object","additionalProperties":{}}},"additionalProperties":false},"title":"Create configuration link","logicalName":"create_configuration_link","displayName":"Create configuration link","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Keepmoments&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aua2VlcG1vbWVudHMud29yay9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Keepmoments%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.keepmoments.work%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Keepmoments%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.keepmoments.work%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Keepmoments&connectorUrl=https%3A%2F%2Fmcp.keepmoments.work%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Keepmoments\" --url \"https://mcp.keepmoments.work/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/keepmoments-mcp-8d1d0d85aa","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/keepmoments-mcp-8d1d0d85aa/tools/{tool}","mcpServerUrl":"https://mcp.keepmoments.work/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/keepmoments-mcp-8d1d0d85aa?live=1"}