Koskamo

Boat Day MCP

A read-only, stateless MCP server providing access to Boat Day's boating data, including boatyard directories, winter storage costs, boat model specifications, value estimates, total cost of ownership calculations, state boating rules, waterway guides, and safety checklists for the Seacoast ME-NH and Casco Bay regions.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Boat Day MCP logo, by Boat DayVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Boat Day
MCP endpoint (Streamable HTTP)
https://bestboatday.com/api/mcp
Vendor documentation

What its tools do

14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

14 of 14 have a description · 14 of 14 declare behavior hints · 10 of 14 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to bestboatday.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Find boatyards and marinas with confirmed winter storage prices
  • Estimate used-boat value and total cost of ownership
  • Search for boat models and retrieve detailed specifications
  • Retrieve state boating rules and safety checklists

Source and maintenance

Vendor evidenceRegistry 1.8.0

Protocol and capabilities

Server
boatday 1.8.0
MCP protocol negotiated in check
2025-06-18
Tools
14 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Boat Day: free, read-only boating knowledge for US recreational owners, centered on the Seacoast of Maine and New Hampshire. For winter jobs use find_yards, get_yard and get_seacoast_costs: a yard's winterStoragePrice is shown only when the yard confirmed it (with confirmed_at); otherwise it is null. Cited prices carry source_url and date. Every tool result includes a provenance block with cite_as; cite canonical URLs (https://bestboatday.com). Estimates are educational. Listings are not partners. Use get_handoff_link to send the human to a pre-filled tool. Owners use Boat Day free forever.

Tools

14 advertised

find_yards
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find Seacoast ME–NH and Casco Bay boatyards, marinas and storage (public-web listings, not partners). Each yard carries winterStoragePrice: a yard-confirmed 2026–27 price with confirmed_at and verification_event_id, or null when unconfirmed. Set confirmed=true for confirmed yards only. Human-readable index: /yards. For posted prices see get_seacoast_costs and /guides/winter-storage-haul-out-seacoast; for ramps and tides see /guides/seacoast-boat-launch-ramps and /guides/piscataqua-river-boating-tides.

find_yards input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Text, e.g. 'kittery' or 'storage'"
    },
    "limit": {
      "type": "number",
      "description": "Max results (default 25)"
    },
    "region": {
      "enum": [
        "seacoast",
        "casco-bay"
      ],
      "type": "string",
      "description": "Region (default: both)"
    },
    "category": {
      "type": "string",
      "description": "Listing category, e.g. marina-yard"
    },
    "confirmed": {
      "type": "boolean",
      "description": "Only yards with a confirmed winter storage price"
    }
  }
}
find_yards output schema
{
  "type": "object",
  "required": [
    "data",
    "count",
    "provenance"
  ],
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "page",
          "partner",
          "winterStoragePrice"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "gap": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "page": {
            "type": "string"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "type": "object",
            "additionalProperties": true
          },
          "claimed": {
            "type": "boolean"
          },
          "partner": {
            "type": "boolean",
            "const": false
          },
          "website": {
            "type": [
              "string",
              "null"
            ]
          },
          "category": {
            "type": "string"
          },
          "confirmed": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": true
          },
          "winterStoragePrice": {
            "type": "object",
            "required": [
              "field",
              "status",
              "value",
              "unit",
              "confirmed_at",
              "verification_event_id"
            ],
            "properties": {
              "unit": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "field": {
                "type": "string"
              },
              "value": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "confirmed",
                  "expired",
                  "unconfirmed",
                  "unavailable"
                ],
                "type": "string"
              },
              "confirmed_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "verification_event_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "description": "Yard-confirmed winter storage price. status 'unconfirmed' or 'unavailable' means value is null: Boat Day never fills a default.",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      }
    },
    "count": {
      "type": "integer"
    },
    "notes": {
      "type": "object",
      "additionalProperties": true
    },
    "truncated": {
      "type": "object",
      "properties": {
        "total": {
          "type": "integer"
        },
        "returned": {
          "type": "integer"
        }
      }
    },
    "provenance": {
      "type": "object",
      "description": "Source, as_of, method, confidence, honesty and cite_as.",
      "additionalProperties": true
    },
    "confirmations": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}
