Pro

Connect your AI to Exreach

Connect any MCP client to your Exreach workspace with one URL and an API key.

One URL, one API key, done. Works with Claude, Claude Code, Cursor, Windsurf, ChatGPT custom connectors, and any MCP client that can send a Bearer header.

Agents is a Pro add-on. Exreach must enable it for the workspace first. Contact hello@exreach.app if you need it. Create the key on Integrations.

The 60-second version

  1. Have an Exreach workspace on Pro or Pro+ with Agents enabled.
  2. Open Settings → Integrations. Create an API key. Copy the exr_ secret once.
  3. Paste this URL wherever your AI client adds MCP servers or connectors:
text
https://app.exreach.app/api/mcp
  1. Set the Authorization header to Bearer plus your secret.
  2. Ask your AI to call whoami and confirm the workspace name.

That is the whole setup. Exact clicks per client below. Revoke the key anytime on Integrations.

One-line prompt

Paste this into your agent. Replace exr_YOUR_SECRET with your key.

prompt
Connect Exreach MCP: https://app.exreach.app/api/mcp with Authorization Bearer exr_YOUR_SECRET. Follow https://exreach.app/docs/settings/mcp/ for your client. Verify with whoami. Do not invent a different URL or auth.

Setup by client

Claude (web or Desktop)

Custom connector

  1. Create an API key on Integrations.
  2. Add a custom MCP connector.
  3. Paste https://app.exreach.app/api/mcp.
  4. Send Authorization: Bearer exr_… on each request.

Claude Code

One command

bash
claude mcp add --transport http exreach https://app.exreach.app/api/mcp \
  --header "Authorization: Bearer exr_YOUR_SECRET"

Replace the secret. Then ask Claude to call whoami.

Cursor / Windsurf

Config file

Add to .cursor/mcp.json (or Windsurf's MCP config):

json
{
  "mcpServers": {
    "exreach": {
      "url": "https://app.exreach.app/api/mcp",
      "headers": {
        "Authorization": "Bearer exr_YOUR_SECRET"
      }
    }
  }
}

Enable the server under Tools & MCP (or the Windsurf equivalent). Ask for whoami.

ChatGPT and other custom connectors

URL + Bearer

  1. Create a custom connector / app that accepts a remote MCP URL.
  2. Paste https://app.exreach.app/api/mcp.
  3. Auth: Bearer token. Paste your exr_ key (or Bearer exr_… if the field wants the full header value).

Menus move between products. The constant part is: remote MCP URL above, Bearer auth, then whoami.

Any other MCP client

Endpoint https://app.exreach.app/api/mcp
Transport Streamable HTTP
Auth Authorization: Bearer exr_…

stdio-only client? Bridge it with mcp-remote:

json
{
  "mcpServers": {
    "exreach": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://app.exreach.app/api/mcp",
        "--header",
        "Authorization: Bearer exr_YOUR_SECRET"
      ]
    }
  }
}

API keys

Exreach MCP uses an API key today. OAuth is later work.

  1. Owner or admin opens Settings → Integrations.
  2. Create a key. The secret starts with exr_ and shows once.
  3. Send it as Authorization: Bearer exr_….
  4. Revoke on the same page if it leaks.

A viewer key can read. It cannot write. Scripts can use the same key on POST /api/agent/invoke.

Example prompts

Once connected, talk normally. Try:

  • Who am I connected as in Exreach?
  • Search companies for "Harborline".
  • List open invoices.
  • What action items are waiting on the dashboard?
  • Draft a quotation for company_id … with these sourcing lines …
  • Mark that quotation sent, then accepted, then create the invoice.

Prefer drafts first. Review in the app before you mark sent or record payment.

Tool reference

Your AI discovers these tools automatically.

Tool Access What it does
whoami read Organization id, name, role, and key prefix
search_companies read Search companies in the key's workspace
search_contacts read Search contacts
search_products read Search products (id, name, category)
list_open_invoices read Open and partial AR invoices
get_document read One quotation or invoice by id
list_action_items read Dashboard action items
list_conversion_gaps read Quotation→invoice and invoice→project gaps
create_quotation_from_brief write Draft quotation from a brief
set_quotation_status write draftsentaccepted or rejected
create_invoice_from_quotation write Invoice from an accepted quotation
record_invoice_payment write Books income on a sent or accepted invoice

Write tools need editor, admin, or owner. They cannot mark a quotation paid, close a project, or change team members.

Ready to connect?

Create a key on Integrations. Paste the URL, add Bearer auth, call whoami.