Skip to main content
Glama
AllianceGS-Development

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: crm-mcp

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoAdvance type
notesNoAdditional notes
amountYesAdvance amount
statusNoAdvance status
contact_idYesContact ID this advance belongs to

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states a mutation action ('create') without any additional context such as side effects, permission requirements, uniqueness constraints, or error handling. The description fails to disclose key behavioral traits beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that communicates the core purpose. It is front-loaded and free of redundancy. While it lacks structured formatting (e.g., bullet points), it is appropriately sized for its simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal for a tool with 5 parameters and no output schema or annotations. It does not explain return values, required relationships (e.g., contact must exist), validation rules, or potential side effects. A more complete description would include outcome details and usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for each parameter. The overall description adds no additional meaning beyond the schema's parameter descriptions. Therefore, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create) and the resource (loan/advance record in Centrex). It is specific and distinguishable from sibling tools like centrex_list_advances. However, it adds no extra context about the nature of the advance or its relation to contacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, prerequisites (e.g., contact must exist via centrex_create_contact), or what happens on success/failure. The sibling list includes other create tools but no differentiation is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_create_alertB

Create a new alert/reminder in Centrex.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoAlert type
messageYesAlert message
due_dateNoDue date (ISO 8601 format)
contact_idYesContact ID
assigned_user_idNoUser ID to assign alert to

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It does not mention side effects, permissions, rate limits, or what happens after creation (e.g., notifications, recurrence).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose. It is concise but lacks additional detail that could be included without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters (2 required) and no output schema, the description is too minimal. It does not explain parameter usage, expected values, or the outcome, making it incomplete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds no extra context beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('alert/reminder in Centrex'), distinguishing it from sibling tools like list_alerts or create_contact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool, prerequisites, or alternatives. An agent must infer usage solely from the tool name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_create_contactB

Create a new contact/lead in Centrex CRM.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNoZIP/postal code
cityNoCity
emailNoEmail address
phoneNoPhone number
stateNoState (2-letter code)
statusNoContact status
addressNoStreet address
last_nameYesLast name
first_nameYesFirst name
business_nameNoBusiness/company name
assigned_user_idNoID of user to assign this contact to

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the creation action, omitting details such as idempotency, duplicate handling, authentication requirements, or side effects. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence. It is appropriately brief for a simple tool, though it could expand slightly on the fact that it creates both contacts and leads. The structure is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 11 parameters and no output schema or annotations, the description is too minimal. It does not cover expected behavior, success/failure signals, or prerequisites. The agent lacks guidance on using the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Since schema description coverage is 100%, the baseline is 3. The tool description adds no additional meaning beyond the schema's field descriptions. It does not explain parameter relationships or usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Create' and the resource 'contact/lead', distinguishing it from sibling tools like update, list, and delete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the tool's purpose is implied by its name and description, there is no explicit guidance on when to use it versus alternatives like creating a note or alert. The context signals show many sibling tools, but the description does not provide any usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_create_contact_noteB

Add a note to a contact record.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYesNote text content
typeNoNote type/category (optional)
contact_idYesContact ID

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It only says 'add a note', omitting any details about side effects, permissions, or mutability. The lack of transparency is severe for a create operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is front-loaded and directly states the purpose, earning its place without verbose or irrelevant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema and the description fails to mention return values or confirmation of the action. For a create operation, this missing information significantly reduces completeness, despite the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it does not elaborate on parameter formats or usage constraints. No additional value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (add) and the resource (note to a contact record). It effectively distinguishes from sibling tools like centrex_get_contact_notes, which retrieves notes, and centrex_create_contact, which creates contacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. Sibling tools like centrex_get_contact_notes exist for similar contexts, but no explicit when-to-use or when-not-to-use information is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_delete_contactA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesContact ID to delete

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description identifies the operation as destructive and notes a config requirement. It could be more explicit about irreversibility or side effects, but the core behavioral trait is conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the action and followed by a critical prerequisite. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with one parameter and no output schema, the description is adequate. It covers the action and a key prerequisite. Could add a note about immediacy or confirmation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter (contact_id) is already fully described in the schema (100% coverage). The tool description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (delete) and resource (contact from Centrex CRM). Distinguishes from sibling tools like centrex_create_contact and centrex_list_contacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions the required config flag (CENTREX_ALLOW_DESTRUCTIVE_OPERATIONS=true), providing a clear prerequisite. However, it does not mention alternative actions or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_get_contactA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesContact ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the data returned (CRM fields, notes, metadata), which is helpful, but it does not disclose whether the tool is read-only, requires specific permissions, or has any side effects. The verb 'Get' implies a read operation, but explicit transparency is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It immediately states the action and resource, making it highly efficient for an AI agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required parameter, no output schema), the description adequately explains what the tool returns. However, it could be more complete by mentioning the return format (e.g., JSON object) or error handling. Still, it provides essential context for an agent to understand the tool's output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the only parameter ('contact_id'), so the description adds no additional semantics beyond 'by ID'. The mention of 'including all CRM fields, notes, and metadata' refers to the return value, not the parameter. Baseline 3 is appropriate given the schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get'), the resource ('a single contact by ID'), and the scope ('including all CRM fields, notes, and metadata'). It distinguishes this tool from sibling tools like 'centrex_list_contacts' (which returns multiple contacts) and mutation tools like 'centrex_create_contact'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly states when to use it (when you need full details of a single contact by ID), but it does not explicitly mention alternatives or when not to use it. For example, if only notes are needed, 'centrex_get_contact_notes' might be more appropriate. No exclusions or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_get_contact_notesB

