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?
  • Find Mike in Turkey.
  • List open invoices (money still due). List active invoices (status sent).
  • What action items are waiting on the dashboard?
  • I copied this factory website. Create the company, the contact, and an opportunity. Show me the preview first.
  • Draft a quotation for company_id … with these sourcing lines …
  • Add this product with the HS code you researched. Preview before save.
  • Record this bank expense. Warn me that it posts to the ledger.

Write tools return a preview first. Approve it, then the client calls again with confirm=true. Prefer drafts. Review in the app before you mark sent or record payment. Set write tools to Ask in Cursor.

Exreach does not fetch websites. Your AI reads the page, maps the fields, then calls Exreach.

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 (name, country, type, lead)
search_contacts read Search people (name, country, company)
search_products read Search products (name, HS code, unit)
list_companies read Same filters as search companies
list_contacts read Same filters as search contacts
list_opportunities read Opportunities (default open)
find_clients read Companies and contacts together
get_company read One company by id
get_contact read One contact by id
get_opportunity read One opportunity by id
get_product read One product by id
list_open_invoices read Unpaid AR (open or partial)
list_invoices read Invoices. open = unpaid AR; active = sent
list_quotations read Quotations. open = draft+sent; active = sent
get_document read One quotation or invoice by id, with lines
list_organization_banks read Bank accounts for payment tools
list_action_items read Dashboard action items
list_conversion_gaps read Quotation→invoice and invoice→project gaps
create_crm_intake write Company + contact + optional opportunity in one preview
create_company write Create a company
create_contact write Create a contact (personal company if needed)
create_opportunity write Create an opportunity
create_quotation_from_brief write Draft quotation from a brief
create_invoice_from_brief write Draft invoice with no parent quotation
create_invoice_from_quotation write Draft invoice from an accepted quotation
set_quotation_status write draft → sent → accepted or rejected
create_product write Catalog product (no photo yet)
record_invoice_payment write Books income on a sent or accepted invoice
create_expense write New Books expense (cannot edit or reverse)
create_income write New Books income (prefer invoice_id)

Write tools need editor, admin, or owner. They cannot mark a quotation paid, close a project, or change team members. Created quotations and invoices stay draft until you change status in a later step.

Ready to connect?

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