Enables AI agents to securely read and write data to an Atomic CRM instance
Atomic CRM MCP Server
An MCP (Model Context Protocol) server for Atomic CRM. It enables an agent (e.g. ChatGPT, Claude, etc.) to read and write data to your Atomic CRM instance securely.

- OAuth 2.1 authentication with Supabase
- Adds a
querytool for executing SQL against CRM database - Row Level Security (RLS) automatically enforced
Supported MCP Clients
- ChatGPT
- Claude.ai
- Visual Studio Code
- Claude Desktop
- Claude Code
- Cursor
- Goose
- Codex CLI
- Gemini CLI
Gemini MobileChatGPT DesktopChatGPT Mobile
Installation
MCP Server Setup
Clone the repository:
git clone https://github.com/marmelab/atomic-crm-mcp cd your-repoInstall dependencies:
npm installAdd a config file
cp .env.example .env
Supabase Setup
Open the Supabase Dashboard
- Go to https://supabase.com/dashboard and select your project (or create a new one)
Enable OAuth 2.1 Server
- Go to Authentication → OAuth Server
- Click on Enable the Supabase OAuth Server
- Set the Authorization Path to
/#/oauth/consent - Enable the Allow Dynamic OAuth Apps option
- and save changes
Configure asymmetric JWT signing
- Go to Project Settings → JWT Keys
- On the JWT Signing Keys tab, if you see an invite to Start using JWT signing keys, this means you're currently using Legacy JWT secret, so click on the Migrate JWT secret button
- If the current key is of type "Legacy HS256 (Shared Secret)", click on the Rotate keys to use the new key of type "ECC (P256)" or similar
Get your Supabase URL
- Go to Project Settings → Data API
- Find your Project URL (e.g.,
https://mrubnlemopavyqvjjwmw.supabase.co) - Add it to your
.envfile asSUPABASE_URL
Get your database connection string
- Go to Project Settings → Database
- On the top app bar, click on the Connect button
- Copy the Direct Connection string (it will have
[YOUR-PASSWORD]placeholder) - Add it to your
.envfile asDATABASE_URL - Replace
[YOUR-PASSWORD]with your database password. If you don't know it, go to Database → Settings and reset the password.
Local MCP Server
You can run the MCP server locally if you use a service like ngrok. You will need to choose a publicly accessible HTTPS URL for the MCP server, e.g., https://atomiccrmmcp.ngrok.dev. We'll name this URL MCP_URL in the instructions below.
Run the server with the custom URL:
npm run dev -- --url=MCP_URL
Then, start ngrok in a separate terminal with the same URL:
ngrok http --url MCP_URL 3000
Now the MCP server is accessible at the ngrok URL.
Hosted MCP Server
Deploy the MCP server to a hosting provider of your choice. Make sure to set the environment variables from your .env file in the hosting provider's settings.
Note that the host must support IPV6, as Supabase Direct Database connection doesn't support IPV4. This expludes IPV4-only providers like Vercel or GitHub actions.
Adding the MCP server to Chat GPT
Note: Atomic CRM MCP works both on the web and mobile versions of ChatGPT. You need a paid Chat GPT account to use custom connectors.
- Enable the Developer Mode in Settings → Apps → Advanced settings
- Then, under Settings → Apps, click on the Create button
- Fill in the fields as follows:
- Name: Atomic CRM
- MCP Server URL: (your MCP Server URL, e.g.,
MCP_URL/mcp) - Authentication: OAuth
- Check the "I understand and want to continue" checkbox
- Click "Create"
- A browser window opens for you to authenticate to Atomic CRM and allow access to Claude Code.
- Once authenticated, you can start using the Atomic CRM extension in Chat GPT
If you're on a workspace or organization account, you need to ask your admin to add and approve the custom connector before you can use it.
Adding the MCP server to Claude.ai
Note: Atomic CRM MCP works both on the web and mobile versions of Claude.You need a paid Claude.ai account to use custom connectors.
- Open Claude.ai and open the Settings → Connectors page
- Then click on "Add custom connector"
- Fill in the fields as follows:
- Name: Atomic CRM
- MCP Server URL: (your MCP Server URL, e.g.,
MCP_URL/mcp)
- Click "Add"
- A browser window opens for you to authenticate to Atomic CRM and allow access to Claude Code. 6
Tools (1)
queryExecutes SQL queries against the Atomic CRM databaseEnvironment Variables
SUPABASE_URLrequiredThe Project URL from Supabase Data API settingsDATABASE_URLrequiredThe Direct Connection string from Supabase Database settingsConfiguration
{"mcpServers": {"atomic-crm": {"command": "node", "args": ["/path/to/atomic-crm-mcp/index.js"], "env": {"SUPABASE_URL": "your_supabase_url", "DATABASE_URL": "your_database_url"}}}}