Get all notes for a contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
contact_idYesContact ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It correctly implies a read operation but omits important behaviors like error handling for invalid contact_id, pagination, or the structure of returned notes. This leaves behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence, fulfilling the 'what it does' requirement without unnecessary words. However, it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a simple read operation, the description lacks information about the structure or format of notes. It does not clarify if an empty list is returned when no notes exist, leaving the agent uncertain about expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the parameter description ('Contact ID') adds little beyond the schema. The tool description does not enhance parameter meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool retrieves all notes for a contact, which clearly distinguishes it from sibling tools like centrex_create_contact_note (write) and centrex_get_contact (single contact details).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites like requiring the contact to exist. The description is purely functional without contextual advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_get_documentB

Get metadata and download URL for a specific document.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesDocument ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so description carries burden. It mentions 'Get' implying read-only, but does not disclose permissions, rate limits, or whether the operation is safe. Lacks behavioral context beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence front-loaded with verb. Efficient but could benefit from slightly more context without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, the description adequately states purpose. However, it omits hints about the structure of metadata or download URL format. Adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter 'document_id' described, and the description adds no additional meaning beyond 'for a specific document'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly specifies the verb 'Get', the resource 'metadata and download URL', and the target 'a specific document', distinguishing it from sibling tools like centrex_list_documents which lists documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings. It is implied that if you have a document ID, you use this tool, but no exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_get_submissionB

Get details and status of a specific lender submission.

ParametersJSON Schema
NameRequiredDescriptionDefault
submission_idYesSubmission ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden but only states 'Get details and status'. It does not disclose whether the operation is read-only, if specific permissions are needed, or what errors may occur (e.g., invalid submission ID).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with a single sentence that clearly conveys the tool's purpose. However, it could be slightly more structured by mentioning the output or use case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple query tool with one parameter and no output schema, the description is insufficient. It does not explain what 'details and status' include, how to interpret the response, or any limitations, missing the opportunity to fully inform the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add much for parameters. The parameter 'submission_id' is self-explanatory, and the description adds no extra semantic value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves details and status of a specific submission. It distinguishes from the sibling 'centrex_list_submissions', which lists submissions, by specifying 'a specific lender submission' and mentioning both details and status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'centrex_list_submissions' or other sibling tools. The description lacks context about prerequisites or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_get_userA

Get a specific user by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesUser ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Only states 'Get' implying read-only, but no disclosure of error handling, auth needs, rate limits, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with verb-resource-method, and zero extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with no output schema; description is adequate but could mention what fields are returned or behavior if user not found.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with single param 'user_id' (description: 'User ID'). Description adds no additional meaning beyond schema; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get', resource 'a specific user', and method 'by ID'. Unambiguously distinct from sibling 'centrex_list_users'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives. Usage is implied (when needing a single user by ID) but no exclusions or comparisons provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_advancesB

List all loan/advance records in Centrex.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset
statusNoFilter by advance status
contact_idNoFilter by contact ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries full burden. It only states 'list' (implying read-only) but fails to disclose pagination behavior, rate limits, or potential performance impact of listing all records.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the main purpose. While very brief, it is not bloated; however, it could be slightly expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no output schema, the description is incomplete. It does not specify what fields are returned, default pagination, or any return value structure, leaving the agent with insufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; it does not explain how limit/offset work or valid status values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'loan/advance records' in Centrex. It distinguishes this tool from sibling list tools like list_contacts and list_users by specifying the unique resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like centrex_create_advance or other list tools. The description does not mention prerequisites, exclusions, or comparison with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_alertsC

