Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>MCP Server for SuiteCRMNew to Visual Studio Code? Get it now.
MCP Server for SuiteCRM

MCP Server for SuiteCRM

PinoyITSolution

| (0) | Free
Read-first Model Context Protocol server for SuiteCRM 7 (v4.1 REST API): modules, fields, record search, email lookup, relationships and duplicate-account analysis, with optional previewed record writes.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MCP Server for SuiteCRM

A Model Context Protocol server that lets AI assistants (GitHub Copilot agent mode in VS Code, Claude Code, Claude Desktop and other MCP clients) work with SuiteCRM 7 through its v4_1 REST API: discover modules and fields, search and read records, follow relationships, and find duplicate accounts. Creating or updating single records is available when you switch it on.

It never deletes or merges records and never changes relationships.

Not affiliated with or endorsed by SalesAgility. "SuiteCRM" is a trademark of its owner.

Tools

Tool What it does
suitecrm_list_modules Modules the API user can see, with access flags
suitecrm_get_module_fields Fields (types, labels, dropdown options) and relationship links
suitecrm_search_records Records matching structured filters (escaped for you), with paging
suitecrm_count_records Count for the same filters
suitecrm_get_record One record by id
suitecrm_find_by_email Accounts/Contacts/Leads linked to an email address
suitecrm_unified_search SuiteCRM's global search
suitecrm_get_related Records related through a link (e.g. an account's contacts)
suitecrm_relationship_counts How many related records hang off one record, per link
suitecrm_compare_records Field-by-field differences between 2-10 records
suitecrm_find_duplicate_accounts Accounts sharing the same account number and normalised name
suitecrm_api_read Any other read-only v4_1 method

Only offered when writes are enabled:

Tool What it does
suitecrm_save_record Create a record, or update one (only changed fields are sent), then read back and verify

Writes default to dry_run: true. Only fields that exist on the module are accepted; id, deleted and audit fields are refused.

Things worth knowing

  • Field names differ between installations, and custom fields do not always end in _c. The server checks filters against the module's real field list.
  • Dropdown fields store keys; suitecrm_get_module_fields shows the labels.
  • Email is not a plain column; suitecrm_find_by_email goes through SuiteCRM's email tables.
  • The duplicate finder needs the Accounts field that holds your customer number. Matching levels: strict (case and spaces), loose (also punctuation, HTML entities, &/and, "closed" markers), core (also legal suffixes such as Inc or LLC). Merging stays in SuiteCRM's own merge screen.

Use in VS Code

  1. Install the extension.
  2. Run SuiteCRM MCP: Add or Edit Profile. Enter the SuiteCRM URL, an optional label (for example staging or production), the optional account number field, whether writes are allowed, then the username and password.
  3. In Copilot Chat agent mode the server appears as SuiteCRM (or SuiteCRM (profile)).

Use a dedicated API user with only the access the assistant needs. Credentials live in VS Code Secret Storage and are tied to the profile's URL. The server runs on VS Code's own Node.js runtime.

Setting Scope Purpose
suitecrmMcp.profiles user name, url, environmentLabel, accountNumberField, allowWrites
suitecrmMcp.nodePath machine Use a different Node.js executable (normally leave empty)

Use with other MCP clients

{
  "mcpServers": {
    "suitecrm": {
      "command": "node",
      "args": ["/path/to/suitecrm-mcp/dist/server.js"],
      "env": {
        "SUITECRM_URL": "https://crm.example.com",
        "SUITECRM_USERNAME": "${SUITECRM_USERNAME}",
        "SUITECRM_PASSWORD": "${SUITECRM_PASSWORD}",
        "SUITECRM_ALLOW_WRITES": "false"
      }
    }
  }
}
Variable Default Purpose
SUITECRM_URL (required) Site URL (/service/v4_1/rest.php is added). Must be https except for localhost
SUITECRM_USERNAME, SUITECRM_PASSWORD (required) API user. The password may also be given as its MD5 hash
SUITECRM_ENVIRONMENT_LABEL host name Shown in write previews
SUITECRM_ACCOUNT_NUMBER_FIELD Accounts field for the duplicate finder
SUITECRM_ALLOW_WRITES false Offer suitecrm_save_record
SUITECRM_MAX_RESULTS 200 Cap per request
SUITECRM_APPLICATION_NAME suitecrm-mcp Shown in SuiteCRM's login records
SUITECRM_TIMEOUT_SECONDS 30 Per-request timeout
SUITECRM_MAX_CONCURRENCY 4 Parallel requests
SUITECRM_LOG_LEVEL info Logs go to stderr

Note: the v4_1 API logs in with the MD5 hash of the password, so anyone who obtains that hash can log in. Treat it like the password.

Privacy and data handling

  • The server talks only to the SuiteCRM URL you configure. No telemetry.
  • Records contain personal data and go to the AI assistant you use.
  • Passwords, their hashes and session ids are masked in logs, errors and results.

Development

npm ci
npm test          # offline tests; a fake fetch blocks any real network call
npm run build
npm run package   # runs the NDA check, type check and production build first

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft