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.
- Log in to Friendly8 at
https://app.friendly8.com. - Go to Settings → API Keys (sidebar under your account name).
- Click Create API Key.
- 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.
- Optionally set an expiry date.
- 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
- Go to chatgpt.com → Explore GPTs → Create.
- Click the Configure tab.
- 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/toolshere — that endpoint returns runtime data, not an OpenAPI spec, and it requires auth. Use the dedicated spec URL below instead.
- In the schema editor, click Import from URL.
- Enter:
https://api.friendly8.com/api/mcp/openapi.json - Click Import. ChatGPT will populate the schema automatically.
3.3 Set authentication
- Below the schema editor, click Authentication.
- Select API Key.
- Set Auth type to Bearer.
- Paste your
f8_API key. - 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.