List alerts/notifications in Centrex.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset
statusNoFilter by alert status
contact_idNoFilter by contact ID

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It only repeats the tool's purpose and does not mention ordering, pagination behavior, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise (one sentence), but it lacks structure and does not include necessary details. It is under-specified rather than efficiently compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and 4 parameters, the description is highly incomplete. It fails to mention return format, pagination, or filtering behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (100% with descriptions). The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'List' and the resource 'alerts/notifications in Centrex'. This distinguishes it from sibling tools like centrex_create_alert and other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, such as filtering or when to use centrex_create_alert. No context for when to avoid using it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_contactsB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoFilter by email address
limitNoNumber of results to return (default 25)
phoneNoFilter by phone number
offsetNoPagination offset
searchNoFull-text search query
statusNoFilter by contact status

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description only says it supports filtering but omits key behaviors like default sorting, pagination limits, read-only nature, or what happens with no filters. Minimal disclosure beyond basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence efficiently conveys the core purpose and lists main filters, with no redundant words. However, it could be slightly better structured by separating the filter list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 6 optional parameters and no output schema or annotations, the description lacks details on default behavior, pagination (offset/limit described in schema but not in description), maximum results, or returned fields. Incomplete for agents to anticipate results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 6 parameters with descriptions. The description adds general filtering context but mentions 'name' as a filter, which is not a separate parameter (likely part of 'search'), causing slight ambiguity. The baseline is 3 due to full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches and lists contacts in Centrex CRM, which distinguishes it from sibling tools like centrex_get_contact (single contact) and centrex_create_contact (creation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies using this tool for searching and listing contacts, but does not specify when to use alternatives (e.g., centrex_get_contact for a single known contact) or provide explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_documentsC

List documents in Centrex, optionally filtered by contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset
contact_idNoFilter by contact ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It only states the basic function and optional filter, without disclosing behavioral traits such as read-only nature, pagination behavior, or authorization requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of a single sentence with front-loaded verb and resource. However, it is slightly under-informative given the tool's pagination parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three parameters including pagination, but no output schema or annotations. The description lacks context on pagination behavior, ordering, return format, error handling, or default limits, making it incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all three parameters at 100%. The description adds minimal value by restating the filter capability, but does not provide additional semantic context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list', resource 'documents', and the optional filter by contact. It distinguishes from sibling tools like centrex_get_document by indicating a list operation, though it does not explicitly contrast with other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like centrex_get_document or other listing tools, nor does it mention constraints or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_submissionsB

List lender submission records in Centrex.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset
statusNoFilter by submission status
contact_idNoFilter by contact ID

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavior. It fails to disclose pagination details, ordering, authentication needs, or any side effects. Only a bare listing statement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no waste, but it is overly terse and could benefit from minimal context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with 4 optional parameters and no output schema, the description lacks context about the nature of submissions, relationship to other entities, or typical use cases. Incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 4 parameters with descriptions (100% coverage). The description adds no extra meaning beyond schema, which is adequate but not improved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and resource (lender submission records) and scope (Centrex). It distinguishes from the sibling 'get' tool, though it does not explicitly contrast with other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like centrex_get_submission or other list tools. The purpose is implied but not explicitly contextualized.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_teamsB

List teams in the Centrex account.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It only states 'List teams' without mentioning permissions, pagination behavior, sorting, or what happens if no teams exist. This is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no unnecessary words. It is front-loaded but lacks any structural elements (e.g., bullet points) that could improve readability for more complex tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, no output schema, no annotations), the description is too minimal. It does not explain what teams are, what fields they contain, or any default behavior, leaving an agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both 'limit' and 'offset' already described. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'teams' within the 'Centrex account'. It is specific and distinguishes from sibling tools, none of which are team-related.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Since there are no sibling team tools, usage is implied by resource type, but no context on prerequisites or exclusions is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_list_usersB

