Skip to main content
Glama
Centrex MCP Server

Centrex MCP Server

Centrex MCP Server

MCP (Model Context Protocol) server for the Centrex Software CRM & LOS API v1. Gives Claude direct access to contacts, advances, documents, alerts, users, teams, and lender submissions.

Quick Install

Option A — Terminal (Claude Code)

claude mcp add centrex \
  --command node \
  --args "/path/to/centrex-mcp-server/dist/index.js" \
  -e CENTREX_ACCESS_TOKEN=your_token_here

Option B — Manual JSON config

Add to ~/.claude.json (global) or .claude.json in your project:

{
  "mcpServers": {
    "centrex": {
      "command": "node",
      "args": ["/path/to/centrex-mcp-server/dist/index.js"],
      "env": {
        "CENTREX_ACCESS_TOKEN": "your_access_token_here",
        "CENTREX_ACCOUNT_ID": "optional_account_id",
        "CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS": "false"
      }
    }
  }
}

Option C — Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "centrex": {
      "command": "node",
      "args": ["C:/path/to/centrex-mcp-server/dist/index.js"],
      "env": {
        "CENTREX_ACCESS_TOKEN": "your_access_token_here"
      }
    }
  }
}

Related MCP server: GHL MCP Server

Installation & Build

git clone https://github.com/AllianceGS-Development/centrex-mcp-server.git
cd centrex-mcp-server
npm install
npm run build       # compiles TypeScript → dist/

Copy .env.example to .env and fill in your credentials, then point the config to dist/index.js.


Environment Variables

Variable

Required

Description

CENTREX_ACCESS_TOKEN

Yes

Bearer token from Centrex → Settings → API

CENTREX_ACCOUNT_ID

No

Lock to a specific account/org ID

CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS

No

Set true to allow DELETE operations (default false)

Get your API access token from your Centrex account under Settings → API or contact support@centrexsoftware.com.


Tools Reference

Contacts

centrex_list_contacts

Search and list contacts with optional filters.

Parameter

Type

Required

Description

search

string

No

Full-text search query

email

string

No

Filter by email

phone

string

No

Filter by phone number

status

string

No

Filter by contact status

limit

string

No

Results per page (default 25)

offset

string

No

Pagination offset

centrex_get_contact

Get a single contact by ID.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID

centrex_create_contact

Create a new contact/lead.

Parameter

Type

Required

Description

first_name

string

Yes

First name

last_name

string

Yes

Last name

email

string

No

Email address

phone

string

No

Phone number

business_name

string

No

Business/company name

address

string

No

Street address

city

string

No

City

state

string

No

State (2-letter)

zip

string

No

ZIP code

status

string

No

Contact status

assigned_user_id

string

No

User to assign this contact to

centrex_update_contact

Update an existing contact (partial update).

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID to update

first_name

string

No

New first name

last_name

string

No

New last name

email

string

No

New email

phone

string

No

New phone

business_name

string

No

New business name

status

string

No

New status

assigned_user_id

string

No

Reassign to user

centrex_delete_contact

Delete a contact. Requires CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS=true.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID to delete


Contact Notes

centrex_get_contact_notes

Get all notes for a contact.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID

centrex_create_contact_note

Add a note to a contact.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID

note

string

Yes

Note text

type

string

No

Note type/category


Communication

centrex_send_communication

Send email or SMS to a contact.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID

type

string

Yes

email or sms

message

string

Yes

Message body

subject

string

Cond.

Required for email

template_id

string

No

Template ID to use


Advances (Loans)

centrex_list_advances

List loan/advance records.

Parameter

Type

Required

Description

contact_id

string

No

Filter by contact

status

string

No

Filter by status

limit

string

No

Results per page

offset

string

No

Pagination offset

centrex_create_advance

Create a new loan/advance record.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact this advance belongs to

amount

number

Yes

Advance amount

status

string

No

Status

type

string

No

Advance type

notes

string

No

Notes


Documents

centrex_list_documents

List documents.

Parameter

Type

Required

Description

contact_id

string

No

Filter by contact

limit

string

No

Results per page

offset

string

No

Pagination offset

centrex_get_document

Get document metadata and download URL.

Parameter

Type

Required

Description

document_id

string

Yes

Document ID


Alerts

centrex_list_alerts

List alerts/reminders.

Parameter

Type

Required

Description

contact_id

string

No

Filter by contact

status

string

No

Filter by status

limit

string

No

Results per page

offset

string

No

Pagination offset

centrex_create_alert

Create an alert/reminder.

Parameter

Type

Required

Description

contact_id

string

Yes

Contact ID

message

string

Yes

Alert message

due_date

string

No

ISO 8601 due date

assigned_user_id

string

No

User to assign to

type

string

No

Alert type


Users & Teams

centrex_list_users

List users/agents.

Parameter

Type

Required

Description

limit

string

No

Results per page

offset

string

No

Pagination offset

centrex_get_user

Get a user by ID.

Parameter

Type

Required

Description

user_id

string

Yes

User ID

centrex_list_teams

List teams.

Parameter

Type

Required

Description

limit

string

No

Results per page

offset

string

No

Pagination offset


Lender Submissions

centrex_list_submissions

List lender submission records.

Parameter

Type

Required

Description

contact_id

string

No

Filter by contact

status

string

No

Filter by status

limit

string

No

Results per page

offset

string

No

Pagination offset

centrex_get_submission

Get a specific submission.

Parameter

Type

Required

Description

submission_id

string

Yes

Submission ID


Generic Escape Hatch

centrex_request

Make a raw authenticated request to any Centrex API endpoint not covered by dedicated tools.

Parameter

Type

Required

Description

method

string

Yes

GET, POST, PUT, PATCH, DELETE

