{"apiVersion":"v1","directorySlug":"boatwork-mcp-8d867ed457","title":"Boatwork","description":"Find trusted boat and yacht professionals near you. Get free quotes from vetted marine experts for repair, maintenance, detailing & more. Book your pro today!","pageUrl":"https://www.mcpbundles.com/skills/boatwork-mcp-8d867ed457","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.boatwork.co/boat-owner-mcp","hostedMcpUrl":null,"toolCount":21,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"co.boatwork/boatwork-mcp-8d867ed457","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"search_marine_pros","description":"Boat Owner MCP. Search active marine service pros by free text, specialty slug, city, state, location, page, and limit. Use this for boater-side discovery before a verified owner request. This tool is read-only and never contacts pros.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"q":{"type":"string"},"city":{"type":"string"},"page":{"type":"integer","maximum":3,"minimum":1},"limit":{"type":"integer","maximum":20,"minimum":1},"state":{"type":"string","maxLength":2,"minLength":2},"location":{"type":"string"},"specialty":{"type":"string"}},"additionalProperties":false},"logicalName":"search_marine_pros","displayName":"search_marine_pros","title":"search_marine_pros","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search_marine_pros_nearby","description":"Boat Owner MCP. Find active marine service pros near a latitude/longitude, filtered by radius, specialty, rating, and limit. Use when the boater gives a marina, home port, or boat location that can be geocoded. This tool is read-only and never books work.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["lat","lng"],"properties":{"lat":{"type":"number","maximum":90,"minimum":-90},"lng":{"type":"number","maximum":180,"minimum":-180},"limit":{"type":"integer","maximum":50,"minimum":1},"minRating":{"type":"number","maximum":5,"minimum":0},"radiusMiles":{"type":"number","maximum":250,"exclusiveMinimum":0},"specialtySlug":{"type":"string"}},"additionalProperties":false},"logicalName":"search_marine_pros_nearby","displayName":"search_marine_pros_nearby","title":"search_marine_pros_nearby","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_marine_services","description":"Boat Owner MCP. List every Boatwork marine service specialty and its slug. Use these slugs in search_marine_pros or search_marine_pros_nearby. This tool is read-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"logicalName":"list_marine_services","displayName":"list_marine_services","title":"list_marine_services","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_marine_pro_profile","description":"Boat Owner MCP. Fetch one public marine service pro profile by slug from search results: services, location, about text, ratings, media, reviews, and profile status. Contact details are public phone and website, but never an email address; to reach the pro, use start_service_request or message_pro. This is for boater-side evaluation; it is read-only and not a contractor management tool.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"get_marine_pro_profile","displayName":"get_marine_pro_profile","title":"get_marine_pro_profile","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_pro_services","description":"Boat Owner MCP. List one pro storefront services with prices and durations, and whether the pro is bookable online. Use the service id with get_open_times and book_service. This tool is read-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug"],"properties":{"slug":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"list_pro_services","displayName":"list_pro_services","title":"list_pro_services","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_open_times","description":"Boat Owner MCP. Show the open booking times for one pro service, from a start date for the next 1 to 42 days. Use the ISO start values with book_service. This tool is read-only.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","serviceId"],"properties":{"days":{"type":"integer","maximum":42,"minimum":1},"from":{"type":"string"},"slug":{"type":"string","minLength":1},"serviceId":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"get_open_times","displayName":"get_open_times","title":"get_open_times","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"find_service_location","description":"Boat Owner MCP. Find the exact place where the work will happen (marina, boatyard, address or town) so the owner can confirm it. Returns up to 5 places with a placeId. Show them to the owner and let the owner choose; never choose for them. Pass the chosen placeId to start_service_request.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"query":{"type":"string","maxLength":160,"minLength":3}},"additionalProperties":false},"logicalName":"find_service_location","displayName":"find_service_location","title":"find_service_location","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"book_service","description":"Boat Owner MCP. Book and pay for one pro storefront service. Without ownerConfirmed:true this returns a no-write preview; with ownerConfirmed:true after the owner says yes, Boatwork returns a pay link that is good for 30 minutes (and holds the time, for a timed service). A subscription service needs no time and renews until the owner cancels.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","serviceId","customerName","customerEmail","customerPhone"],"properties":{"date":{"type":"string"},"note":{"type":"string","maxLength":1000},"slug":{"type":"string","minLength":1},"time":{"type":"string"},"start":{"type":"string"},"serviceId":{"type":"string","minLength":1},"customerName":{"type":"string","maxLength":120,"minLength":1},"customerEmail":{"type":"string","format":"email","maxLength":180},"customerPhone":{"type":"string","maxLength":40,"minLength":3},"ownerConfirmed":{"type":"boolean"}},"additionalProperties":false},"logicalName":"book_service","displayName":"book_service","title":"book_service","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"start_service_request","description":"Boat Owner MCP. Start a verified boater request for selected pros. Only include pros whose search result says \"Request estimate: yes\". Without ownerConsentConfirmed:true this returns a no-write preview. With explicit owner consent, Boatwork drafts the request and emails the owner a verification code; no pro is contacted until confirm_service_request succeeds.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerFirstName","ownerEmail","specialtySlug","projectLocation","projectDescription","contractorSlugs"],"properties":{"placeId":{"type":"string","maxLength":512,"minLength":3},"ownerEmail":{"type":"string","format":"email","maxLength":180},"ownerPhone":{"type":"string","maxLength":40},"ownerLastName":{"type":"string","maxLength":80},"specialtySlug":{"type":"string","maxLength":120,"minLength":1},"ownerFirstName":{"type":"string","maxLength":80,"minLength":1},"clientRequestId":{"type":"string","maxLength":120},"contractorSlugs":{"type":"array","items":{"type":"string","maxLength":160,"minLength":1},"maxItems":3,"minItems":1},"projectLocation":{"type":"string","maxLength":160,"minLength":2},"projectDescription":{"type":"string","maxLength":4000,"minLength":20},"ownerConsentConfirmed":{"type":"boolean"},"ownerConsentStatement":{"type":"string","maxLength":500},"ownerConfirmedLocation":{"type":"boolean"}},"additionalProperties":false},"logicalName":"start_service_request","displayName":"start_service_request","title":"start_service_request","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"confirm_service_request","description":"Boat Owner MCP. Confirm an owner-verified boater request by email code or token. This step creates the real request and quote records and contacts the selected pros. Only call after the owner provides the verification code from Boatwork.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["requestId"],"properties":{"requestId":{"type":"string","minLength":1},"verificationCode":{"type":"string","maxLength":80,"minLength":6},"verificationToken":{"type":"string","maxLength":160,"minLength":32}},"additionalProperties":false},"logicalName":"confirm_service_request","displayName":"confirm_service_request","title":"confirm_service_request","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_owner_opportunities","description":"Boat Owner MCP. List the owner-verified requests available to this ownerAccessToken. The token is scoped to one verified owner request; use this before messaging pros, selecting visit times, accepting estimates, completing work, or leaving a review.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken"],"properties":{"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"list_owner_opportunities","displayName":"list_owner_opportunities","title":"list_owner_opportunities","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_owner_opportunity","description":"Boat Owner MCP. Read the full owner view of one request: service, location, intake answers, selected pros, per-pro status, messages, visits, estimates, and review state. Requires the ownerAccessToken for that request.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId"],"properties":{"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"get_owner_opportunity","displayName":"get_owner_opportunity","title":"get_owner_opportunity","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"track_owner_opportunity_status","description":"Boat Owner MCP. Get a compact status view across every selected pro on an owner-verified request. Use this to answer “where does my project stand?” without dumping full messages.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId"],"properties":{"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"track_owner_opportunity_status","displayName":"track_owner_opportunity_status","title":"track_owner_opportunity_status","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"message_pro","description":"Boat Owner MCP. Send a message from the verified owner into one pro thread on a request. Requires ownerAccessToken. Sends right away; no confirmation step.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","quoteId","content"],"properties":{"confirm":{"type":"boolean"},"content":{"type":"string","maxLength":5000,"minLength":1},"quoteId":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"message_pro","displayName":"message_pro","title":"message_pro","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"answer_missing_info","description":"Boat Owner MCP. Answer a pro missing-info request by sending structured owner-provided details into that pro thread. Requires ownerAccessToken. Sends right away; no confirmation step.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","quoteId","answers"],"properties":{"answers":{"type":"array","items":{"type":"string","maxLength":1000,"minLength":1},"maxItems":20,"minItems":1},"confirm":{"type":"boolean"},"quoteId":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"answer_missing_info","displayName":"answer_missing_info","title":"answer_missing_info","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"email_pro","description":"Boat Owner MCP. Send a question or message to one pro through Boatwork. Boatwork delivers it by email (or to its team by phone when the pro has no email); the pro's reply comes back to the owner's email. The pro's email address is never shared. Sends right away — no code.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["slug","ownerFirstName","ownerEmail","message"],"properties":{"slug":{"type":"string","minLength":1},"message":{"type":"string","maxLength":2000,"minLength":10},"ownerEmail":{"type":"string","format":"email","maxLength":180},"ownerPhone":{"type":"string","maxLength":40,"minLength":3},"ownerLastName":{"type":"string","maxLength":80},"ownerFirstName":{"type":"string","maxLength":80,"minLength":1}},"additionalProperties":false},"logicalName":"email_pro","displayName":"email_pro","title":"email_pro","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"review_visit_options","description":"Boat Owner MCP. Review proposed visit windows across pros for one owner-verified request. Read-only; use select_visit_time when the owner chooses a specific option.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId"],"properties":{"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"review_visit_options","displayName":"review_visit_options","title":"review_visit_options","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"select_visit_time","description":"Boat Owner MCP. Select one pro-proposed visit time for the verified owner. selectedTime must exactly match a proposed ISO datetime. Requires ownerAccessToken and confirm:true; omit confirm for a no-write preview.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","quoteId","visitId","selectedTime"],"properties":{"confirm":{"type":"boolean"},"quoteId":{"type":"string","minLength":1},"visitId":{"type":"string","minLength":1},"selectedTime":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"select_visit_time","displayName":"select_visit_time","title":"select_visit_time","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"accept_estimate","description":"Boat Owner MCP. Accept an estimate on behalf of the verified owner, awarding the work to that pro through Boatwork’s existing owner decision rails. Requires ownerAccessToken and confirm:true after explicit owner approval; omit confirm for a no-write preview.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","estimateId"],"properties":{"confirm":{"type":"boolean"},"estimateId":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"accept_estimate","displayName":"accept_estimate","title":"accept_estimate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"mark_work_complete","description":"Boat Owner MCP. Mark the accepted pro’s work complete for the verified owner request. Only the awarded pro thread can be completed. Requires ownerAccessToken and confirm:true; omit confirm for a no-write preview.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","quoteId"],"properties":{"confirm":{"type":"boolean"},"quoteId":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"mark_work_complete","displayName":"mark_work_complete","title":"mark_work_complete","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"leave_review","description":"Boat Owner MCP. Leave an owner-approved review for the accepted pro; the review flows to the pro profile. Requires ownerAccessToken and confirm:true after the owner approves the rating and text; omit confirm for a no-write preview.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["ownerAccessToken","opportunityId","quoteId","rating","review"],"properties":{"rating":{"type":"number","maximum":5,"minimum":1},"review":{"type":"string","maxLength":2000,"minLength":3},"confirm":{"type":"boolean"},"quoteId":{"type":"string","minLength":1},"opportunityId":{"type":"string","minLength":1},"ownerAccessToken":{"type":"string","minLength":1}},"additionalProperties":false},"logicalName":"leave_review","displayName":"leave_review","title":"leave_review","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Boatwork&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYm9hdHdvcmsuY28vYm9hdC1vd25lci1tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Boatwork%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.boatwork.co%2Fboat-owner-mcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Boatwork%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.boatwork.co%2Fboat-owner-mcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Boatwork&connectorUrl=https%3A%2F%2Fmcp.boatwork.co%2Fboat-owner-mcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Boatwork\" --url \"https://mcp.boatwork.co/boat-owner-mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/boatwork-mcp-8d867ed457","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/boatwork-mcp-8d867ed457/tools/{tool}","mcpServerUrl":"https://mcp.boatwork.co/boat-owner-mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/boatwork-mcp-8d867ed457?live=1"}