PluginBench
MCP Server
Maintained
MIT

io.github.YogiAdhik/civicrm-mcp MCP Server

io.github.YogiAdhik/civicrm-mcp

What is the io.github.YogiAdhik/civicrm-mcp MCP server?

Model Context Protocol server for CiviCRM — AuthX-first, schema-introspected, write-gated.

How to install io.github.YogiAdhik/civicrm-mcp

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • CIVICRM_BASE_URL
    required

    Base URL of the CiviCRM install, e.g. https://crm.example.org. No trailing slash.

  • CIVICRM_API_KEY
    required
    secret

    API key of the contact the server authenticates as. Keep it on a dedicated 'MCP Bot' contact with minimum permissions.

  • CIVICRM_CMS

    CMS host: drupal, wordpress, standalone, or backdrop.

  • CIVICRM_SITE_KEY
    secret

    Optional — only needed if the site enables the AuthX site-key guard.

  • CIVICRM_AUTH_MODE

    authx (default, recommended) or legacy for pre-5.36 installs.

  • CIVICRM_ALLOW_WRITES

    Set to 'true' to enable create / update / save / submit actions. Off by default.

  • CIVICRM_ALLOW_DELETES

    Set to 'true' to enable delete / replace actions. Off by default.

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "civicrm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "civicrm-mcp"
      ],
      "env": {
        "CIVICRM_BASE_URL": "<YOUR_CIVICRM_BASE_URL>",
        "CIVICRM_API_KEY": "<YOUR_CIVICRM_API_KEY>",
        "CIVICRM_CMS": "<YOUR_CIVICRM_CMS>",
        "CIVICRM_SITE_KEY": "<YOUR_CIVICRM_SITE_KEY>",
        "CIVICRM_AUTH_MODE": "<YOUR_CIVICRM_AUTH_MODE>",
        "CIVICRM_ALLOW_WRITES": "<YOUR_CIVICRM_ALLOW_WRITES>",
        "CIVICRM_ALLOW_DELETES": "<YOUR_CIVICRM_ALLOW_DELETES>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "civicrm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "civicrm-mcp"
      ],
      "env": {
        "CIVICRM_BASE_URL": "<YOUR_CIVICRM_BASE_URL>",
        "CIVICRM_API_KEY": "<YOUR_CIVICRM_API_KEY>",
        "CIVICRM_CMS": "<YOUR_CIVICRM_CMS>",
        "CIVICRM_SITE_KEY": "<YOUR_CIVICRM_SITE_KEY>",
        "CIVICRM_AUTH_MODE": "<YOUR_CIVICRM_AUTH_MODE>",
        "CIVICRM_ALLOW_WRITES": "<YOUR_CIVICRM_ALLOW_WRITES>",
        "CIVICRM_ALLOW_DELETES": "<YOUR_CIVICRM_ALLOW_DELETES>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "civicrm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "civicrm-mcp"
      ],
      "env": {
        "CIVICRM_BASE_URL": "<YOUR_CIVICRM_BASE_URL>",
        "CIVICRM_API_KEY": "<YOUR_CIVICRM_API_KEY>",
        "CIVICRM_CMS": "<YOUR_CIVICRM_CMS>",
        "CIVICRM_SITE_KEY": "<YOUR_CIVICRM_SITE_KEY>",
        "CIVICRM_AUTH_MODE": "<YOUR_CIVICRM_AUTH_MODE>",
        "CIVICRM_ALLOW_WRITES": "<YOUR_CIVICRM_ALLOW_WRITES>",
        "CIVICRM_ALLOW_DELETES": "<YOUR_CIVICRM_ALLOW_DELETES>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "civicrm-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "civicrm-mcp"
      ],
      "env": {
        "CIVICRM_BASE_URL": "<YOUR_CIVICRM_BASE_URL>",
        "CIVICRM_API_KEY": "<YOUR_CIVICRM_API_KEY>",
        "CIVICRM_CMS": "<YOUR_CIVICRM_CMS>",
        "CIVICRM_SITE_KEY": "<YOUR_CIVICRM_SITE_KEY>",
        "CIVICRM_AUTH_MODE": "<YOUR_CIVICRM_AUTH_MODE>",
        "CIVICRM_ALLOW_WRITES": "<YOUR_CIVICRM_ALLOW_WRITES>",
        "CIVICRM_ALLOW_DELETES": "<YOUR_CIVICRM_ALLOW_DELETES>"
      }
    }
  }
}
Claude Code
claude mcp add civicrm-mcp --env CIVICRM_BASE_URL=<YOUR_CIVICRM_BASE_URL> --env CIVICRM_API_KEY=<YOUR_CIVICRM_API_KEY> --env CIVICRM_CMS=<YOUR_CIVICRM_CMS> --env CIVICRM_SITE_KEY=<YOUR_CIVICRM_SITE_KEY> --env CIVICRM_AUTH_MODE=<YOUR_CIVICRM_AUTH_MODE> --env CIVICRM_ALLOW_WRITES=<YOUR_CIVICRM_ALLOW_WRITES> --env CIVICRM_ALLOW_DELETES=<YOUR_CIVICRM_ALLOW_DELETES> -- npx -y civicrm-mcp

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →