Use Extend from any MCP client

Hosted at mcp.extend.ai. Connect with OAuth, choose the workspaces and the environment on the consent screen, and every processor becomes a tool your agent can call.

Server URLFull docs
https://mcp.extend.ai/mcp

Connect from your client

MCP is an open protocol. Any client that supports remote servers over Streamable HTTP can connect with the URL above and OAuth.

Guide for Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "extend": {
      "url": "https://mcp.extend.ai/mcp"
    }
  }
}

Scope what the agent can reach

Per-workspace consent

The OAuth consent screen names the client that's asking and lets you choose exactly which workspaces it may use and whether it acts in the Test Environment or Production. One environment per connection; reconnect to change the grant.

Tool filtering

The server exposes every tool by default. For token-sensitive clients, append a comma-separated list of group or tool names in the tools query parameter.

https://mcp.extend.ai/mcp?tools=extract,files

parse, extract, classify, split, edit, workflows, files, webhooks, evaluations

86 tools across the platform

Each tool includes instructions for choosing inputs, handling asynchronous work, and recovering from errors.

Parsing

Convert PDFs, images, Office documents, and spreadsheets into structured markdown or raw blocks, one at a time or 1,000 per batch.

  • parse_document
  • get_parse_run
  • list_parse_runs
  • delete_parse_run
  • run_parse_batch
  • get_parse_batch

Extraction

Extract fields, tables, and line items with a saved extractor or an inline schema; create, version, and publish extractors.

  • extract_data
  • create_extractor
  • update_extractor
  • get_extractor
  • list_extractors
  • list_extractor_versions
  • publish_extractor_version
  • get_extract_run
  • list_extract_runs
  • cancel_extract_run
  • delete_extract_run
  • run_extract_batch
  • get_extract_batch

Classification

Classify a document with a saved classifier or an inline set of types; manage classifiers and their runs.

  • classify_document
  • create_classifier
  • update_classifier
  • get_classifier
  • list_classifiers
  • list_classifier_versions
  • publish_classifier_version
  • get_classify_run
  • list_classify_runs
  • cancel_classify_run
  • delete_classify_run
  • run_classify_batch
  • get_classify_batch

Splitting

Split a multi-document file into page ranges with a saved splitter or an inline configuration.

  • split_document
  • create_splitter
  • update_splitter
  • get_splitter
  • list_splitters
  • list_splitter_versions
  • publish_splitter_version
  • get_split_run
  • list_split_runs
  • cancel_split_run
  • delete_split_run
  • run_split_batch
  • get_split_batch

PDF editing

Detect fillable fields in a PDF, generate an edit schema, and fill the form from field values.

  • detect_form_fields
  • edit_pdf
  • get_edit_run
  • delete_edit_run
  • get_form_detection_run

Workflows

Run deployed or draft workflows, manage versions, and operate runs, including batches of up to 1,000 inputs.

  • run_workflow
  • create_workflow
  • update_workflow
  • get_workflow
  • list_workflows
  • list_workflow_versions
  • deploy_workflow_version
  • get_workflow_run
  • list_workflow_runs
  • cancel_workflow_run
  • delete_workflow_run
  • run_workflow_batch

Files

Request a browser upload for local files, then retrieve metadata, temporary download URLs, and listings.

  • request_file_upload
  • get_file_upload
  • get_file
  • list_files
  • delete_file

Webhooks

Create and manage webhook endpoints and the event subscriptions that notify your app when runs finish.

  • create_webhook_endpoint
  • list_webhook_endpoints
  • update_webhook_endpoint
  • delete_webhook_endpoint
  • create_webhook_subscription
  • list_webhook_subscriptions
  • update_webhook_subscription
  • delete_webhook_subscription

Evaluations

Turn labeled documents into evaluation sets, run a processor version against them, and read the results.

  • create_evaluation_set
  • list_evaluation_sets
  • add_evaluation_items
  • list_evaluation_items
  • update_evaluation_item
  • delete_evaluation_item
  • run_evaluation
  • get_evaluation_run

Access and documentation

Always available, even when product tools are filtered, so the agent can authenticate, pick a workspace, and look up current guidance.

  • get_me
  • get_documentation
  • search_documentation

How runs work

Polling is handled for you

The agent starts a run, waits, and resumes checking until it finishes. Workflow runs can take minutes to hours. If a workflow pauses for human review, the agent hands you a dashboard link.

Uploading files from chat

Chat clients don't expose local files. The agent requests an upload link; you open it, drop your files, and click Done. Links expire after 15 minutes and only members of the target workspace can use them. Public URLs need no upload.

Structured errors

Tool errors tell the agent what was wrong, link to the relevant docs page, and include a request ID. If the agent can't resolve one, ask it for the request ID and include it when contacting support@extend.ai.

Frequently asked questions

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.

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.

MCP is the best fit for chat and tool-calling clients. For agents writing durable integration code, use an SDK with the extend-api skill; for one-off shell-driven jobs, the CLI with the extend-cli skill. The paths are independent, so set up only what your agent will use.

Yes. MCP connectors require a paid ChatGPT plan. Follow the OpenAI documentation to add a custom connector with the Extend server URL and OAuth.

cta-background

( fig.11 )

Turn your documents into high quality data