Surfing Dog Inbox is an MCP server with 20 tools an agent can call, among them accept_offer, acknowledge_receipt, cancel_item. It answers at https://inbox.surfingdog.ai/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 23 September 2026; the last check, on 7 November 2026, succeeded.
Message, ask for a quote or book a call with Surfing Dog, through its open-source inbox.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
accept_offer | Accept another time the business proposed for a booking, its quote, its changes to an order, or a change it asks for to a confirmed booking or an accepted order (offer.kind change: the promise moves). This binds your person, so send terms_s Inputs: item_id, offer_id, terms_sha, access_token, idempotency_key, pass |
acknowledge_receipt | Counter-sign a receipt this item earned, so both sides hold it: a promise, a change both sides agreed to it (kind amended), how it ended, or a refund's. Read the item to find its receipts; then send a compact JWS signed with your own Ed2551 Inputs: item_id, counter_signature, receipt_id, receipt, access_token, pass |
cancel_item | Cancel an item you created. After the business's cancellation window, a confirmed booking is cancelled late where the business records late cancellations (it may count against the customer), and refused where it does not. A confirmed stay a Inputs: item_id, reason, fee_sha, access_token, idempotency_key, pass |
check_availability | Free start times for a service between two instants (at most 14 days). A time that has started, or that starts within the business's minimum notice, is not offered. Inputs: service_id, from, to, party_size |
create_booking | Request a service at a time. Check availability first. endTime and reservationFor.name may be left out: they follow from the service (its length, its name). A fixed-price service costs the business's price from list_services; a different to Inputs: payload, contact, message, attachments, visit_for, terms_sha |
create_order | Order products. Prices are in minor units. A line naming a product (productId or sku) costs the business's price from list_products, and the total follows; a different price you send is only noted for the business. A line naming no product |
decline_offer | Say no to another time or to changes the business proposed (the booking request or the order is closed) or to its quote. To a change it asks for to a confirmed booking or an accepted order, no keeps what was agreed; on a change your person Inputs: item_id, offer_id, reason, reason_code, access_token, idempotency_key |
get_business_profile | Name, time zone, currency, languages and the item types this business accepts, and where it takes any other kind instead (doors_elsewhere: each with its URL, and the platform it is on when there is one). |
get_item_status | The current state of an item you created, in the business's words: what it proposed and waits for your person to answer (offer, with its terms_sha), who it waits on, what they can do next, and the conversation so far (thread: the business's Inputs: item_id, access_token, pass, key |
list_products | Orderable products with prices in minor units, each with its barcode (gtin, 14 digits) where it has one and whether it can be had (never a count). A variant names its group and options; price_model says how a price is meant (only fixed is o Inputs: cursor, limit, q, ids, gtin |
list_services | Bookable services with duration and price. A price per person (price.per = person) is for each person in the booking: send partySize, and the total is the price times it. Inputs: cursor, limit |
make_offer | Answer what the business proposed with only what your person would change: another start_time (a booking: one of the free times check_availability lists; a quote request: the time it is for), other quantities for the lines of changes it sug Inputs: item_id, offer_id, terms, note, reason_code, access_token |
provide_details | Answer what the business asked about an item (get_item_status says it needs a detail). The item moves on; on any other item your details are kept as a message for the business. Inputs: item_id, details, access_token, idempotency_key, pass, key |
quote_shipping | What shipping a basket to a place costs, by the business's own rate tables (a read, never an order): for each shipping profile its products ship under, the zone the place is in and each service with its fee in minor units (null with why: id Inputs: lines, destination |
request_quote | Ask for a price on something custom. Creates a quote_request item. Inputs: payload, contact, message, attachments, idempotency_key, pass |
request_return | Once an order's goods reached your person: ask to send them back. reason faulty, not_as_described or wrong_item (the legal guarantee: it costs them nothing), or changed_mind (a withdrawal while a period to withdraw runs, agreed at once; oth Inputs: item_id, reason, lines, wants, note, access_token |
send_message | Start a conversation, or reply on an item you own. Inputs: item_id, subject, body, contact, message_id, access_token |
suggest_time | Instead of the time the business proposed, ask for another: start_time must be one of the free times check_availability lists (the end follows the service's length). The business confirms it or proposes again. On a confirmed booking it asks Inputs: item_id, start_time, note, access_token, idempotency_key, pass |
verify_customer | When a result says identity.recognised is weak, the person gave the email of a customer the business knows. Call this with item_id and access_token to email them six digits; ask the person for the code and call it again with code. Then the Inputs: item_id, access_token, code |
withdraw_from_contract | Your person withdraws from their booking (one they paid for) or order, within the period the business states (withdrawal on get_item_status). Two steps: without confirm_withdrawal nothing is sent and you get the statement to show them (conf Inputs: item_id, confirm_withdrawal, lines, note, access_token, idempotency_key |
Every block below points at https://inbox.surfingdog.ai/mcp. Pick your client and copy.
claude mcp add --transport http surfing-dog-inbox https://inbox.surfingdog.ai/mcp
{
"mcpServers": {
"surfing-dog-inbox": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://inbox.surfingdog.ai/mcp"]
}
}
}{
"mcpServers": {
"surfing-dog-inbox": {
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"servers": {
"surfing-dog-inbox": {
"type": "http",
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"context_servers": {
"surfing-dog-inbox": {
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"mcpServers": {
"surfing-dog-inbox": {
"serverUrl": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"mcpServers": {
"surfing-dog-inbox": {
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}name: Surfing Dog Inbox
version: 0.0.1
schema: v1
mcpServers:
- name: Surfing Dog Inbox
type: streamable-http
url: https://inbox.surfingdog.ai/mcp{
"mcpServers": {
"surfing-dog-inbox": {
"httpUrl": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"mcpServers": {
"surfing-dog-inbox": {
"type": "http",
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}{
"mcpServers": {
"surfing-dog-inbox": {
"url": "https://inbox.surfingdog.ai/mcp"
}
}
}goose://extension?url=https%3A%2F%2Finbox.surfingdog.ai%2Fmcp&type=streamable_http&id=surfing-dog-inbox&name=Surfing%20Dog%20Inbox
It answered our last check on 7 November 2026 in 194 ms. Over 4 checks since 23 September 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by surfingdog.ai and served from inbox.surfingdog.ai, the vendor's own domain: https://inbox.surfingdog.ai/mcp.
20, as returned by the server's own tools/list on 13 November 2026: accept_offer, acknowledge_receipt, cancel_item, check_availability, create_booking, create_order, decline_offer, get_business_profile, and 12 more.
It answered our last check on 7 November 2026 in 194 ms. Over 4 checks since 23 September 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://inbox.surfingdog.ai/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: ai.surfingdog. Endpoint host: inbox.surfingdog.ai. ARD identifier: urn:air:ai.surfingdog:mcp:inbox.
First indexed 23 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.