---
title: "Document processing in Windsurf | Extend"
description: "Add the Extend MCP server to Windsurf and process documents from Cascade without leaving your editor."
canonical: https://www.extend.ai/agents/windsurf
---

# Document processing in Windsurf | Extend

[Agents](https://www.extend.ai/agents) / Windsurf

## Document processing in Windsurf

Add the Extend MCP server to Windsurf and process documents from Cascade without leaving your editor.

## Step 1: Connect the MCP server

1. Add the server to ~/.codeium/windsurf/mcp_config.json. Windsurf uses the serverUrl key.
2. Complete the OAuth sign-in when prompted and choose the workspaces the client may use and the environment it acts in.
3. Ask Cascade to process a document; it picks the right Extend tool.

### Global

**~/.codeium/windsurf/mcp_config.json**

```json
{
  "mcpServers": {
    "extend": {
      "serverUrl": "https://mcp.extend.ai/mcp"
    }
  }
}
```

[Details on the MCP page](https://www.extend.ai/agents/mcp) · [Windsurf setup in the docs](https://docs.extend.ai/mcp#windsurf)

## Step 2: Install the skills

Skills teach the agent how to drive Extend correctly. The CLI skill is generated from the extend command tree; the API skill is a brief on the API, SDKs, and schema rules.

### extend-cli

```bash
curl -fsSL https://extend.ai/install.sh | sh && extend setup
```

Installs the extend command and writes the extend-cli skill to ~/.agents/skills/extend-cli/SKILL.md.

### extend-api

```bash
npx skills add extend-hq/extend-agent-plugin --skill extend-api
```

Installs the extend-api context file at the project level so it can be committed with your repo.

## Try these prompts

Copy one into the agent and let it pick the tools.

- "Parse ./docs/contract.pdf with Extend and summarize the key terms."
- "Extract the vendor, invoice number, line items, and total from the invoices in ./samples into a table."
- "Create an extractor for utility bills, test it on the three PDFs in ./bills, and publish it."

## Verify it works

The agent calls get_me and lists the workspaces and environments it was granted. No credits are spent.

- "Which Extend workspaces can you access?"

## Frequently asked questions

### Authentication fails or tools return UNAUTHORIZED. What now?

Reconnect the server in your client to re-run the OAuth sign-in. Most clients have a reconnect or re-authenticate action on the server's settings entry; disconnecting and re-adding also works.

### The agent can't find a resource I know exists.

It's usually targeting the wrong place: resources are separated per workspace and per Test/Production environment. Ask the agent to check its granted workspaces and environments with the get_me tool and to target where the resource actually lives.

## Other clients

- [Cursor](https://www.extend.ai/agents/cursor) — Parse and extract documents without leaving your editor.
- [Claude Code](https://www.extend.ai/agents/claude-code) — Drive every Extend processor from your terminal session.
- [Claude](https://www.extend.ai/agents/claude) — Parse, extract, and fill documents from a Claude conversation.
- [Codex](https://www.extend.ai/agents/codex) — Give Codex every Extend processor as a tool.
- [ChatGPT](https://www.extend.ai/agents/chatgpt) — Process documents from ChatGPT with a custom connector.
- [VS Code](https://www.extend.ai/agents/vscode) — Use Extend from GitHub Copilot agent mode in VS Code.

Windsurf is a trademark of Cognition AI, Inc. Extend is not affiliated with or endorsed by Cognition AI, Inc..