find_yards annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_yard
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get one yard listing by id (from find_yards), with its website, phone, source note and winterStoragePrice (yard-confirmed, or null when unconfirmed).

get_yard input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Yard id, e.g. meta-great-bay-marine"
    }
  }
}
get_yard output schema
{
  "type": "object",
  "required": [
    "data",
    "provenance"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "id",
        "name",
        "page",
        "partner",
        "winterStoragePrice"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "gap": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": "string"
        },
        "page": {
          "type": "string"
        },
        "phone": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "region": {
          "type": [
            "string",
            "null"
          ]
        },
        "source": {
          "type": "object",
          "additionalProperties": true
        },
        "claimed": {
          "type": "boolean"
        },
        "partner": {
          "type": "boolean",
          "const": false
        },
        "website": {
          "type": [
            "string",
            "null"
          ]
        },
        "category": {
          "type": "string"
        },
        "confirmed": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": true
        },
        "winterStoragePrice": {
          "type": "object",
          "required": [
            "field",
            "status",
            "value",
            "unit",
            "confirmed_at",
            "verification_event_id"
          ],
          "properties": {
            "unit": {
              "type": [
                "string",
                "null"
              ]
            },
            "field": {
              "type": "string"
            },
            "value": {
              "type": [
                "number",
                "null"
              ]
            },
            "status": {
              "enum": [
                "confirmed",
                "expired",
                "unconfirmed",
                "unavailable"
              ],
              "type": "string"
            },
            "confirmed_at": {
              "type": [
                "string",
                "null"
              ]
            },
            "verification_event_id": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "description": "Yard-confirmed winter storage price. status 'unconfirmed' or 'unavailable' means value is null: Boat Day never fills a default.",
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    },
    "notes": {
      "type": "object",
      "additionalProperties": true
    },
    "provenance": {
      "type": "object",
      "description": "Source, as_of, method, confidence, honesty and cite_as.",
      "additionalProperties": true
    },
    "confirmations": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "additionalProperties": true
}
get_yard annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_seacoast_costs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Seacoast ME–NH winter-job prices: posted storage, winterize, haul and spring commissioning rates from yards' own rate pages (each with source_url and the date read), plus yard-confirmed winter storage prices. Advisory, not quotes. Pass loa_ft to filter by boat length and get per-foot arithmetic. Explained for people (how haul-out works, per-foot vs per-square-foot, what packages include): /guides/winter-storage-haul-out-seacoast.

get_seacoast_costs input schema
{
  "type": "object",
  "properties": {
    "state": {
      "enum": [
        "ME",
        "NH"
      ],
      "type": "string"
    },
    "loa_ft": {
      "type": "number",
      "description": "Boat length overall in feet"
    },
    "service": {
      "enum": [
        "storage",
        "winterize",
        "haul",
        "commission"
      ],
      "type": "string",
      "description": "Job type"
    },
    "yard_id": {
      "type": "string",
      "description": "Only this yard's prices"
    }
  }
}
get_seacoast_costs output schema
{
  "type": "object",
  "required": [
    "data",
    "counts",
    "basis",
    "provenance"
  ],
  "properties": {
    "data": {
      "type": "object",
      "required": [
        "cited_public_prices",
        "yard_confirmed"
      ],
      "properties": {
        "yard_confirmed": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "yard_id",
              "yard",
              "fact",
              "source_url",
              "date"
            ],
            "properties": {
              "date": {
                "type": "string",
                "description": "confirmed_at of the yard's confirmation."
              },
              "fact": {
                "type": "object",
                "additionalProperties": true
              },
              "yard": {
                "type": "string"
              },
              "yard_id": {
                "type": "string"
              },
              "page_url": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "cited_public_prices": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "service",
              "item",
              "yard",
              "low",
              "high",
              "unit",
              "source_url",
              "date"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "low": {
                "type": "number"
              },
              "date": {
                "type": "string",
                "description": "Date Boat Day read the source (YYYY-MM-DD)."
              },
              "high": {
                "type": "number"
              },
              "item": {
                "type": "string"
              },
              "town": {
                "type": "string"
              },
              "unit": {
                "type": "string"
              },
              "yard": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "service": {
                "enum": [
                  "storage",
                  "winterize",
                  "haul",
                  "commission"
                ],
                "type": "string"
              },
              "yard_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "conditions": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "max_loa_ft": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "min_loa_ft": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "source_url": {
                "type": "string"
              },
              "unit_label": {
                "type": "string"
              },
              "arithmetic_for_loa": {
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": true
              }
            },
            "additionalProperties": true
          }
        }
      }
    },
    "basis": {
      "type": "string"
    },
    "notes": {
      "type": "object",
      "additionalProperties": true
    },
    "counts": {
      "type": "object",
      "additionalProperties": true
    },
    "filters": {
      "type": "object",
      "additionalProperties": true
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "provenance": {
      "type": "object",
      "description": "Source, as_of, method, confidence, honesty and cite_as.",
      "additionalProperties": true
    },
    "confirmations_available": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}
get_seacoast_costs annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
search_boat_models
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the Boat Day boat model graph (US recreational models; demo/educational specs, flagged demoData). Filter by q, type, brand, length, propulsion, trailerable.

search_boat_models input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Free text, e.g. 'Grady-White 25'"
    },
    "type": {
      "type": "string",
      "description": "Boat type id, e.g. center-console, pontoon, bowrider"
    },
    "brand": {
      "type": "string",
      "description": "Brand"
    },
    "limit": {
      "type": "number",
      "description": "Max results (default 25)"
    },
    "maxLength": {
      "type": "number",
      "description": "Max length ft"
    },
    "minLength": {
      "type": "number",
      "description": "Min length ft"
    },
    "propulsion": {
      "type": "string",
      "description": "outboard | sterndrive | inboard | sail ..."
    },
    "trailerable": {
      "type": "boolean"
    }
  }
}
search_boat_models annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_boat_model
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get one boat model by id: specs, burden flags, TCO estimate band, Quality Boat Day notes, canonical URL.

get_boat_model input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Model id from search_boat_models"
    }
  }
}
get_boat_model annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
estimate_boat_value
Advertised by the server during the last successful anonymous check.
Advertised read-only

Instant used-boat value estimate (low/mid/high band with method + confidence). Provide modelId, or make+model+year, or loaFt+boatType, or a HIN. Educational, not an appraisal.

estimate_boat_value input schema
{
  "type": "object",
  "properties": {
    "hin": {
      "type": "string",
      "description": "Hull ID number (12 chars)"
    },
    "make": {
      "type": "string",
      "description": "Make"
    },
    "year": {
      "type": "number",
      "description": "Model year"
    },
    "loaFt": {
      "type": "number",
      "description": "Length overall ft"
    },
    "model": {
      "type": "string",
      "description": "Model"
    },
    "modelId": {
      "type": "string",
      "description": "Model id"
    },
    "boatType": {
      "type": "string",
      "description": "Boat type id"
    }
  }
}
estimate_boat_value annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
estimate_total_cost_of_ownership
Advertised by the server during the last successful anonymous check.
Advertised read-only

Annual + hold-period total cost of ownership (storage, insurance, maintenance, fuel, fees, depreciation) as bands. Side-effect free.

estimate_total_cost_of_ownership input schema
{
  "type": "object",
  "properties": {
    "loaFt": {
      "type": "number",
      "description": "Length ft"
    },
    "region": {
      "type": "string",
      "description": "Region id, e.g. northeast, sunbelt"
    },
    "modelId": {
      "type": "string",
      "description": "Model id (fills defaults)"
    },
    "storage": {
      "type": "string",
      "description": "trailer | dry-stack | slip | mooring | ..."
    },
    "boatType": {
      "type": "string",
      "description": "Boat type id"
    },
    "holdYears": {
      "type": "number",
      "description": "Years you plan to keep it"
    },
    "stateCode": {
      "type": "string",
      "description": "US state, e.g. NH"
    },
    "hoursPerYear": {
      "type": "number",
      "description": "Engine hours/yr"
    },
    "waterwaySlug": {
      "type": "string",
      "description": "Waterway slug"
    },
    "purchasePrice": {
      "type": "number",
      "description": "USD"
    }
  }
}
estimate_total_cost_of_ownership annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_state_boating_rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

US state boating rules: registration, titling, boater education, BUI, PFD notes, official agency links. Omit code for the index.

