Connect MCP Server

Setup your AI assistants to connect with Friendly8 MCP Server

Friendly8 exposes a Model Context Protocol (MCP) server that lets external AI assistants (Claude, ChatGPT, and others) read and write your CRM, tasks, and posts data using natural language.


Base URL

Environment URL
Production https://api.friendly8.com

OpenAPI spec (public, no auth required)

https://api.friendly8.com/api/mcp/openapi.json

Use this URL to import the schema directly into ChatGPT, Claude, or any other tool that accepts an OpenAPI spec URL. The spec describes the two MCP endpoints. All actual API calls still require your Bearer token.


Step 1 — Create an API Key

API keys are scoped to your account and carry your user permissions. Only account admins can create them.

  1. Log in to Friendly8 at https://app.friendly8.com.
  2. Go to Settings → API Keys (sidebar under your account name).
  3. Click Create API Key.
  4. Enter a name (e.g. ChatGPT connector) and choose a scope:
    • ReadOnly — the AI can read data but cannot create, update, or archive anything.
    • ReadWrite — the AI can read and write data within your normal permissions.
  5. Optionally set an expiry date.
  6. Click Create and copy the key immediately — it is shown only once.

The key format is f8_ followed by a random string, e.g. f8_a1b2c3d4e5f6....


MCP Endpoints

Method Path Description
GET /api/mcp/tools List all tools available to your account
POST /api/mcp/execute Execute a tool

Authentication header

All requests require:

Authorization: Bearer f8_<your-api-key>

Execute request body

{
  "tool": "cust8_list_organizations",
  "params": {}
}

Example — list organisations with curl

curl https://api.friendly8.com/api/mcp/tools \
  -H "Authorization: Bearer f8_<your-api-key>"

Step 2 — Connect to Claude Code (CLI)

Claude Code (the desktop/CLI tool) supports Bearer token auth directly. No OAuth required.

Option A — add via command line

claude mcp add --transport http friendly8 https://api.friendly8.com/api/mcp \
  --header "Authorization: Bearer f8_<your-api-key>"

Option B — add via JSON config

Add to your project's .mcp.json (or ~/.claude.json for global access):

{
  "mcpServers": {
    "friendly8": {
      "type": "http",
      "url": "https://api.friendly8.com/api/mcp",
      "headers": {
        "Authorization": "Bearer f8_<your-api-key>"
      }
    }
  }
}

Restart Claude Code after editing the config. You can then ask Claude things like "list my open deals" or "create a contact at Acme Corp" and it will call Friendly8 directly.


Connect to claude.ai (web app) — requires OAuth

Note: The claude.ai web app only supports OAuth 2.0 for remote MCP connectors. Bearer token / API key auth is not available in the web UI.

OAuth support for Friendly8 is not yet implemented. Until then, use Claude Code (above) or ChatGPT (below) for web-based access.


Step 3 — Connect to ChatGPT (Custom GPT Actions)

ChatGPT uses Actions to call external APIs. You define the schema once in a Custom GPT and ChatGPT handles the rest.

3.1 Create or edit a Custom GPT

  1. Go to chatgpt.comExplore GPTsCreate.
  2. Click the Configure tab.
  3. Scroll down to Actions and click Create new action.

3.2 Import the schema from URL

Important: Do NOT paste https://api.friendly8.com/api/mcp/tools here — that endpoint returns runtime data, not an OpenAPI spec, and it requires auth. Use the dedicated spec URL below instead.

  1. In the schema editor, click Import from URL.
  2. Enter: https://api.friendly8.com/api/mcp/openapi.json
  3. Click Import. ChatGPT will populate the schema automatically.

3.3 Set authentication

  1. Below the schema editor, click Authentication.
  2. Select API Key.
  3. Set Auth type to Bearer.
  4. Paste your f8_ API key.
  5. Click Save.

3.4 Test it

Use Test at the bottom of the Actions panel to call listTools and confirm you get back a list of tools. Then save and publish (or keep as private).


Available Tools (overview)

Call GET /api/mcp/tools to get the full, up-to-date list with parameter schemas. Common tools include:

Tool What it does
cust8_list_organizations Search / list CRM organisations
cust8_get_organization Get a single organisation by ID
cust8_create_organization Create a new organisation
cust8_list_contacts List contacts, optionally filtered by org
cust8_create_contact Create a new contact
cust8_list_deals List deals in a pipeline
cust8_create_deal Create a deal
cust8_log_activity Log a call, email, or meeting
todos8_list_boards List task boards
todos8_list_cards List cards on a board
todos8_create_card Create a task card
posts8_list_drafts List draft posts

Hard deletes are blocked on all tools. Use archive/soft-delete variants instead.


Scopes and permissions

API key scope What the AI can do
ReadOnly Read any data your user can see; no writes
ReadWrite Full read + write within your user permissions

The server also enforces your per-app permission level (set by your account admin). If your user is Viewer-only in Cust8, a ReadWrite key still cannot create organisations.


Rotating or revoking keys

Go to Settings → API Keys in the app at any time to:

  • See when a key was last used.
  • Revoke a key immediately (the change takes effect on the next request).
  • Create a replacement key before revoking the old one for zero-downtime rotation.

Other blogs