# Use TextKit in Windsurf

Source: https://jointextkit.com/integrations/windsurf
Index: https://jointextkit.com/llms.txt

Windsurf's Cascade agent, now part of Devin Desktop, runs MCP tools. Connect the TextKit MCP server and the agent can send texts, verify
phone numbers, buy numbers, load contacts and run broadcasts on your account
as tool calls.

You need a TextKit account: [sign up](/signup) for a free sandbox, no card.

## Connect with sign-in

Add TextKit to `mcp_config.json` (`~/.config/devin/mcp_config.json` on macOS and
Linux, `%APPDATA%\devin\mcp_config.json` on Windows):

```json
{
  "mcpServers": {
    "textkit": { "serverUrl": "https://mcp.jointextkit.com" }
  }
}
```

Or with the Devin CLI:

```bash
devin mcp add textkit https://mcp.jointextkit.com
devin mcp login textkit
```

The first time it connects, you are sent to TextKit to sign in. Approve the
connection and choose test or live data. Start with test data: every call runs
in the [sandbox](/docs/sandbox) and no real phone gets a text. Approving
creates an API key named for the app, listed on the API keys page of the
console; revoke it there to disconnect. Only an account admin can approve.

## Connect with an API key

```json
{
  "mcpServers": {
    "textkit": {
      "serverUrl": "https://mcp.jointextkit.com",
      "headers": { "Authorization": "Bearer ssms_sk_test_..." }
    }
  }
}
```

Use a test key (`ssms_sk_test_...`) from the API keys page of the console
to start; a live key texts real phones and bills your balance.

## Things to ask

> Buy a number in area code 512 and text +15005550006 "Your order shipped."

> Import the contacts in this CSV, tag them spring-sale, and tell me how many
> have an opt-in.

> Send everyone tagged vip "Doors open at 9 on Saturday." Do a dry run first
> and show me the count and cost.

> How did yesterday's broadcast do? Show delivered, failed, replies and
> opt-outs.

Before a broadcast the agent runs a dry run and shows you the recipients,
the cost and anyone left out, and it sends only after you agree. Every tool
is one API call with the connection's key, so the key's scopes, rate limits
and send checks apply unchanged. The [MCP server docs](/docs/mcp) list every
tool.

## Building an app that texts

If you are writing code, ask the agent to add the feature with the SDK and
point it at the docs: every page is available as markdown (add `.md` to the
path). The [quickstarts](/docs/quickstarts) cover Node.js, Python and plain
HTTP, and [Verify](/docs/verify) covers phone verification in two calls.
Test keys run in the [sandbox](/docs/sandbox): send to `+15005550006` and the
message always ends `delivered`.

## Sources

The steps above follow the platform's own documentation:

- [Devin Desktop: Cascade MCP](https://docs.devin.ai/desktop/cascade/mcp)
- [Devin CLI: MCP configuration](https://docs.devin.ai/cli/extensibility/mcp/configuration)
