Civicrm MCP server
io.github.YogiAdhik/civicrm-mcp·v0.1.2Model Context Protocol server for CiviCRM — AuthX-first, schema-introspected, write-gated.
0 stars55 downloads/wk
Reviews
Write oneNobody has reviewed Civicrm yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Civicrm tools (17, 5 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
civicrm_add_to_groupAdd a contact to a group (GroupContact status='Added'). Idempotent — updates an existing row rather than creating duplicates. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_api4Generic APIv4 call. Accepts entity + action + params. Writes are gated by CIVICRM_ALLOW_WRITES; deletes by CIVICRM_ALLOW_DELETES. Use civicrm_describe_entity first if unsure of field names.
civicrm_create_contactwrite actionCreate a new CiviCRM contact. Chains email and phone creation when provided. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_create_membershipwrite actionCreate a Membership record for a contact. CiviCRM will auto-calculate start/end dates from the membership type's duration if omitted. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_describe_entityIntrospect an APIv4 entity — returns available fields (incl. custom fields) and actions. Call this before civicrm_api4 when unsure of field names or action support.
civicrm_find_contactsSearch CiviCRM contacts by name or primary email. Returns id, display name, type, primary email and phone.
civicrm_get_contactFetch a single CiviCRM contact by id. Returns core profile plus primary email/phone/address; pass `fields` to override.
civicrm_get_contributionsList contributions (donations, dues, event fees) with optional filters by contact, date window, status, and financial type. Resolves donor display name and human-readable status labels.
civicrm_get_relationshipsList relationships (family, employer, membership, custom types) for a contact. Resolves the other party's display name and direction automatically.
civicrm_list_entitiesList all CiviCRM APIv4 entities available on this install (including those added by extensions). Optional substring filter.
civicrm_list_eventsList CiviEvent events. Defaults to upcoming only. Returns id, title, type, dates, public/online flags.
civicrm_log_activityRecord an Activity against a target contact. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_record_contributionRecord a donation / contribution for a contact. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_register_for_eventwrite actionCreate a Participant record registering a contact for an event. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_remove_from_groupwrite actionMark a contact as Removed from a group (GroupContact status='Removed'). Preserves history — does not hard-delete. Requires CIVICRM_ALLOW_WRITES=true.
civicrm_system_infoConnectivity sanity check — returns CiviCRM version (via Domain entity), the authenticated bot contact, and a count of installed extensions. Run first when debugging auth or URL setup.
civicrm_update_contactwrite actionUpdate fields on a single CiviCRM contact by id. Requires CIVICRM_ALLOW_WRITES=true.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan47 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 132 days ago8/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Civicrm compares
Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 72/100
- higher than 40% of 4,460 AI and agents servers
- Tools
- 17
- the typical AI and agents server has 6
- Tools that change things
- 29%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 55
- more than 46% of 1,538 AI and agents servers with a package
What its tools let an agent do: 12 read · 5 change
Install Civicrm in Claude Code, Cursor or VS Code
Runs npx -y civicrm-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add civicrm-mcp -- npx -y civicrm-mcp
What the publisher says
From the Civicrm repository's README, as published. We do not edit it. Read it on GitHub
civicrm-mcp
A Model Context Protocol server for CiviCRM. Lets any MCP-compatible client talk to a CiviCRM install through its APIv4.
Status: v0.1 — stdio transport, three tools, AuthX-first auth.
Requirements
- Node.js 18.17 or later
- CiviCRM 5.47 or later (tested against 5.59+)
- A CiviCRM install on Drupal, WordPress, Backdrop, or Standalone
Install
npm install
npm run buildDon't have a CiviCRM yet?
See docs/INSTALL_CIVICRM.md for a 20-minute guide to running CiviCRM Standalone locally via DDEV.
Configure
Generate an API key for a dedicated "MCP Bot" contact:
- Create a CMS user + CiviCRM contact just for this integration.
- Grant it the CiviCRM permissions you want exposed (access CiviCRM, view all contacts, optionally edit all contacts, authenticate with api key).
- On that contact's summary page → More → API Key, generate a random 20+ character key.
Copy .env.example to .env and fill in:
CIVICRM_BASE_URL=https://crm.example.org
CIVICRM_CMS=drupal # or wordpress | standalone | backdrop
CIVICRM_API_KEY=...
CIVICRM_SITE_KEY=... # only if the site-key guard is enabled
CIVICRM_AUTH_MODE=authx # or legacy for pre-AuthX sites
CIVICRM_ALLOW_WRITES=false # writes off by default
CIVICRM_ALLOW_DELETES=false # deletes off by default
CIVICRM_ALLOW_GENERIC_API=false # civicrm_api4 passthrough off by default
CIVICRM_DRY_RUN_DEFAULT=false # set true to make every write/delete a dry-run
CIVICRM_TOOLS_ENABLED= # comma-separated allowlist; empty = all
CIVICRM_TOOLS_DISABLED= # comma-separated denylist; wins over enabledWire up an MCP client
Any MCP-compatible client that supports stdio servers can load this. Add an entry like the one below to your client's MCP configuration file:
{
"mcpServers": {
"civicrm": {
"command": "npx",
"args": ["-y", "civicrm-mcp"],
"env": {
"CIVICRM_BASE_URL": "https://crm.example.org",
"CIVICRM_CMS": "drupal",
"CIVICRM_API_KEY": "…",
"CIVICRM_ALLOW_WRITES": "false"
}
}
}
}Consult your client's documentation for where its MCP config file lives.
Tools
Diagnostics
Read
Introspection
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Civicrm: common questions
- Is Civicrm MCP server safe?
- Mostly: it is graded B (72/100). Read the Civicrm safety report
- How do I install Civicrm?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Civicrm need an API key?
- Yes. The registry entry asks for
CIVICRM_API_KEY,CIVICRM_SITE_KEY. - Is Civicrm maintained?
- The last commit was 170 days ago (2026-05-18). The latest release is v0.1.2.
- What can I use instead of Civicrm?
- Servers from other publishers that do the same job: Basic Memory MCP server, FireCMS Cloud MCP server and HOL Guard MCP server.
- How does Civicrm compare with other AI and agents MCP servers?
- safety score 72/100 (higher than 40% of 4,460 AI and agents servers); tools 17 (the typical AI and agents server has 6); tools that change things 29% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Civicrm
Same job from other publishers: the closest match first, then the best rated.
- Basic MemoryLocal-first knowledge management with bi-directional LLM sync via Markdown files.not reviewedWidely usedB
- FireCMS CloudManage FireCMS Cloud from an AI agent: Firestore data, collections, schemas and users.not reviewedEstablishedA
- HOL GuardLocal-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.not reviewedEstablishedA
- Agent-Native ChatMinimal chat-first app with durable threads, actions, and the app-agent loopnot reviewedEstablishedA
- Butterbase AIButterbase MCP server — manage your backend: schemas, auth, functions, storage, RAG, deploys.not reviewedEstablishedA