civicrm-mcp
About
Model Context Protocol server for CiviCRM — AuthX-first, schema-introspected, write-gated.
Use this server
Add it to your MCP client. The catalogue lists this config verbatim from its source — it does not run, download, or vouch for the server. Review the command before you run it.
Transportstdio (runs a local command)
Env vars
CIVICRM_BASE_URL CIVICRM_API_KEY CIVICRM_CMS CIVICRM_SITE_KEY CIVICRM_AUTH_MODE CIVICRM_ALLOW_WRITES CIVICRM_ALLOW_DELETESClaude Code
claude mcp add --env CIVICRM_BASE_URL= --env CIVICRM_API_KEY= --env CIVICRM_CMS= --env CIVICRM_SITE_KEY= --env CIVICRM_AUTH_MODE= --env CIVICRM_ALLOW_WRITES= --env CIVICRM_ALLOW_DELETES= civicrm-mcp -- npx civicrm-mcp
Cursor
If the button doesn't open Cursor, use the JSON below — Cursor accepts the same mcpServers config.
VS Code
code --add-mcp '{"name":"civicrm-mcp","command":"npx","args":["civicrm-mcp"],"env":{"CIVICRM_BASE_URL":"","CIVICRM_API_KEY":"","CIVICRM_CMS":"","CIVICRM_SITE_KEY":"","CIVICRM_AUTH_MODE":"","CIVICRM_ALLOW_WRITES":"","CIVICRM_ALLOW_DELETES":""}}'
JSON
{
"mcpServers": {
"civicrm-mcp": {
"command": "npx",
"args": [
"civicrm-mcp"
],
"env": {
"CIVICRM_BASE_URL": "",
"CIVICRM_API_KEY": "",
"CIVICRM_CMS": "",
"CIVICRM_SITE_KEY": "",
"CIVICRM_AUTH_MODE": "",
"CIVICRM_ALLOW_WRITES": "",
"CIVICRM_ALLOW_DELETES": ""
}
}
}
}
Environment variables are listed by name only — fill in your own values. Entries never carry secrets.