Model Context Protocol server for CiviCRM — AuthX-first, schema-introspected, write-gated.
Connect Runs on your machine
claude mcp add civicrm-mcp -e CIVICRM_BASE_URL=<CIVICRM_BASE_URL> -e CIVICRM_API_KEY=<CIVICRM_API_KEY> -e CIVICRM_CMS=<CIVICRM_CMS> -e CIVICRM_SITE_KEY=<CIVICRM_SITE_KEY> -e CIVICRM_AUTH_MODE=<CIVICRM_AUTH_MODE> -e CIVICRM_ALLOW_WRITES=<CIVICRM_ALLOW_WRITES> -e CIVICRM_ALLOW_DELETES=<CIVICRM_ALLOW_DELETES> -- npx -y [email protected]
{
"mcpServers": {
"civicrm-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"CIVICRM_BASE_URL": "<CIVICRM_BASE_URL>",
"CIVICRM_API_KEY": "<CIVICRM_API_KEY>",
"CIVICRM_CMS": "<CIVICRM_CMS>",
"CIVICRM_SITE_KEY": "<CIVICRM_SITE_KEY>",
"CIVICRM_AUTH_MODE": "<CIVICRM_AUTH_MODE>",
"CIVICRM_ALLOW_WRITES": "<CIVICRM_ALLOW_WRITES>",
"CIVICRM_ALLOW_DELETES": "<CIVICRM_ALLOW_DELETES>"
}
}
}
}
{
"mcpServers": {
"civicrm-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"CIVICRM_BASE_URL": "<CIVICRM_BASE_URL>",
"CIVICRM_API_KEY": "<CIVICRM_API_KEY>",
"CIVICRM_CMS": "<CIVICRM_CMS>",
"CIVICRM_SITE_KEY": "<CIVICRM_SITE_KEY>",
"CIVICRM_AUTH_MODE": "<CIVICRM_AUTH_MODE>",
"CIVICRM_ALLOW_WRITES": "<CIVICRM_ALLOW_WRITES>",
"CIVICRM_ALLOW_DELETES": "<CIVICRM_ALLOW_DELETES>"
}
}
}
}
{
"servers": {
"civicrm-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"CIVICRM_BASE_URL": "<CIVICRM_BASE_URL>",
"CIVICRM_API_KEY": "<CIVICRM_API_KEY>",
"CIVICRM_CMS": "<CIVICRM_CMS>",
"CIVICRM_SITE_KEY": "<CIVICRM_SITE_KEY>",
"CIVICRM_AUTH_MODE": "<CIVICRM_AUTH_MODE>",
"CIVICRM_ALLOW_WRITES": "<CIVICRM_ALLOW_WRITES>",
"CIVICRM_ALLOW_DELETES": "<CIVICRM_ALLOW_DELETES>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
CIVICRM_BASE_URLRequired | Base URL of the CiviCRM install, e.g. https://crm.example.org. No trailing slash. |
CIVICRM_API_KEYRequired, secret | API key of the contact the server authenticates as. Keep it on a dedicated 'MCP Bot' contact with minimum permissions. |
CIVICRM_CMSOptional | CMS host: drupal, wordpress, standalone, or backdrop. |
CIVICRM_SITE_KEYOptional, secret | Optional — only needed if the site enables the AuthX site-key guard. |
CIVICRM_AUTH_MODEOptional | authx (default, recommended) or legacy for pre-5.36 installs. |
CIVICRM_ALLOW_WRITESOptional | Set to 'true' to enable create / update / save / submit actions. Off by default. |
CIVICRM_ALLOW_DELETESOptional | Set to 'true' to enable delete / replace actions. Off by default. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 24 Apr 2026 |
| Last updated | 24 Apr 2026 |
| Registry name | io.github.YogiAdhik/civicrm-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