path

string

Yes

API path starting with / (e.g. /contacts/123/forms)

params

object

No

Query string parameters

body

object

No

Request body for POST/PUT/PATCH


Centrex API Endpoint Reference

Resource

Method

Endpoint

Description

Contacts

GET

/contacts

List/search contacts

Contacts

POST

/contacts

Create contact

Contacts

GET

/contacts/{id}

Get contact

Contacts

PUT

/contacts/{id}

Update contact

Contacts

DELETE

/contacts/{id}

Delete contact

Contact Notes

GET

/contacts/{id}/notes

Get notes

Contact Notes

POST

/contacts/{id}/notes

Add note

Communication

POST

/contacts/{id}/communication

Send email/SMS

Forms

POST

/contacts/{id}/forms

Send external form

Advances

GET

/advances

List advances

Advances

POST

/advances

Create advance

Advances

GET

/advances/{id}

Get advance

Advances

PUT

/advances/{id}

Update advance

Documents

GET

/documents

List documents

Documents

POST

/documents

Upload document

Documents

GET

/documents/{id}

Get document

Alerts

GET

/alerts

List alerts

Alerts

POST

/alerts

Create alert

Alerts

PUT

/alerts/{id}

Update alert

Alerts

DELETE

/alerts/{id}

Delete alert

Users

GET

/users

List users

Users

POST

/users

Create user

Users

GET

/users/{id}

Get user

Users

PUT

/users/{id}

Update user

Users

DELETE

/users/{id}

Delete user

Users

GET

/users/preferences

User preferences

Teams

GET

/teams

List teams

Teams

POST

/teams

Create team

Teams

GET

/teams/{id}

Get team

Teams

PUT

/teams/{id}

Update team

Teams

DELETE

/teams/{id}

Delete team

Submissions

GET

/submissions

List submissions

Submissions

GET

/submissions/{id}

Get submission

Submissions

GET

/submissions/{id}/status

Submission status

Credit Reports

GET

/credit-reports

Credit report data

Webhooks

POST

/webhooks

Configure webhooks


Security

  • Bearer token is never logged or exposed in output

  • Sensitive fields are redacted from responses

  • SSRF protection: only api.centrexsoftware.com is reachable

  • Destructive operations (DELETE) require explicit opt-in via CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS=true

License

MIT — Alliance Global Solutions 2026

Available Tools

20 tools
centrex_create_advanceC

Create a new loan/advance record in Centrex.

Inputs: amount (required), contact_id (required), type, notes, +1 more.

centrex_create_alertB

Create a new alert/reminder in Centrex.

Inputs: message (required), contact_id (required), type, due_date, +1 more.

centrex_create_contactB

Create a new contact/lead in Centrex CRM.

Inputs: last_name (required), first_name (required), zip, city, +7 more.

centrex_create_contact_noteB

Add a note to a contact record.

Inputs: note (required), contact_id (required), type.

centrex_delete_contactA

Delete a contact from Centrex CRM. Requires CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS=true.

Inputs: contact_id (required).

centrex_get_contactA

Get a single contact by ID including all CRM fields, notes, and metadata.

Inputs: contact_id (required).

centrex_get_contact_notesB

Get all notes for a contact.

Inputs: contact_id (required).

centrex_get_documentB

Get metadata and download URL for a specific document.

Inputs: document_id (required).

centrex_get_submissionB

Get details and status of a specific lender submission.

Inputs: submission_id (required).

centrex_get_userA

Get a specific user by ID.

Inputs: user_id (required).

centrex_list_advancesB

List all loan/advance records in Centrex.

Inputs: limit, offset, status, contact_id.

centrex_list_alertsC

List alerts/notifications in Centrex.

Inputs: limit, offset, status, contact_id.

centrex_list_contactsB

Search and list contacts in Centrex CRM. Supports filtering by name, email, phone, status, and more.

Inputs: email, limit, phone, offset, +2 more.

centrex_list_documentsC

List documents in Centrex, optionally filtered by contact.

Inputs: limit, offset, contact_id.

centrex_list_submissionsB

List lender submission records in Centrex.

Inputs: limit, offset, status, contact_id.

centrex_list_teamsB

List teams in the Centrex account.

Inputs: limit, offset.

centrex_list_usersB

List users/agents in the Centrex account.

Inputs: limit, offset.

centrex_requestA

Make a raw authenticated request to any Centrex API endpoint. Use this for endpoints not covered by dedicated tools. DELETE and destructive POST paths require CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS=true.

Inputs: path (required), method (required), body, params.

centrex_send_communicationC

Send an email or SMS to a contact.

Inputs: type (required), message (required), contact_id (required), subject, +1 more.

centrex_update_contactC

Update an existing contact in Centrex CRM. Only provided fields are updated.

Inputs: contact_id (required), email, phone, status, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 20 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action (e.g., list_contacts, get_contact, create_contact), with no overlapping purposes. The raw request tool is a catch-all that does not conflict with dedicated tools.

    Naming Consistency4/5

    All tools use the consistent 'centrex_' prefix and snake_case, with most following a verb_noun pattern (e.g., list_contacts, create_contact). The only minor inconsistency is 'centrex_request', which lacks a verb (compared to e.g., 'send_communication').

    Tool Count4/5

    20 tools is slightly above the typical 3-15 range but still appropriate for a CRM covering multiple domains (contacts, users, teams, advances, documents, alerts, submissions). Each tool serves a clear purpose, and the raw request endpoint justifies a larger surface.

    Completeness3/5

    Contacts have full CRUD and notes, but other resources are incomplete: users only have list/get, advances only list/create, documents only list/get, alerts only list/create, submissions only list/get. Missing update/delete for these resources are notable gaps that may require the raw request tool.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers