Skip to the page

Recipes

Windsurf recipes

Add BlueBot’s MCP server to Windsurf so its agent can send and read texts.

Three recipes for Windsurf. Each names its trigger and the BlueBot step, lists the fields to map and says how to test it with your own number before anyone else gets a text.

How Windsurf connects

  • MCP: BlueBot’s MCP server gives the assistant tools to send texts, read conversations and check your Mac.
  • API: Your own code calls BlueBot’s REST API and listens to its signed webhooks.

Text me when the deploy script finishes

PartWhat it is
TriggerYou ask Windsurf’s agent
ActionThe assistant calls BlueBot’s MCP tools
Connects throughMCP

Steps

  1. Add BlueBot’s MCP server to Windsurf’s MCP configuration with your API key.
  2. Ask: “Run the deploy script and text me when it’s done.”
  3. The agent calls send_text to your number once you approve it.

Test it

Ask the assistant to text your own number first: “Text me at +1 555 555 0123 to say the setup works.” It shows the message BlueBot returned, and the text arrives on your phone from your own number.

Ask how your texts did this week

PartWhat it is
TriggerYou ask Windsurf’s agent
ActionThe assistant calls BlueBot’s MCP tools
Connects throughMCP

Steps

  1. Ask: “How many texts did I send this week, and how many got a reply?”
  2. The agent calls get_analytics and answers with what was sent, delivered, read and replied to.

Test it

Ask the assistant to text your own number first: “Text me at +1 555 555 0123 to say the setup works.” It shows the message BlueBot returned, and the text arrives on your phone from your own number.

Send a text from a shell script

PartWhat it is
TriggerYour script reaches its last line
ActionPOST /v1/messages
Connects throughAPI

Steps

  1. Have the agent add a call to POST /v1/messages with curl at the end of the script.
  2. Send your own number as to and a short message as text.
  3. Keep the API key in an environment variable so it never sits in the script.

Map the fields

BlueBot fieldMap it to
toThe person’s mobile number from Windsurf. US numbers can leave off the +1.
textBackup finished: 14 GB copied.
metadatasource set to windsurf, and record_id set to the record’s id, so the status and reply webhooks for this text can find the record again.
serviceAuto, the default: iMessage when the person uses it, otherwise SMS through your iPhone.
POST/v1/messagesSend a text →
curl -X POST "https://usebluebot.com/api/v1/messages" \
  -H "Authorization: Bearer $BLUEBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: windsurf-1042" \
  -d '{
    "to": "+15555550123",
    "text": "Backup finished: 14 GB copied.",
    "metadata": {
      "source": "windsurf",
      "record_id": "1042"
    }
  }'

Test it

Run the request with your own number in to. A text arrives on your phone from your own number.

Before you turn it on

  • Text only people who asked to hear from you. Anyone who replies STOP goes on your stop list, and BlueBot cancels texts to them. Stop words
  • A text that can’t go yet waits with a hold rather than failing: quiet hours, your Mac away, a daily limit. Holds
  • Windsurf with BlueBot on the integrations page says what else the two do together.