Integration Setup Guides
Step-by-step instructions for connecting your business tools to ClearFox. Each integration uses environment variables set in your .env file.
Tip: configure multiple instances by replacing MAIN with a custom name (e.g. MCP_MYSQL_PRODUCTION_HOST, MCP_MYSQL_STAGING_HOST).
AI Models
Anthropic (Claude)
- 1
- 2
Click 'Create Key', give it a name (e.g. 'ClearFox'), and copy the key.
- 3
Set the key in your .env file:
PORTAL_ANTHROPIC_API_KEY=sk-ant-api03-... - 4
Recommended models: claude-sonnet-4-20250514 (default), claude-opus-4-20250514 (max quality).
- 5
Pricing: pay-per-token via Anthropic. No minimum commitment.
OpenAI (GPT)
- 1
Go to platform.openai.com/api-keys.
- 2
Click 'Create new secret key', name it (e.g. 'ClearFox'), and copy the key.
- 3
Set the key in your .env file:
PORTAL_OPENAI_API_KEY=sk-... - 4
Recommended models: gpt-4o (default), gpt-4-turbo.
- 5
Pricing: pay-per-token via OpenAI. No minimum commitment.
Ollama (Local LLM)
- 1
Install Ollama: ollama.com/download (macOS, Linux, Windows).
- 2
Pull a model:
ollama pull llama3.1:70b - 3
Ollama serves an OpenAI-compatible API on port 11434 by default.
- 4
If Ollama runs on the host machine, use host.docker.internal as the host.
- 5
Set env vars in .env:
PORTAL_OLLAMA_BASE_URL=http://host.docker.internal:11434 PORTAL_OLLAMA_MODEL=llama3.1:70b - 6
All data stays on your machine. No internet access required after model download.
vLLM (Self-hosted)
- 1
Install vLLM: docs.vllm.ai or use the Docker image.
- 2
Start vLLM with an OpenAI-compatible server:
vllm serve meta-llama/Llama-3.1-70B-Instruct --port 8000 - 3
If vLLM runs on the host machine, use host.docker.internal as the host.
- 4
Set env vars in .env:
PORTAL_VLLM_BASE_URL=http://host.docker.internal:8000/v1 PORTAL_VLLM_MODEL=meta-llama/Llama-3.1-70B-Instruct - 5
Requires a GPU with sufficient VRAM (70B model needs ~40GB). For smaller setups, use 8B or 13B models.
- 6
Full air-gap support. Nothing leaves your network.
Databases
MySQL Database
- 1
Create a read-only MySQL user for the AI:
CREATE USER 'clearfox'@'%' IDENTIFIED BY 'your-password'; GRANT SELECT ON your_database.* TO 'clearfox'@'%'; - 2
If MySQL runs on the host machine, use host.docker.internal as the host.
- 3
If MySQL runs in Docker, use the container name as the host.
- 4
Set env vars in .env:
MCP_MYSQL_MAIN_HOST=host.docker.internal MCP_MYSQL_MAIN_USER=clearfox MCP_MYSQL_MAIN_PASS=your-password MCP_MYSQL_MAIN_DB=your_database - 5
Optionally set MCP_MYSQL_MAIN_KEY_TABLES to highlight important tables.
PostgreSQL Database
- 1
Create a read-only PostgreSQL user for the AI:
CREATE USER clearfox WITH PASSWORD 'your-password'; GRANT CONNECT ON DATABASE your_db TO clearfox; GRANT USAGE ON SCHEMA public TO clearfox; GRANT SELECT ON ALL TABLES IN SCHEMA public TO clearfox; - 2
If PostgreSQL runs on the host machine, use host.docker.internal as the host.
- 3
Set env vars in .env:
MCP_PG_MAIN_HOST=host.docker.internal MCP_PG_MAIN_USER=clearfox MCP_PG_MAIN_PASS=your-password MCP_PG_MAIN_DB=your_database - 4
Optionally set MCP_PG_MAIN_SCHEMA and MCP_PG_MAIN_KEY_TABLES.
Analytics & BI
Google Analytics
- 1
Go to Google Cloud Console → IAM & Admin → Service Accounts.
- 2
Create a service account (e.g. 'clearfox-analytics').
- 3
Click on the service account → Keys → Add Key → Create new key → JSON.
- 4
Download the JSON key file.
- 5
In Google Analytics, go to Admin → Property Access Management and add the service account email as a Viewer.
- 6
Set env vars in .env:
MCP_GA_MAIN_CREDENTIALS_JSON={"type":"service_account",...} MCP_GA_MAIN_PROPERTY_ID=123456789
Power BI
- 1
Go to Azure Portal → Azure Active Directory → App registrations → New registration.
- 2
Grant API permissions: Power BI Service → Dataset.Read.All, Report.Read.All, Dashboard.Read.All.
- 3
Use OAuth2 flow to obtain an access token with Power BI scopes.
- 4
Optionally find your Workspace ID: Power BI → Workspaces → select workspace → ID is in the URL.
- 5
Set env vars in .env:
MCP_PBI_MAIN_ACCESS_TOKEN=your-azure-ad-token MCP_PBI_MAIN_WORKSPACE_ID=your-workspace-id (optional)
Project Management
Jira
- 1
Go to https://id.atlassian.com/manage-profile/security/api-tokens.
- 2
Click 'Create API token', name it (e.g. 'ClearFox AI'), and copy the token.
- 3
Set env vars in .env:
MCP_JIRA_MAIN_URL=https://yourcompany.atlassian.net MCP_JIRA_MAIN_EMAIL=your-email@company.com MCP_JIRA_MAIN_API_TOKEN=your-api-token MCP_JIRA_MAIN_PROJECT_KEY=ECT (optional, default project key)
Confluence
- 1
Go to https://id.atlassian.com/manage-profile/security/api-tokens.
- 2
Click 'Create API token', name it (e.g. 'ClearFox AI'), and copy the token.
- 3
Set env vars in .env:
MCP_CONFLUENCE_MAIN_URL=https://yourcompany.atlassian.net MCP_CONFLUENCE_MAIN_EMAIL=your-email@company.com MCP_CONFLUENCE_MAIN_API_TOKEN=your-api-token MCP_CONFLUENCE_MAIN_SPACES=SPACE1,SPACE2 (optional)
Notion
- 1
Go to https://www.notion.so/my-integrations and click '+ New integration'.
- 2
Give it a name (e.g. 'ClearFox AI'), select the workspace, and click 'Submit'.
- 3
Copy the 'Internal Integration Secret' (starts with ntn_...).
- 4
Share the pages/databases you want accessible with the integration (click '...' → 'Connect to' → select your integration).
- 5
Set MCP_NOTION_MAIN_API_KEY=ntn_... in your .env file.
Communication
Slack
- 1
Go to https://api.slack.com/apps and click 'Create New App' → 'From scratch'.
- 2
Name it (e.g. 'ClearFox AI') and select your workspace.
- 3
Go to 'OAuth & Permissions' → 'Scopes' → add Bot Token Scopes:
channels:read, channels:history, groups:read, groups:history, users:read, search:read, chat:write (if you want the AI to post). - 4
Click 'Install to Workspace' and authorize.
- 5
Copy the 'Bot User OAuth Token' (starts with xoxb-...).
- 6
Set MCP_SLACK_MAIN_BOT_TOKEN=xoxb-... in your .env file.
- 7
Invite the bot to channels it should access: /invite @ClearFox AI
Freshservice
- 1
Log in to Freshservice as an admin.
- 2
Go to your profile icon → Profile Settings.
- 3
On the right side, find your API Key and copy it.
- 4
Your domain is the subdomain (e.g. 'mycompany' from mycompany.freshservice.com).
- 5
Set env vars in .env:
MCP_FRESHSERVICE_MAIN_DOMAIN=mycompany MCP_FRESHSERVICE_MAIN_API_KEY=your-api-key
Zendesk
- 1
Log in to Zendesk as an admin.
- 2
Go to Admin Center → Apps and integrations → Zendesk API → Settings.
- 3
Enable 'Token Access' and click 'Add API token'.
- 4
Copy the token (it is shown only once).
- 5
Your subdomain is the part before .zendesk.com (e.g. 'mycompany' from mycompany.zendesk.com).
- 6
Set env vars in .env:
MCP_ZENDESK_MAIN_SUBDOMAIN=mycompany MCP_ZENDESK_MAIN_EMAIL=agent@company.com MCP_ZENDESK_MAIN_API_TOKEN=your-api-token
Finance & Payments
Stripe
- 1
Log in to https://dashboard.stripe.com/apikeys.
- 2
Click '+ Create restricted key' (recommended over the secret key for security).
- 3
Give it a name (e.g. 'ClearFox AI Read-Only').
- 4
Set permissions: All Read access. Do NOT enable any Write permissions unless needed.
- 5
Click 'Create key' and copy it (starts with rk_live_... or sk_live_...).
- 6
Set MCP_STRIPE_MAIN_API_KEY=sk_live_... in your .env file.
- 7
For test mode, use keys from 'Test mode' toggle (starts with sk_test_...).
QuickBooks Online
- 1
Go to https://developer.intuit.com → Dashboard → create or select an app.
- 2
Select 'QuickBooks Online and Payments' as the platform.
- 3
Use OAuth2 Playground or your app to obtain an access token.
- 4
Find your Realm (Company) ID: log in to QuickBooks → look at the URL (company/REALM_ID/...).
- 5
Set env vars in .env:
MCP_QB_MAIN_ACCESS_TOKEN=your-oauth-token MCP_QB_MAIN_REALM_ID=1234567890 MCP_QB_MAIN_ENVIRONMENT=production (or sandbox) - 6
Note: access tokens expire after 1 hour. Use a refresh token flow for production.
Xero
- 1
Go to https://developer.xero.com/app/manage and create a new app (or use existing).
- 2
Set app type to 'Web app' with OAuth 2.0.
- 3
Use the OAuth2 flow to obtain an access token with scopes: accounting.transactions.read, accounting.reports.read.
- 4
Find your Tenant ID: call GET https://api.xero.com/connections with the access token.
- 5
Set env vars in .env:
MCP_XERO_MAIN_ACCESS_TOKEN=your-oauth-token MCP_XERO_MAIN_TENANT_ID=your-tenant-id - 6
Note: Xero tokens expire after 30 minutes. Use a refresh token mechanism for production.
Wise (TransferWise)
- 1
Log in to Wise → Settings → API tokens.
- 2
Click 'Add new token' → select 'Read only' for safety.
- 3
Copy the token.
- 4
Set env vars in .env:
MCP_WISE_MAIN_API_TOKEN=your-api-token MCP_WISE_MAIN_ENVIRONMENT=live (or sandbox for testing) - 5
For sandbox, register at https://sandbox.transferwise.tech and create a token there.
PayPal Business
- 1
Go to https://developer.paypal.com/dashboard/applications.
- 2
Click 'Create App', name it (e.g. 'ClearFox AI').
- 3
Select 'Merchant' app type.
- 4
Copy the Client ID and Secret (toggle Live/Sandbox as needed).
- 5
Set env vars in .env:
MCP_PAYPAL_MAIN_CLIENT_ID=your-client-id MCP_PAYPAL_MAIN_CLIENT_SECRET=your-client-secret MCP_PAYPAL_MAIN_ENVIRONMENT=live (or sandbox for testing)
CRM & Sales
HubSpot
- 1
Go to HubSpot → Settings (gear icon) → Integrations → Private Apps.
- 2
Click 'Create a private app', name it (e.g. 'ClearFox AI').
- 3
Go to 'Scopes' tab and enable read scopes you need:
crm.objects.contacts.read, crm.objects.deals.read, crm.objects.companies.read, etc. - 4
Click 'Create app' and copy the access token.
- 5
Set MCP_HUBSPOT_MAIN_ACCESS_TOKEN=pat-... in your .env file.
Salesforce CRM
- 1
In Salesforce Setup, go to App Manager → 'New Connected App'.
- 2
Enable OAuth, add scopes: 'api', 'refresh_token'.
- 3
Use OAuth flow to obtain an access token, or use a session token.
- 4
Find your instance URL (e.g. https://mycompany.my.salesforce.com).
- 5
Set env vars in .env:
MCP_SF_MAIN_ACCESS_TOKEN=your-oauth-token MCP_SF_MAIN_INSTANCE_URL=https://mycompany.my.salesforce.com - 6
Note: access tokens expire. For production, use a refresh token flow or connected app with long-lived token.
Pipedrive
- 1
Log in to Pipedrive → click your profile → Company settings → Personal preferences.
- 2
Go to the 'API' tab and copy your personal API token.
- 3
Your domain is the subdomain in your Pipedrive URL (e.g. 'yourcompany' from yourcompany.pipedrive.com).
- 4
Set env vars in .env:
MCP_PIPEDRIVE_MAIN_API_TOKEN=your-api-token MCP_PIPEDRIVE_MAIN_DOMAIN=yourcompany - 5
The token inherits the permissions of the user. Use an admin account for full access.
HR & People
BambooHR
- 1
Log in to BambooHR as an admin.
- 2
Click your name → API Keys.
- 3
Click 'Add New Key', name it (e.g. 'ClearFox AI'), and copy the key.
- 4
Your subdomain is the part before .bamboohr.com (e.g. 'mycompany').
- 5
Set env vars in .env:
MCP_BAMBOOHR_MAIN_SUBDOMAIN=mycompany MCP_BAMBOOHR_MAIN_API_KEY=your-api-key
Personio
- 1
Log in to Personio as an admin.
- 2
Go to Settings → Integrations → API credentials.
- 3
Click 'Generate new credentials'.
- 4
Select read permissions for the data you need (employees, absences, attendances).
- 5
Copy the Client ID and Client Secret.
- 6
Set env vars in .env:
MCP_PERSONIO_MAIN_CLIENT_ID=your-client-id MCP_PERSONIO_MAIN_CLIENT_SECRET=your-client-secret
HiBob
- 1
Log in to HiBob as an admin.
- 2
Go to Settings → Integrations → Service Users.
- 3
Create a new service user with the required permissions.
- 4
Copy the Service User ID and Token.
- 5
Set env vars in .env:
MCP_HIBOB_MAIN_SERVICE_USER_ID=your-service-user-id MCP_HIBOB_MAIN_TOKEN=your-token
Marketing & Ads
Google Ads
- 1
Go to Google Cloud Console → APIs & Services → Credentials.
- 2
Create OAuth 2.0 credentials (or use a service account).
- 3
Enable the Google Ads API for your project.
- 4
Use the OAuth Playground or your app to generate a refresh token.
- 5
Find your Customer ID: Google Ads → top-right corner (format: 123-456-7890, use without dashes).
- 6
Set env vars in .env:
MCP_GADS_MAIN_DEVELOPER_TOKEN=your-developer-token MCP_GADS_MAIN_CLIENT_ID=your-oauth-client-id MCP_GADS_MAIN_CLIENT_SECRET=your-oauth-secret MCP_GADS_MAIN_REFRESH_TOKEN=your-refresh-token MCP_GADS_MAIN_CUSTOMER_ID=1234567890
Meta Ads (Facebook)
- 1
Go to https://developers.facebook.com → My Apps → create or select an app.
- 2
Add the 'Marketing API' product to your app.
- 3
Go to Tools → Graph API Explorer.
- 4
Select your app, and request permissions: ads_read, ads_management.
- 5
Generate an access token and exchange it for a long-lived token.
- 6
Find your Ad Account ID: Business Manager → Business Settings → Accounts → Ad Accounts (format: act_123456789).
- 7
Set env vars in .env:
MCP_META_MAIN_ACCESS_TOKEN=your-access-token MCP_META_MAIN_AD_ACCOUNT_ID=act_123456789
Mailchimp
- 1
Log in to Mailchimp → Profile → Extras → API keys.
- 2
Click 'Create A Key' and copy it.
- 3
The server prefix (e.g. us21) is the part after the dash in your API key.
- 4
Set env vars in .env:
MCP_MAILCHIMP_MAIN_API_KEY=your-api-key-us21 MCP_MAILCHIMP_MAIN_SERVER_PREFIX=us21
Productivity & Docs
Google Sheets
- 1
Go to Google Cloud Console → IAM & Admin → Service Accounts.
- 2
Create a service account (e.g. 'clearfox-sheets').
- 3
Click on the service account → Keys → Add Key → Create new key → JSON.
- 4
Download the JSON key file.
- 5
Share the Google Sheets you want accessible with the service account email.
- 6
Set env vars in .env:
MCP_GSHEETS_MAIN_CREDENTIALS_JSON={"type":"service_account",...} MCP_GSHEETS_MAIN_SPREADSHEET_ID=your-spreadsheet-id
Microsoft Excel (OneDrive/SharePoint)
- 1
Go to Azure Portal → Azure Active Directory → App registrations → New registration.
- 2
Grant API permissions: Microsoft Graph → Files.Read.All, Sites.Read.All.
- 3
For delegated access: use OAuth2 flow to get an access token.
- 4
For app-only access: create a client secret and use client credentials flow.
- 5
Set env vars in .env:
MCP_EXCEL_MAIN_ACCESS_TOKEN=your-token MCP_EXCEL_MAIN_DRIVE_ID=your-drive-id (optional)
ERP & Business
Odoo ERP
- 1
Log in to Odoo as an admin.
- 2
Go to Settings → Users & Companies → your user → Preferences tab.
- 3
Scroll to 'API Keys' section → click 'New API Key', name it, and copy the key.
- 4
Your Odoo URL is the base URL of your instance (e.g. https://mycompany.odoo.com).
- 5
The database name is visible in the URL or in Settings → Database Manager.
- 6
Set env vars in .env:
MCP_ODOO_MAIN_URL=https://mycompany.odoo.com MCP_ODOO_MAIN_DB=mycompany MCP_ODOO_MAIN_USERNAME=admin@company.com MCP_ODOO_MAIN_API_KEY=your-api-key
Automation
Make (Integromat)
- 1
Log in to Make.com → click your profile (bottom-left) → Profile.
- 2
Scroll to 'API' section and create a new API token.
- 3
Copy the token.
- 4
Find your organization and team IDs from the URL when browsing Make.
- 5
Set env vars in .env:
MCP_MAKE_MAIN_API_TOKEN=your-api-token MCP_MAKE_MAIN_ORG_ID=your-org-id MCP_MAKE_MAIN_TEAM_ID=your-team-id (optional)
Zapier
- 1
Go to https://zapier.com/app/developer.
- 2
Create an API key or use an existing one.
- 3
Copy the API key.
- 4
Set MCP_ZAPIER_MAIN_API_KEY=your-api-key in your .env file.
- 5
The API key allows read access to your Zaps, task history, and folders.
Developer Tools
REST API (Generic)
- 1
Identify the base URL of the API you want to connect (e.g. https://api.example.com/v1).
- 2
If the API requires authentication, prepare the auth header name and value.
- 3
Optionally provide an OpenAPI/Swagger spec URL for automatic endpoint discovery.
- 4
Set env vars in .env:
MCP_REST_MAIN_BASE_URL=https://api.example.com/v1 MCP_REST_MAIN_AUTH_HEADER=Authorization MCP_REST_MAIN_AUTH_VALUE=Bearer your-token MCP_REST_MAIN_OPENAPI_URL=https://api.example.com/openapi.json (optional) - 5
You can add multiple REST API configs with different {NAME} suffixes.
Git Repositories
- 1
Prepare an SSH key with read access to your Git repositories.
- 2
List repos to clone as comma-separated URL|branch pairs.
- 3
Set env vars in .env:
MCP_GIT_SSH_KEY=base64-encoded-private-key MCP_GIT_REPOS=git@github.com:org/repo1.git|main,git@github.com:org/repo2.git|develop - 4
The server will clone repos on startup and provide code search and file reading tools.
Web Fetch
- 1
No configuration needed. This server fetches URLs and extracts content as markdown.
- 2
It works out of the box with no API keys required.
Sequential Thinking
- 1
No configuration needed. This server provides structured step-by-step reasoning.
- 2
It works out of the box with no API keys required.
Memory
- 1
No configuration needed. This server provides persistent memory storage for the AI.
- 2
It works out of the box with no API keys required.