# Surfing Dog (ai.surfingdog/search): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.surfingdog%2Fsearch/versions/latest)
- Connected to: https://surfingdog.ai/mcp
- Homepage: https://surfingdog.ai/
- Scoring rules: v2
- Tools: 22
- Average: 65.8 / 100 (Cloudy)
- Near-identical pairs: 1

This page shows how Surfing Dog (ai.surfingdog/search)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: The server's instructions are 2430 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `room_invite`: 47 / 100
  - Major: Arguments without a description: seat.
  - Minor: Says nothing about what it returns.
- `room_leave`: 52 / 100
  - Major: Arguments without a description: seat, close, summary, report, report.reason, report.details.
  - Minor: The meaning of the boolean argument close is unclear.
  - Minor: Says nothing about what it returns.
- `list_categories`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
- `room_send`: 55 / 100
  - Major: Arguments without a description: seat, text, done.
  - Minor: The meaning of the boolean argument done is unclear.
  - Minor: Says nothing about what it returns.
- `update_business`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: domain, doors, doors.add, doors.add[].terms_url, opt_out.scopes, proof, proof.challenge_id, proof.method.
- `list_attributes`: 57 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_offers`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: near.lat, near.lng.
- `get_census`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
- `start_inbox`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
- `register_business`: 63 / 100
  - Minor: Arguments without a description: category.alternates, doors, doors[].terms_url, hours.closures, hours.closures[].from, hours.closures[].to, hours.timezone, hours.weekly, proof, proof.challenge_id, proof.method, want_inbox, where.address, where.address.country, where.address.locality, where.address.postal_code, where.address.region, where.address.street, where.geo, where.geo.lat, where.geo.lng, where.kind, where.service_area, where.ships_to.
  - Minor: The meaning of the boolean argument want_inbox is unclear.
- `report_door`: 63 / 100
  - Minor: Arguments without a description: reports, reports[].door, reports[].result, v.
  - Minor: The description mentions none of its 3 or more arguments.
- `check_dns`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
- `get_business`: 65 / 100
  - Major: Says nothing about when to use it, or when not to.
- `room_wait`: 72 / 100
  - Minor: Arguments without a description: seat, wait_seconds.
- `request_quote`: 73 / 100
- `search_products`: 74 / 100
  - Minor: Arguments without a description: near.lat, near.lng.
  - Minor: No `required` list, so every argument is optional.
- `search_businesses`: 75 / 100
  - Minor: No `required` list, so every argument is optional.
- `room_join`: 77 / 100
  - Minor: Arguments without a description: code_or_link.
- `check_business`: 78 / 100
- `request_booking`: 80 / 100
- `room_open`: 81 / 100
  - Minor: No `required` list, so every argument is optional.
- `ask_business`: 83 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
