{"apiVersion":"v1","directorySlug":"makelocal-mcp-27987f7bfa","title":"MakeLocal","description":"Turn your ideas into custom 3D-printed parts and products. MakeLocal connects you with nearby makers, designers, and print services for on-demand local manufacturing.","pageUrl":"https://www.mcpbundles.com/skills/makelocal-mcp-27987f7bfa","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://api.makelocal.eu/mcp","hostedMcpUrl":null,"toolCount":26,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"eu.makelocal/makelocal-mcp-27987f7bfa","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"browse_products","description":"List products currently available to order on MakeLocal. Use when the user wants to see what they can buy or order. Returns id, title, description, price, currency, and number of models per product.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":50,"minimum":1},"query":{"type":"string"}}},"title":"Browse products","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"browse_products","displayName":"Browse products"},{"name":"get_product","description":"Get full detail for a single MakeLocal product by id, including its models, required steps and capabilities. Use after browse_products when the user wants details on one product.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1}}},"title":"Get product detail","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_product","displayName":"Get product detail"},{"name":"list_makers","description":"List active MakeLocal makers (local makers / production units) and their capabilities, manufacturingProcesses and materials. Use when the user wants to find who can make something, optionally filtered by manufacturingProcess (e.g. \"FDM\", \"SLA\") or material.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":50,"minimum":1},"material":{"type":"string"},"manufacturingProcess":{"type":"string"}}},"title":"List makers","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_makers","displayName":"List makers"},{"name":"get_maker","description":"Get detail for a single MakeLocal maker (production unit) by id, including its capabilities, manufacturingProcesses and materials. Use after list_makers for one maker.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["makerId"],"properties":{"makerId":{"type":"string","minLength":1}}},"title":"Get maker detail","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_maker","displayName":"Get maker detail"},{"name":"list_my_models","description":"List the signed-in person's own 3D Models, drafts included, with each one's id, title, status and visibility. Use it to find a Model by name before reading or changing it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"workspace":{"type":"string","minLength":1}}},"title":"List my 3D Models","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_my_models","displayName":"List my 3D Models"},{"name":"get_my_model","description":"Read one of your 3D Models by id with all its versions, so you can tell which version is published and which is a draft. Find the id with list_my_models.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId"],"properties":{"modelId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Get my 3D Model","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_model","displayName":"Get my 3D Model"},{"name":"create_my_model","description":"Start a new 3D Model owned by the signed-in person, as a draft nobody else sees until a version is published. Needs the design capability. Prices are in minor units (grosze, cents). Attach the model file afterwards with save_my_model_draft_version.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title"],"properties":{"orgId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"price":{"type":"integer","default":0,"maximum":9007199254740991,"minimum":0},"photos":{"type":"array","items":{"type":"string"},"default":[]},"tagIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"default":[],"maxItems":8},"currency":{"enum":["USD","EUR","PLN","GBP","CAD","AUD","JPY","CHF","SEK","NOK","DKK","UAH"],"type":"string","default":"PLN"},"singleUse":{"type":"boolean","default":false},"workspace":{"type":"string","minLength":1},"coverPhoto":{"type":"string"},"perUnitFee":{"anyOf":[{"type":"integer","maximum":9007199254740991,"minimum":0},{"type":"null"}]},"policyName":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"shareAlike":{"type":"boolean","default":false},"visibility":{"enum":["private","org","link","public"],"type":"string","default":"private"},"allowResale":{"type":"boolean","default":false},"policyTerms":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"deliveryMode":{"enum":["download","view_only"],"type":"string","default":"download"},"commercialUse":{"type":"boolean","default":false},"licensePreset":{"enum":["all_rights_reserved","cc0","cc-by","cc-by-sa","cc-by-nc","cc-by-nd","cc-by-nc-sa","cc-by-nc-nd","custom"],"type":"string","default":"all_rights_reserved"},"allowInProducts":{"type":"boolean","default":false},"allowDerivatives":{"type":"boolean","default":false},"requireAttribution":{"type":"boolean","default":true}}},"title":"Create a 3D Model","logicalName":"create_my_model","displayName":"Create a 3D Model","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"edit_my_model","description":"Change the details of one of your 3D Models: title, description, price (minor units), licence terms, visibility, Workspace, photos or tags. Only the fields you pass change. Visibility \"public\" shows the Model in the public catalogue once a version is published. To publish a version use publish_my_model_version; to remove the Model use remove_my_model.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId"],"properties":{"orgId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"price":{"type":"integer","maximum":9007199254740991,"minimum":0},"photos":{"type":"array","items":{"type":"string"}},"tagIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"maxItems":8},"modelId":{"type":"string","minLength":1},"currency":{"enum":["USD","EUR","PLN","GBP","CAD","AUD","JPY","CHF","SEK","NOK","DKK","UAH"],"type":"string"},"singleUse":{"type":"boolean"},"workspace":{"type":"string","minLength":1},"coverPhoto":{"type":["string","null"]},"perUnitFee":{"anyOf":[{"type":"integer","maximum":9007199254740991,"minimum":0},{"type":"null"}]},"policyName":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"shareAlike":{"type":"boolean"},"visibility":{"enum":["private","org","link","public"],"type":"string"},"allowResale":{"type":"boolean"},"policyTerms":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}]},"deliveryMode":{"enum":["download","view_only"],"type":"string"},"commercialUse":{"type":"boolean"},"licensePreset":{"enum":["all_rights_reserved","cc0","cc-by","cc-by-sa","cc-by-nc","cc-by-nd","cc-by-nc-sa","cc-by-nc-nd","custom"],"type":"string"},"allowInProducts":{"type":"boolean"},"allowDerivatives":{"type":"boolean"},"requireAttribution":{"type":"boolean"}}},"title":"Edit my 3D Model","logicalName":"edit_my_model","displayName":"Edit my 3D Model","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_tags","description":"List the approved tags for 3D Models. Pass their ids as tagIds when you create or edit a 3D Model.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"workspace":{"type":"string","minLength":1}}},"title":"List tags for 3D Models","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_tags","displayName":"List tags for 3D Models"},{"name":"save_my_model_draft_version","description":"Save the draft version of one of your 3D Models: its semver, changelog and files. A Model has at most one draft; saving again replaces its files and details. Nobody else sees the draft until you publish it with publish_my_model_version, using the versionNumber this returns.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId","semver","files"],"properties":{"files":{"type":"array","items":{"type":"object","required":["s3Key","fileName"],"properties":{"kind":{"enum":["model","preview","attachment"],"type":"string","default":"model"},"s3Key":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1},"sizeBytes":{"type":"integer","maximum":9007199254740991,"minimum":0},"sortOrder":{"type":"integer","default":0,"maximum":9007199254740991,"minimum":0},"contentType":{"type":"string"}}},"minItems":1},"semver":{"type":"string","maxLength":32,"minLength":1},"modelId":{"type":"string","minLength":1},"changelog":{"type":"string","maxLength":2000},"workspace":{"type":"string","minLength":1}}},"title":"Save my 3D Model draft version","logicalName":"save_my_model_draft_version","displayName":"Save my 3D Model draft version","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_my_model_upload_url","description":"Get a one-hour address to upload a file for one of your 3D Models. Send the file bytes yourself with an HTTP PUT to uploadUrl, using the method and headers returned; never put the file in the chat. Then call attach_my_model_file with the returned s3Key to put it on the draft version.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId","fileName","contentType"],"properties":{"modelId":{"type":"string","minLength":1},"fileName":{"type":"string","maxLength":255,"minLength":1},"workspace":{"type":"string","minLength":1},"contentType":{"type":"string","maxLength":255,"minLength":1}}},"title":"Get an upload address for my 3D Model file","logicalName":"get_my_model_upload_url","displayName":"Get an upload address for my 3D Model file","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"attach_my_model_file","description":"Put a file you uploaded with get_my_model_upload_url on the draft version of that 3D Model. A version holds one 3D file (kind \"model\"), so attaching a model file replaces the previous one; previews and attachments are added. Without a draft yet, give the semver to start one. Publish the draft afterwards with publish_my_model_version, asking the person first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId","s3Key","fileName"],"properties":{"kind":{"enum":["model","preview","attachment"],"type":"string","default":"model"},"s3Key":{"type":"string","minLength":1},"semver":{"type":"string","maxLength":32,"minLength":1},"modelId":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1},"sizeBytes":{"type":"integer","maximum":9007199254740991,"minimum":0},"workspace":{"type":"string","minLength":1},"contentType":{"type":"string"}}},"title":"Attach an uploaded file to my 3D Model draft","logicalName":"attach_my_model_file","displayName":"Attach an uploaded file to my 3D Model draft","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_my_model_version","description":"Publish one version of your 3D Model. Ask the person first. The Model goes live and this version becomes the one people who buy or license it get; the previously published version is archived. With visibility \"public\" anyone can then find the Model in the public catalogue and buy it at its price; \"link\" shows it to anyone with the link, \"org\" to Workspace members. A paid Model needs a payout-ready Stripe account.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId","versionNumber"],"properties":{"modelId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1},"versionNumber":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}}},"title":"Publish my 3D Model version","logicalName":"publish_my_model_version","displayName":"Publish my 3D Model version","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_my_model","description":"Remove one of your 3D Models, as the web app does: it is archived, not erased. Ask the person first. An archived Model leaves the public catalogue and cannot be picked for new orders or Products; its versions, files and the licences already sold are kept.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["modelId"],"properties":{"modelId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Remove my 3D Model","logicalName":"remove_my_model","displayName":"Remove my 3D Model","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_my_products","description":"List the Products the signed-in person coordinates, drafts included, with each one's id, title, status, visibility and Workspace. Use it to find a Product by name before reading or changing it.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"workspace":{"type":"string","minLength":1}}},"title":"List my Products","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_my_products","displayName":"List my Products"},{"name":"get_my_product","description":"Read one Product by id with its workflow: the stages an order for it goes through, from the workflow version the Product is pinned to. Find the id with list_my_products.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Get my Product","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_my_product","displayName":"Get my Product"},{"name":"create_my_product","description":"Start a new Product as a draft that only the person sees, with its title, description, price (integer minor units, e.g. cents) and photos. Set up its stages with set_my_product_workflow and make it public with publish_my_product.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title","price"],"properties":{"orgId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"price":{"type":"integer","maximum":9007199254740991,"minimum":0},"photos":{"type":"array","items":{"type":"string"}},"currency":{"enum":["USD","EUR","PLN","GBP","CAD","AUD","JPY","CHF","SEK","NOK","DKK","UAH"],"type":"string","default":"PLN"},"workspace":{"type":"string","minLength":1},"visibility":{"enum":["private","org","link","public"],"type":"string"},"deliveryBudget":{"type":"integer","default":0,"maximum":9007199254740991,"minimum":0}}},"title":"Create a Product","logicalName":"create_my_product","displayName":"Create a Product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"edit_my_product","description":"Change a Product's title, description, price, delivery budget, photos, visibility or Workspace; send only the fields that change. A draft changes at once. On a live Product the text, price and photos wait as unpublished changes until publish_my_product, while visibility applies at once. Make it live with publish_my_product; erase it with remove_my_product.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"orgId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"null"}]},"price":{"type":"integer","maximum":9007199254740991,"minimum":0},"photos":{"type":"array","items":{"type":"string"}},"currency":{"enum":["USD","EUR","PLN","GBP","CAD","AUD","JPY","CHF","SEK","NOK","DKK","UAH"],"type":"string"},"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1},"visibility":{"enum":["private","org","link","public"],"type":"string"},"deliveryBudget":{"type":"integer","maximum":9007199254740991,"minimum":0}}},"title":"Edit a Product","logicalName":"edit_my_product","displayName":"Edit a Product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_my_product_upload_url","description":"Get a one-hour address to upload a photo or a model file for your Products. Send the file bytes yourself with an HTTP PUT to uploadUrl, using the method and headers returned; never put the file in the chat. Then pass the returned s3Key in photos to create_my_product or edit_my_product, or in a lane’s fileIds or photos to set_my_product_workflow.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["fileName","contentType","fileSize"],"properties":{"fileName":{"type":"string","maxLength":255,"minLength":1},"fileSize":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"workspace":{"type":"string","minLength":1},"contentType":{"type":"string","maxLength":255,"minLength":1}}},"title":"Get an upload address for a Product photo or stage file","logicalName":"get_my_product_upload_url","displayName":"Get an upload address for a Product photo or stage file","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_workflows","description":"List the workflows the person can put a Product on: their own, their Workspace’s and the public ones, official defaults first, each with its published version number. Pass the id and that number as workflowId and workflowVersion to set_my_product_workflow.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"workspace":{"type":"string","minLength":1}}},"title":"List workflows","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_workflows","displayName":"List workflows"},{"name":"list_pickable_models","description":"List the published 3D Models a Product lane can be bound to: owned (yours or licensed, free to use) and marketplace (must be bought first). Pass the Product’s currency so only models priced in it are listed. Use a model’s id and publishedVersionId as a lane’s modelId and modelVersionId in set_my_product_workflow.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"currency":{"type":"string","maxLength":3,"minLength":3},"workspace":{"type":"string","minLength":1}}},"title":"List 3D Models a Product can use","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_pickable_models","displayName":"List 3D Models a Product can use"},{"name":"set_my_product_workflow","description":"Choose the workflow (and version) whose stages an order for the Product goes through, and per lane the model files, material, process and fee per stage, as the web editor saves them. Send null workflowId to clear it. A setup the editor would refuse is refused here with the reason; fix it and call again. On a live Product it waits until publish_my_product. Read the current setup with get_my_product.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId","workflowId","workflowVersion","laneBindings"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1},"workflowId":{"type":["string","null"]},"laneBindings":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","properties":{"photos":{"type":"array","items":{"type":"string"}},"fileIds":{"type":"array","items":{"type":"string"}},"modelId":{"type":"string"},"material":{"type":"string"},"settings":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"fileNames":{"type":"array","items":{"type":"string"}},"feeByPhase":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"integer","maximum":9007199254740991,"minimum":0}},"sourceType":{"enum":["upload","marketplace","request_design"],"type":"string"},"instructions":{"type":"string"},"modelVersionId":{"type":"string"},"postProduction":{"type":"object","properties":{"notes":{"type":"string","maxLength":1000},"requirements":{"type":"array","items":{"enum":["assembly","support_removal","sanding","painting","polishing","gluing"],"type":"string"},"default":[]}}},"supplySettings":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"requiredSupplies":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"manufacturingProcess":{"type":"string"}}}},{"type":"null"}]},"workflowVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},{"type":"null"}]},"componentBindings":{"anyOf":[{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"object","required":["productId"],"properties":{"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"settings":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}},"productId":{"type":"string"}}}},{"type":"null"}]}}},"title":"Set a Product's workflow","logicalName":"set_my_product_workflow","displayName":"Set a Product's workflow","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"publish_my_product","description":"Make the Product public to buyers. A draft goes live and can be ordered by anyone it is visible to; on a live Product the unpublished changes replace what buyers see. Ask the person first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Publish a Product","logicalName":"publish_my_product","displayName":"Publish a Product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"discard_my_product_changes","description":"Throw away a live Product's unpublished changes, returning it to what buyers see now. The discarded changes cannot be recovered. Ask the person first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Discard a Product's unpublished changes","logicalName":"discard_my_product_changes","displayName":"Discard a Product's unpublished changes","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"unpublish_my_product","description":"Take a live Product off the marketplace, as the web app's Unpublish does: it stops being for sale, so no one can order it, and goes back to a draft only the person sees. Make it live again with publish_my_product. Ask the person first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Unpublish a Product","logicalName":"unpublish_my_product","displayName":"Unpublish a Product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_my_product","description":"Erase the Product for good: it, its photos list and its workflow setup are deleted and cannot be recovered, by the person or by MakeLocal. Ask the person first.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["productId"],"properties":{"productId":{"type":"string","minLength":1},"workspace":{"type":"string","minLength":1}}},"title":"Remove a Product","logicalName":"remove_my_product","displayName":"Remove a Product","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=MakeLocal&config=eyJ1cmwiOiAiaHR0cHM6Ly9hcGkubWFrZWxvY2FsLmV1L21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22MakeLocal%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.makelocal.eu%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22MakeLocal%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapi.makelocal.eu%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=MakeLocal&connectorUrl=https%3A%2F%2Fapi.makelocal.eu%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"MakeLocal\" --url \"https://api.makelocal.eu/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/makelocal-mcp-27987f7bfa","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/makelocal-mcp-27987f7bfa/tools/{tool}","mcpServerUrl":"https://api.makelocal.eu/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/makelocal-mcp-27987f7bfa?live=1"}