Skip to main content
Glama
gca-global

Qobrix CRM MCP Server

by gca-global

qobrix_get_changes

Retrieve change history for a CRM record, showing before and after values, user, and timestamp.

Instructions

Retrieve audit / change-log entries for a single CRM record (Qobrix LogAudit). Calls GET /api/v2/{resource}/{id}/changes. Each row has original (before), changed (after), user_id (who), timestamp, type (create/update/delete). IMPORTANT: LogAudit.source is the resource name (e.g. 'Opportunities'), NOT the lead marketing source field. Field-level before/after for e.g. lead source are keys inside original and changed objects. For a filtered timeline of one field use qobrix_field_change_history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRecord UUID — the opportunity/property/contact primary key
pageNoPage number (default 1). Used on the fast path (no boost). Ignored when boost is set (ranking returns a single top-N page).
sortNoSort field(s). Prefix - for descending. Example: '-timestamp' (newest first).
limitNoHow many results to return (1-100, default 10). With boost: top-N after ranking. Without boost: page size. Raise when the user wants more options; keep low to avoid context overload.
fieldsNoLogAudit columns to return. Default all. Recommended for large scans: ['timestamp','user_id','primary_key','original','changed','type']
searchNoHard-filter Qobrix search expression (server-side precision). Operators: == != <> < > <= >=, contains, starts with, ends with, in [...], not in, ranges in a..b, and/or/not. Functions: DISTANCE_FROM, IN_POLYGON, TRANSLATED, MIN/MAX, DAYS_AGO(n), MONTHS_AGO(n), DAYS_FROM_NOW(n). Shortcuts: NOW, TODAY, THIS_WEEK, LAST_MONTH, THIS_YEAR, CURRENT_USER. Strings double-quoted; booleans true/false; association paths e.g. SalespersonUsers.Contacts.country. Example: status == "available" and sale_rent == "for_sale" and list_selling_price_amount <= 500000. For the full grammar + field cheatsheets call qobrix_search_dsl_help. For enum values call qobrix_get_field_options; for all fields call qobrix_get_schema.
resourceYesCRM resource name. PascalCase (e.g. 'Opportunities', 'Properties', 'Contracts') or kebab slug (e.g. 'opportunities'). Maps to GET /api/v2/{resource}/changes. Common values: Opportunities, Properties, Contacts, Contracts, Offers, Tasks, Calls, Meetings.
Behavior4/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 describes the response structure (original, changed, user_id, timestamp, type) and clarifies a potential naming pitfall about LogAudit.source. However, it does not explicitly state that the operation is read-only or mention any rate limits or auth requirements, though the GET endpoint implies safety.

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 compact despite covering multiple aspects: purpose, endpoint, output structure, a critical disambiguation, and a cross-reference. Every sentence contributes meaningful information with no filler. The 'IMPORTANT' note is justified and placed appropriately.

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

Completeness5/5

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

Given there is no output schema and no annotations, the description provides a solid overview of what the tool does and returns, including the row fields and the endpoint. It addresses a common confusion and suggests an alternative, making it adequately complete for a moderately complex tool with 7 parameters.

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 does not add significant per-parameter information beyond the schema; it focuses on response structure and a usage caveat. It indirectly clarifies what 'fields' might contain by listing row fields, but this is marginal added value.

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 audit/change-log entries for a single CRM record, specifically naming the Qobrix LogAudit and the endpoint. It distinguishes itself from sibling tools by noting the alternative qobrix_field_change_history for one-field timelines, and implies it is for full audit logs of a single record.

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 provides a use-case alternative: 'For a filtered timeline of one field use qobrix_field_change_history.' This tells the agent when to choose another tool. It also clarifies the intended scope (single record) and gives an important caveat about the LogAudit.source field, which prevents misuse.

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

Install Server

Other Tools

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/gca-global/qobrix-crm-mcp'

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