List users/agents in the Centrex account.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results
offsetNoPagination offset

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description fails to disclose behavioral traits like pagination behavior, default limits, permission requirements, or data scope. The parameters imply pagination but the description does not confirm or explain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no waste. However, it is overly terse and could include more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description does not explain return format, fields, or ordering. For a list tool with two optional parameters, the description covers only the basic purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for limit and offset. Description adds no additional meaning beyond the schema; agent must infer pagination behavior from parameter names alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists users/agents in the Centrex account, using a specific verb and resource. It distinguishes from sibling tools like centrex_get_user (single user) and centrex_list_contacts (different resource).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like centrex_list_teams or centrex_get_user. Missing context on typical use cases or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body for POST/PUT/PATCH
pathYesAPI path starting with / (e.g. /contacts/123/forms)
methodYesHTTP method
paramsNoQuery string parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. Discloses authentication, destructive operation guard (env variable). Does not detail rate limits, error handling, or response format, but for a raw request tool the core behaviors are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with purpose. Every phrase earns its place. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple interface (method, path, body, params) and no output schema, description covers authentication, use case, destructive note. Could mention response format or error handling, but overall adequate for a generic request tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds no extra semantics beyond what the schema provides (HTTP method, path, body, params). No misuse examples or formatting hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it makes raw authenticated requests to any Centrex API endpoint, and explicitly distinguishes from dedicated tools by positioning itself as a fallback for endpoints not covered. Verb+resource+scope are specific and distinct from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this for endpoints not covered by dedicated tools,' providing clear when-to-use guidance. Also notes that DELETE and destructive POST paths require an environment variable, giving an important condition. No misleading exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_send_communicationC

Send an email or SMS to a contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesCommunication type: 'email' or 'sms'
messageYesMessage body
subjectNoEmail subject (required for email)
contact_idYesContact ID
template_idNoOptional template ID to use

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning side effects (e.g., message sent, cost implications), permissions needed, rate limits, error states (e.g., invalid contact, failed delivery), or idempotency. The description fails to disclose essential behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. However, it is overly terse and could benefit from additional brief context (e.g., required subject for email) without becoming verbose. It is appropriately sized but lacks structure to front-load critical details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (sending communications, two types, optional template, required subject for email), the description is incomplete. With no output schema and no annotations, the description should at least mention that 'subject' is required for email, that the contact must have valid contact info, and what the response contains (e.g., sent status, message ID). The current description leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all 5 parameters, including enum values for 'type'. The description adds no extra meaning beyond what is in the schema. According to the rubric, when schema coverage is high, baseline is 3, and since the description doesn't enhance the schema, the score remains 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Send' and the resource 'email or SMS to a contact'. It is distinct from sibling tools, which are all about contacts, notes, advances, etc., with no other send tool. However, it could be more specific about the action (e.g., 'Send an email or SMS message to a specified contact').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., contact must exist, need valid email/phone), no conditions for choosing email vs SMS, and no exclusions. This lack of guidance makes it harder for an agent to decide when to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

centrex_update_contactC

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

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNo
phoneNo
statusNo
last_nameNo
contact_idYesContact ID to update
first_nameNo
business_nameNo
assigned_user_idNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must carry the burden. It discloses partial update behavior but lacks details on permissions, idempotency, error handling, or what happens when no optional fields are provided (only contact_id required).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no waste, front-loaded. But it may be too concise given the tool's complexity (8 parameters, no annotations). Could benefit from a brief note on return value or workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, minimal description. Does not explain return format, potential errors, or required permissions. Incomplete for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 13% (only contact_id described). The description adds no parameter-specific meaning beyond 'only provided fields are updated'. For a tool with 8 parameters, this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and the resource 'existing contact in Centrex CRM', with a specific partial update semantics ('Only provided fields are updated'). However, it does not distinguish itself from sibling tools like centrex_create_contact or centrex_delete_contact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. No mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 20 tool updatesv1.1.0
    • First observedcentrex_create_advance
    • First observedcentrex_create_alert
    • First observedcentrex_create_contact
    • First observedcentrex_create_contact_note
    • First observedcentrex_delete_contact
    • First observedcentrex_get_contact
    • First observedcentrex_get_contact_notes
    • First observedcentrex_get_document
    • First observedcentrex_get_submission
    • First observedcentrex_get_user
    • First observedcentrex_list_advances
    • First observedcentrex_list_alerts
    • First observedcentrex_list_contacts
    • First observedcentrex_list_documents
    • First observedcentrex_list_submissions
    • First observedcentrex_list_teams
    • First observedcentrex_list_users
    • First observedcentrex_request
    • First observedcentrex_send_communication
    • First observedcentrex_update_contact

TDQS

B3.3/5.0
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
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Bridges Claude Code to the Rowan Rose CRM, translating MCP tool calls into REST API requests for contacts, cases, documents, and more.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude to manage GoHighLevel CRM contacts, pipelines, and workflows through natural language commands.
    37
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude to interact with Follow Up Boss CRM, allowing lead management, task scheduling, and pipeline tracking through natural language.
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AllianceGS-Development/centrex-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server