Index / MCP servers / Surfing Dog Inbox

Surfing Dog Inbox MCP server

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.

Status
Answering
Tools
20
Official
yes, served from surfingdog.ai
Reliability
4 of 4 checks
Response time
194 ms
Transport
streamable HTTP
Last checked
7 November 2026

Message, ask for a quote or book a call with Surfing Dog, through its open-source inbox.

Description as the publisher wrote it.

The 20 tools Surfing Dog Inbox offers

ToolWhat it does
accept_offerAccept 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_receiptCounter-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_itemCancel 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_availabilityFree 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_bookingRequest 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_orderOrder 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_offerSay 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_profileName, 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_statusThe 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_productsOrderable 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_servicesBookable 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_offerAnswer 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_detailsAnswer 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_shippingWhat 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_quoteAsk for a price on something custom. Creates a quote_request item.
Inputs: payload, contact, message, attachments, idempotency_key, pass
request_returnOnce 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_messageStart a conversation, or reply on an item you own.
Inputs: item_id, subject, body, contact, message_id, access_token
suggest_timeInstead 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_customerWhen 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_contractYour 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

Add Surfing Dog Inbox to your AI client

Every block below points at https://inbox.surfingdog.ai/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http surfing-dog-inbox https://inbox.surfingdog.ai/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://inbox.surfingdog.ai/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "surfing-dog-inbox": {
      "type": "http",
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "surfing-dog-inbox": {
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "serverUrl": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Surfing Dog Inbox
version: 0.0.1
schema: v1
mcpServers:
  - name: Surfing Dog Inbox
    type: streamable-http
    url: https://inbox.surfingdog.ai/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "httpUrl": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "type": "http",
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "surfing-dog-inbox": {
      "url": "https://inbox.surfingdog.ai/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Finbox.surfingdog.ai%2Fmcp&type=streamable_http&id=surfing-dog-inbox&name=Surfing%20Dog%20Inbox

Is Surfing Dog Inbox up right now?

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.

MCP servers similar to Surfing Dog Inbox

Questions about Surfing Dog Inbox

Is there an official Surfing Dog Inbox MCP server?

Yes. It is published by surfingdog.ai and served from inbox.surfingdog.ai, the vendor's own domain: https://inbox.surfingdog.ai/mcp.

How many tools does Surfing Dog Inbox have?

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.

Is Surfing Dog Inbox down?

It answered our last check on 7 November 2026 in 194 ms. Over 4 checks since 23 September 2026 it answered 4.

How do I add Surfing Dog Inbox to Cursor?

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.

Does Surfing Dog Inbox need an API key?

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.

Where this comes from

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.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.