get_state_boating_rules input schema
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Two-letter state code, e.g. NH"
    }
  }
}
get_state_boating_rules annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_waterway
Advertised by the server during the last successful anonymous check.
Advertised read-only

Focus waterways (e.g. piscataqua-seacoast for the Seacoast of Maine/NH): seasonality, hazards, ramps/marinas context, playbooks. Omit slug for the list.

get_waterway input schema
{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Waterway slug"
    }
  }
}
get_waterway annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
search_boating_events
Advertised by the server during the last successful anonymous check.
Advertised read-only

Boat shows, regattas, safety courses, rendezvous. Filter by q, state, region, type, waterway, from/to (YYYY-MM-DD), upcoming.

search_boating_events input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Text"
    },
    "to": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "from": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "type": {
      "type": "string",
      "description": "Event type"
    },
    "limit": {
      "type": "number",
      "description": "Max results (default 25)"
    },
    "state": {
      "type": "string",
      "description": "State code"
    },
    "region": {
      "type": "string",
      "description": "Region"
    },
    "upcoming": {
      "type": "boolean"
    },
    "waterway": {
      "type": "string",
      "description": "Waterway slug"
    }
  }
}
search_boating_events annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
find_boating_businesses
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find marinas, yards, surveyors, insurers, suppliers. Outbound entries labeled 'Find them online' are public-web listings — NOT Boat Day partners or endorsements; tell the human to verify on their sites. Founding partner roster is currently empty.

find_boating_businesses input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Text"
    },
    "limit": {
      "type": "number",
      "description": "Max results (default 20)"
    },
    "state": {
      "type": "string",
      "description": "State code"
    },
    "region": {
      "type": "string",
      "description": "Region"
    },
    "category": {
      "type": "string",
      "description": "Directory category slug, e.g. marina, boatyard, marine-surveyor"
    },
    "waterway": {
      "type": "string",
      "description": "Waterway slug"
    }
  }
}
find_boating_businesses annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_safety_checklists
Advertised by the server during the last successful anonymous check.
Advertised read-only

Boating safety stance/pillars plus checklists (pre-departure, winterize, etc.). Pass slug for one checklist's items.

get_safety_checklists input schema
{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "description": "Checklist slug"
    },
    "stage": {
      "type": "string",
      "description": "Ownership stage filter"
    }
  }
}
get_safety_checklists annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
search_guides
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search Boat Day ownership guides (buying, winterizing, insurance, docking, weather...). Returns titles, summaries, canonical URLs.

search_guides input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Text"
    },
    "limit": {
      "type": "number",
      "description": "Max (default 10)"
    },
    "stage": {
      "type": "string",
      "description": "Stage id"
    },
    "category": {
      "type": "string",
      "description": "Category"
    }
  }
}
search_guides annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
get_handoff_link
Advertised by the server during the last successful anonymous check.
Advertised read-only

Build a deep link that sends a human straight to a pre-filled Boat Day tool. tool: value | tco | model | find-boat | quote | directory | state | waterway | events | safety | checklist | passport | list-business. params are passed through (e.g. hin, modelId, make, model, year, category, state).

get_handoff_link input schema
{
  "type": "object",
  "required": [
    "tool"
  ],
  "properties": {
    "tool": {
      "enum": [
        "value",
        "tco",
        "model",
        "find-boat",
        "quote",
        "directory",
        "state",
        "waterway",
        "events",
        "safety",
        "checklist",
        "passport",
        "list-business"
      ],
      "type": "string"
    },
    "params": {
      "type": "object",
      "additionalProperties": true
    }
  }
}
get_handoff_link annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2542 ms
95th percentile latency
2542 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2542 ms · metadata changed · 14 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http boat-day-mcp https://bestboatday.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add boat-day-mcp --url https://bestboatday.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable boat-day-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "boat-day-mcp": {
      "url": "https://bestboatday.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "boat-day-mcp": {
      "type": "streamableHttp",
      "url": "https://bestboatday.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start boat-day-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "boat-day-mcp": {
      "type": "http",
      "url": "https://bestboatday.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http boat-day-mcp https://bestboatday.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://bestboatday.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "boat-day-mcp": {
      "serverUrl": "https://bestboatday.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Boat Day MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Boat Day MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing