AI assistants are no longer just answering questions - they're taking action. Claude Cowork is a great example of this shift: it can access your local environment, read and write files, and automate tasks that would otherwise eat up your time. Pair it with the Vonage Tooling MCP Server, and you can send real SMS messages to real people, all from a plain-English prompt.
In this tutorial, we'll walk through exactly how to do that. We'll use Claude Cowork to read customer feedback from a local spreadsheet, generate personalized responses using AI, and automatically send each one as an SMS via Vonage.
🎬 Watch the full video walkthrough here: Send a Text in Claude Cowork
What You'll Build
Imagine you run a restaurant. After each visit, customers text you their feedback, and you save their name, phone number, feedback, and a status column (Pending / Sent) in a spreadsheet called restaurant_feedback.xlsx.
Using Claude Cowork, you'll create a task that:
- Reads the spreadsheet and finds all rows with a
Pendingstatus - Uses AI to determine the sentiment of each message and generate a personalized response
- Sends each response as an SMS using the Vonage Tooling MCP Server
- Updates the status column to
Sent
Prerequisites
Before you get started, make sure you have:
- Claude Desktop (latest version)
- Node.js installed
- A Vonage Developer account (free to sign up)
Step 1: Install the Vonage Tooling MCP Server
Open Claude Desktop, click the Claude menu in your computer's menu bar, then go to Settings → Developer → Edit Config.
This opens (or creates) a file called claude_desktop_config.json:
-
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json -
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Paste in the following configuration:
{
"mcpServers": {
"vonage-mcp-server-api-bindings": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@vonage/vonage-mcp-server-api-bindings"
],
"env": {
"VONAGE_APPLICATION_ID": "<YOUR_VONAGE_APPLICATION_ID>",
"VONAGE_PRIVATE_KEY64": "<YOUR_VONAGE_PRIVATE_KEY64>",
"VONAGE_API_KEY": "<YOUR_VONAGE_API_KEY>",
"VONAGE_API_SECRET": "<YOUR_VONAGE_API_SECRET>",
"VONAGE_VIRTUAL_NUMBER": "<YOUR_VONAGE_VIRTUAL_NUMBER>",
"VONAGE_WHATSAPP_NUMBER": "<YOUR_VONAGE_WHATSAPP_NUMBER>",
"RCS_SENDER_ID": "<YOUR_RCS_SENDER_ID>"
}
}
}
}
Step 2: Get Your Vonage Credentials
Log in to the Vonage Developer Dashboard and grab the following:
API Key & Secret
From your homepage, click API Secret Management to copy your API key and secret.
Application ID & Private Key
- Go to Build → Applications → Create a new application
- Give it a name and click Generate public and private key - the private key will download automatically
- Under Capabilities, toggle on Messages
- Click Generate new application to get your Application ID
Before pasting the private key into the config file, you'll need to base64 encode it. Use the encoder linked in the Vonage MCP Server readme or run:
base64 -i private.key
Virtual Number
Go to Build → Phone Numbers to find or purchase a virtual number. Link it to your application, and if you're in the US, make sure it's 10DLC compliant.
Once your config is saved, restart Claude Desktop. To confirm the server is connected, open a new chat and ask:
"Do you have access to Vonage's tooling server?"
Claude should confirm and list its available capabilities.
Step 3: Set Up Your Spreadsheet
For this demo, create a file called restaurant_feedback.xlsx in a folder called operations. It should have columns for:
| Name | Phone | Feedback | Response | Status |
|---|---|---|---|---|
| Jane | +1... | "Great food!" | Pending | |
| Bob | +1... | "Service was slow." | Pending |
The Status column is what Claude will use to know which messages need to be addressed.
Step 4: Create a claude.md Instructions File
To avoid re-prompting Claude every time, create a file called claude.md in your operations folder. This is a plain-text markdown file where you store persistent instructions for Claude Cowork.
Here's an example of what to put in it:
## Restaurant Feedback Automation
When prompted with `generate_responses`:
- Read `restaurant_feedback.xlsx`
- Find all rows where Status = "Pending"
- Analyze the sentiment of each feedback message
- If positive: set Response to "We're glad you had a positive experience!"
- If negative: set Response to "We're sorry you had a negative experience!"
- Save the responses back to the spreadsheet
When prompted with `send_responses`:
- Read `restaurant_feedback.xlsx`
- For each row where Status = "Pending" and a Response exists:
- Send the Response as an SMS to the customer's Phone number using the Vonage Tooling MCP Server
- Update the Status to "Sent"
💡 Tip: You can ask Claude itself to help you write your
claude.mdfile!
Step 5: Run It in Claude Cowork
Switch to Cowork mode in Claude Desktop. Create a new task and click "Work in a project" in the bottom-left corner of the prompt box. Select your operations folder.
Now run:
generate_responses
Claude will scan the spreadsheet, find the Pending rows, analyze sentiment, and write personalized responses back to the file.
When you're ready to send, run:
send_responses
Claude will use the Vonage Tooling MCP Server to send each SMS and update the status to Sent. Open your spreadsheet to confirm - the status column should now show Sent for each row.
What's Next?
This is just the beginning of what you can do with the Vonage Tooling MCP Server. Beyond SMS, you can:
- Send WhatsApp or RCS messages by populating the corresponding fields in your config
- Trigger automated voice calls instead of (or in addition to) texts
- Track delivery status by saving read/delivered receipts back to your spreadsheet
- Build multi-channel workflows that escalate from SMS to voice if a message goes unread
Resources
- 📺 Video: Send a Text in Claude Cowork
- 📦 Vonage Tooling MCP Server on GitHub
- 📖 Claude MCP Setup Docs
- 🛠️ Vonage Developer Dashboard
- 📝 Vonage Developer Blog
Have questions or something cool you built with this? Drop a comment below or connect with us on the Vonage Community Slack. We'd love to see what you create!
Top comments (0)