← Registry

eCommerce

arabiantraderoute.com

Manages Request for Quotation (RFQ) records including listing, creating, retrieving, updating, and importing from a legacy backend.

1 endpoint154 known toolsFirst detected September 14, 2026Last detected September 14, 2026

ENDPOINT 1

https://mcp.arabiantraderoute.com/mcp

No auth detected

MCP server metadata

Name
atr-mcp-api
Version
0.1.0
Capabilities
tools.listChanged

Known tools 154

listRFQs

List all RFQs with related data Retrieves all RFQs with enriched data including assigned user, linked project, and counts of related entities (comments, attachments, suppliers, shipments, payments).

Inferred read-only
createRFQ

Create a new RFQ Creates a new Request for Quotation.

Potential side effects
importLegacyRFQs

Import RFQs from legacy backend Fetches RFQs from the legacy Express backend and imports them into the PostgreSQL database.

Inferred read-only
getRFQ

Get a single RFQ with all related data Retrieves a single RFQ by ID with full details including all comments (with user info), attachments (with tags), suppliers, shipments, payments, and entity counts.

Inferred read-only
updateRFQ

Update an RFQ Updates an existing RFQ.

Potential side effects
deleteRFQ

Delete an RFQ Permanently deletes an RFQ and all related data (comments, attachments, suppliers, quotations, shipments, payments) via cascading deletes.

Potential side effects
updateRFQStatus

Update RFQ status Updates only the status field of an RFQ.

Potential side effects
updateRFQPriority

Update RFQ priority Updates only the priority field of an RFQ.

Potential side effects
listRFQSuppliers

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/suppliers] List suppliers for an RFQ Retrieves all suppliers assigned to an RFQ, including the full supplier record from the global Supplier directory.

Potential side effects
addSupplierToRFQ

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/suppliers] Add a supplier to an RFQ Creates an RFQ-Supplier relationship.

Potential side effects
removeSupplierFromRFQByQuery

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/suppliers] Remove a supplier from an RFQ (via query param) Removes a supplier from an RFQ using the supplierId as a query parameter.

Potential side effects
updateRFQSupplier

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/suppliers/{supplierId}] Update supplier details for an RFQ Updates the RFQ-Supplier relationship fields including role, quoted price, and notes.

Potential side effects
listQuotations

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations] List quotations for an RFQ supplier Retrieves all quotations submitted by a specific supplier for an RFQ.

Potential side effects
createQuotation

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations] Create a new quotation with items Creates a new quotation for a supplier on an RFQ.

Potential side effects
getQuotation

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations/{quotationId}] Get a single quotation Retrieves a specific quotation by ID with all its line items and proforma files.

Potential side effects
updateQuotation

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations/{quotationId}] Update a quotation Updates a quotation and replaces all its line items.

Potential side effects
deleteQuotation

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations/{quotationId}] Delete a quotation Permanently deletes a quotation and all its line items and proforma files via cascading deletes.

Potential side effects
listRFQComments

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments] List comments for an RFQ Retrieves all comments for an RFQ, including the author's user info (id, name, email).

Potential side effects
createRFQComment

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments] Create a comment on an RFQ Creates a new internal comment on an RFQ.

Potential side effects
updateRFQComment

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments/{commentId}] Update a comment Updates the content of an existing comment.

Potential side effects
deleteRFQComment

[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments/{commentId}] Delete a comment Permanently deletes a comment from an RFQ.

Potential side effects
listRFQAttachments

List attachments for an RFQ Retrieves all file attachments for an RFQ.

Inferred read-only
uploadRFQAttachment

Upload an attachment to an RFQ Uploads a file to MinIO storage via the backend API and stores the metadata in the database.

Potential side effects
deleteRFQAttachment

Delete an attachment Deletes a file attachment from both the filesystem/storage and the database.

Potential side effects
updateAttachmentTags

Replace tags on an attachment Replaces all tags on an attachment.

Inferred read-only
listRFQPayments

List payments for an RFQ Retrieves all payment records for an RFQ, including a count of attachments for each payment.

Potential side effects
createRFQPayment

Create a payment record for an RFQ Creates a new payment record for an RFQ.

Potential side effects
updateRFQPayment

Update a payment record Updates an existing payment record.

Potential side effects
deleteRFQPayment

Delete a payment record Permanently deletes a payment record and all its associated attachments via cascading deletes.

Potential side effects
listPaymentAttachments

List attachments for a payment Retrieves all file attachments associated with a specific payment.

Potential side effects
uploadPaymentAttachment

Upload an attachment to a payment Uploads a file to MinIO storage via the backend API and creates a PaymentAttachment record.

Potential side effects
deletePaymentAttachment

Delete a payment attachment Deletes a payment attachment from both MinIO storage and the database.

Potential side effects
listRFQShipments

List shipments for an RFQ Retrieves all shipment tracking records for an RFQ.

Inferred read-only
createRFQShipment

Create a shipment tracking record Creates a new shipment tracking record for an RFQ.

Potential side effects
updateRFQShipment

Update a shipment Updates a shipment tracking record.

Potential side effects
deleteRFQShipment

Delete a shipment Permanently deletes a shipment tracking record.

Potential side effects
listInvoices

List all invoices Returns a paginated list of invoices with optional filters by type, status, client name, linked RFQ, and date range.

Inferred read-only
createInvoice

Create a new invoice Creates a new invoice in DRAFT status.

Potential side effects
getInvoice

Get a single invoice Returns the full invoice record including items, payments, and linked RFQ details.

Potential side effects
updateInvoice

Update an invoice Partially updates an invoice.

Potential side effects
deleteInvoice

Delete an invoice Deletes an invoice.

Potential side effects
downloadInvoicePdf

Generate and download invoice PDF Generates a PDF for the invoice using react-pdf and returns the binary content as a downloadable file.

Potential side effects
generateAndStoreInvoicePdf

Generate and store invoice PDF Generates the PDF and stores it (future: MinIO upload).

Potential side effects
listPTProjectInvoices

List invoices for a payment tracker project Returns all invoices associated with a payment tracker project, ordered by date descending.

Potential side effects
createPTProjectInvoice

Create an invoice for a payment tracker project Creates a new invoice linked to a payment tracker project.

Potential side effects
updatePTProjectInvoice

Update a payment tracker project invoice Partially updates a payment tracker invoice.

Potential side effects
deletePTProjectInvoice

Delete a payment tracker project invoice Deletes a payment tracker invoice and its items.

Potential side effects
generateClientInvoiceFromProject

Generate a client invoice from a payment tracker project Creates a new core Invoice (PROFORMA, DRAFT) by converting all non-cancelled line items from the payment tracker project into invoice items.

Potential side effects
listPTProjects

List all payment tracker projects Returns every project with a computed `_summary` block that includes the active item count, total project value, and total client payments received.

Potential side effects
createPTProject

Create a new project Creates a payment tracker project.

Potential side effects
getPTProject

Get a project with all related data Returns the full project record together with all child entities: line items, client payments, supplier payments, credits, shipments, invoices, and the activity log.

Inferred read-only
updatePTProject

Update a project Partially updates a project.

Potential side effects
deletePTProject

Delete a project Permanently deletes a project and all related data via cascading deletes in the database.

Potential side effects
listProjectSuppliers

List suppliers being considered for a project Suppliers approached for this project, each with the quotations they have submitted.

Inferred read-only
attachProjectSupplier

Attach a supplier to a project

Inferred read-only
updateProjectSupplier

Change a supplier's role or notes on a project

Inferred read-only
detachProjectSupplier

Detach a supplier from a project The supplier's quotations are kept and simply lose their link, so historical prices stay searchable.

Inferred read-only
listProjectQuotations

List quotations on a project Every quotation with its supplier, line items and typed attributes.

Inferred read-only
createProjectQuotation

Record a quotation from a supplier `totalAmount` is not accepted from the caller: the server computes it from the items and returns its own value.

Inferred read-only
getProjectQuotation

Get one quotation

Inferred read-only
updateProjectQuotation

Correct a quotation Items carrying an `id` are updated in place, which preserves the typed attributes recorded against them; items omitted from the payload are deleted.

Inferred read-only
deleteProjectQuotation

Delete a quotation

Potential side effects
setProjectQuotationStatus

Accept, reject or reopen a quotation Accepting is one transaction: the quotation becomes ACCEPTED, its supplier's role becomes SELECTED unless already CONTRACTED, and that supplier's other open quotations become SUPERSEDED.

Inferred read-only
listProjectComments

List the project discussion thread Newest first.

Inferred read-only
createProjectComment

Add a comment to a project

Inferred read-only
updateProjectComment

Edit your own comment Only the author may edit; anyone else receives 403.

Potential side effects
deleteProjectComment

Delete your own comment

Potential side effects
listPTLineItems

List line items for a project Returns all line items ordered by `itemNumber` ascending.

Inferred read-only
createPTLineItem

Add a line item to a project Creates a new line item.

Inferred read-only
updatePTLineItem

Update a line item Partially updates a line item.

Potential side effects
deletePTLineItem

Delete a line item Permanently removes a line item and logs `line_item_deleted`.

Potential side effects
listPTClientPayments

List client payments for a project Returns all client payments ordered by `date` descending.

Inferred read-only
createPTClientPayment

Record a client payment Records a payment received from the client.

Potential side effects
updatePTClientPayment

Update a client payment Partially updates a client payment.

Potential side effects
deletePTClientPayment

Delete a client payment Permanently removes a client payment.

Potential side effects
listPTSupplierPayments

List supplier payments for a project Returns all supplier payments ordered by `date` descending.

Inferred read-only
createPTSupplierPayment

Record a supplier payment Records a payment made to the supplier.

Potential side effects
updatePTSupplierPayment

Update a supplier payment Partially updates a supplier payment.

Potential side effects
deletePTSupplierPayment

Delete a supplier payment Permanently removes a supplier payment.

Potential side effects
listPTShipments

List shipments for a project Returns all shipments ordered by `date` descending, each including its associated line item IDs.

Inferred read-only
createPTShipment

Create a shipment Creates a shipment linking one or more line items.

Potential side effects
deletePTShipment

Delete a shipment Deletes a shipment and reverts all associated line items back to `in_production` status.

Potential side effects
applyPTCredit

Apply a credit to another project Marks a credit as `applied` and links it to a target project.

Inferred read-only
revokePTCredit

Revoke a previously applied credit Resets `applied` to false and clears `appliedToProjectId`.

Inferred read-only
listPTActivity

Get activity log for a project Returns the full activity log ordered by `timestamp` descending.

Inferred read-only
exportPTData

Export all payment tracker data Returns every record across all PT tables in a single JSON payload.

Potential side effects
importPTData

Import payment tracker data from a backup Accepts the same structure produced by the export endpoint (with `version` and `data` keys).

Potential side effects
createPTProjectFromRFQ

Seed a project's line items from its RFQ Fills in the line items an accepted quotation implies.

Inferred read-only
uploadPTImage

Upload a base64-encoded image to storage Accepts a data-URL-encoded image (e.g.

Potential side effects
listBacklogItems

List backlog items Returns all backlog items with optional filtering by status, priority, category, assignee, tags, and free-text search.

Inferred read-only
createBacklogItem

Create a new backlog item Creates a backlog item and logs an `item_created` activity entry inside a database transaction.

Potential side effects
getBacklogItem

Get a single backlog item with comments and activity Returns a backlog item together with its threaded comments (top-level comments ordered newest-first, replies ordered oldest-first) and the last 50 activity log entries.

Inferred read-only
updateBacklogItem

Update a backlog item Partially updates any fields on the item.

Potential side effects
deleteBacklogItem

Delete a backlog item Permanently removes the item and all associated comments and activity entries.

Potential side effects
listBacklogItemComments

List comments for a backlog item Returns top-level comments (newest first) with nested replies (oldest first).

Inferred read-only
createBacklogItemComment

Add a comment or reply to a backlog item Creates a comment on the item.

Inferred read-only
getBacklogStats

Get backlog statistics Returns aggregate counts grouped by status, priority, and category, the total item count, and the 10 most recent activity log entries.

Inferred read-only
bulkUpdateBacklogItems

Bulk update multiple backlog items Applies the same set of field updates to all specified items.

Potential side effects
reorderBacklogItems

Reorder backlog items (drag-and-drop) Updates `sortOrder` (and optionally `status`) for a batch of items.

Potential side effects
generateCatalogPdf

Generate a product catalog PDF Accepts an array of products and catalog settings, fetches any remote images server-side (converting to base64), renders the catalog using `@react-pdf/renderer` on the server, and returns the binary PDF.

Inferred read-only
proxyCatalogImage

Proxy an external image through the server Fetches an image from a trusted external host, detects the actual MIME type from magic bytes (to work around CDN mislabeling), and returns the raw binary.

Inferred read-only
smartImportCatalogProducts

AI-powered product data extraction Sends content (file, URL text, or plain text) to an AI provider (Gemini, OpenAI, or Ollama) to extract structured product data.

Inferred read-only
fetchCatalogUrl

Fetch and extract text from a URL Server-side URL fetcher that retrieves the page content, strips HTML to plain text, and returns it for AI processing.

Inferred read-only
editCatalogImage

AI-powered image editing (inpainting) Performs mask-based image editing using DALL-E (OpenAI) or Gemini.

Inferred read-only
cleanupCatalogProducts

AI-powered product data cleanup Sends product data to an AI provider (Gemini or OpenAI) for automated cleanup: shortening names, removing irrelevant specifications, converting imperial units to metric, and standardising the output format.

Inferred read-only
listSuppliers

List suppliers with optional filters Returns every supplier ordered alphabetically by name, with `_count` for rfqSuppliers, quotations, and certifications.

Inferred read-only
createSupplier

Create a new supplier Creates a supplier record.

Potential side effects
getSupplier

Get one supplier with certifications, RFQs, and quotations Returns the supplier record plus its certifications (ordered by expiry ascending, then createdAt descending), the last 25 `RFQSupplier` join rows with their parent RFQ, and the last 25 quotations.

Inferred read-only
updateSupplier

Partially update a supplier Any subset of Supplier fields.

Potential side effects
findSupplierByAlias

Resolve a name (or alias) to an existing supplier Case-insensitive lookup: matches `Supplier.name` exactly (case-insensitive) OR any entry in `Supplier.aliases`.

Inferred read-only
listSupplierContacts

List contacts for a supplier Ordered by `isDecisionMaker DESC, createdAt DESC` so the operational reader appears first.

Inferred read-only
createSupplierContact

Add a contact to a supplier Setting `emailStatus = BOUNCED` and omitting `bouncedAt` stamps `bouncedAt` to the server clock automatically — a bounce with no timestamp is worse than a bounce with an approximate one.

Inferred read-only
getSupplierContact

Get one contact

Inferred read-only
updateSupplierContact

Partial update Transitioning `emailStatus` to `BOUNCED` auto-stamps `bouncedAt` when the row didn't already have one.

Potential side effects
deleteSupplierContact

Delete a contact (except bounced ones — retention rule) Contacts with `emailStatus = BOUNCED` cannot be deleted; they stay searchable so a future session doesn't re-mail a dead inbox.

Potential side effects
listSupplierCertifications

List certifications for a supplier Returns all certifications on file for the supplier, ordered by expiry ascending (soonest expiring first).

Inferred read-only
createSupplierCertification

Add a certification to a supplier Records a certification (e.g.

Inferred read-only
getSupplierCertification

Get one certification

Inferred read-only
updateSupplierCertification

Update a certification (partial) Partial update — every field is optional.

Potential side effects
deleteSupplierCertification

Delete a certification Permanently deletes the certification record.

Potential side effects
listExpiringCertifications

Global feed of certifications expired or expiring within N days Cross-supplier sweep.

Inferred read-only
recordQuotation

Record a quotation (standalone or RFQ-scoped) Creates a quotation with its line items and typed attributes in one call.

Inferred read-only
getPriceHistory

Cross-supplier price history for a product Returns line items whose parent quotations match the filters.

Inferred read-only
listBenchmarks

List market-price benchmarks External market observations, filtered by product and observation date.

Inferred read-only
recordBenchmark

Record one market benchmark

Inferred read-only
importKnowledgeBase

Bulk import of suppliers, contacts, certs, quotations, benchmarks Idempotent bundle import.

Inferred read-only
listTags

List tags Returns all tags ordered alphabetically.

Inferred read-only
createTag

Create a new tag Creates a tag with a unique name.

Potential side effects
getDashboardStats

Get aggregated dashboard statistics Returns platform-wide statistics including active projects, subscriber counts, file totals, Payment Tracker financials, and Backlog Tracker metrics.

Potential side effects
listProjects

List all projects Returns all customer-facing projects.

Inferred read-only
createProject

Create a new project Creates a customer-facing project for tracking shipments and updates.

Potential side effects
getProject

Get a project by ID or slug Retrieves a single project by its ID or slug.

Inferred read-only
subscribeToProject

Subscribe to project updates Subscribes an email address to receive notifications when the project is updated.

Potential side effects
unsubscribeFromProject

Unsubscribe from project updates Removes an email address from the project's notification list.

Potential side effects
createProjectUpdate

Post an update to a project Creates a new timeline update for a project.

Potential side effects
submitContactForm

Submit a contact form Forwards a contact form submission to the backend service.

Inferred read-only
submitLead

Submit a lead from the website Forwards a lead submission to the backend `POST /api/lead` endpoint.

Potential side effects
submitPublicRfq

Submit an RFQ from the public website Accepts a multipart form data RFQ submission from the customer-facing website and forwards it to the backend.

Inferred read-only
getUploadApiStatus

Check upload API health Returns the status of the upload proxy and whether required environment variables (`BACKEND_URL`, `API_SECRET_KEY`) are configured.

Potential side effects
uploadFile

Upload a file Proxies a file upload to the backend service.

Potential side effects
listFiles

List uploaded files Proxies to the backend `GET /api/files/files` endpoint.

Inferred read-only
deleteFile

Delete a file by key Deletes a file from MinIO storage via the backend proxy.

Potential side effects
getCurrentUser

Get the current authenticated user Returns the currently authenticated user based on the `Cf-Access-Authenticated-User-Email` header set by Cloudflare Access.

Potential side effects
syncUser

Sync or create user from Cloudflare Access Creates a new user record if one does not exist for the authenticated Cloudflare Access email, or updates the existing record if the name has changed.

Potential side effects
createUser

Create a new user account Creates a new user.

Potential side effects
setPassword

Set user password via token Sets the password for a user account using a JWT token received via email.

Potential side effects
sendChatMessage

Send a message to the AI chatbot Sends a conversation to the Gemini 2.0 Flash model with a system prompt tailored to Arabian Trade Route.

Potential side effects
submitChatbotLead

Submit a lead captured by the chatbot Submits lead information collected during a chatbot conversation.

Inferred read-only
generateDocumentPdf

Generate a PDF document Generates a PDF product catalog or proposal from structured document data.

Inferred read-only
previewDocument

Generate HTML preview of a document Returns an HTML rendering of the document for web-based preview.

Inferred read-only
previewDocumentMobile

Generate mobile-optimized HTML preview Returns a mobile-optimized HTML rendering of the document.

Inferred read-only
getDocumentTemplate

Get default document template Returns the default template structure and company information that the document editor UI uses as a starting point.

Inferred read-only
validateDocument

Validate document data structure Validates the structure of document data before generating a PDF or preview.

Inferred read-only
healthCheck

Application health check Returns the health status of the Next.js frontend service.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.atr-mcp-api]
url = "https://mcp.arabiantraderoute.com/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "atr-mcp-api": {
      "type": "http",
      "url": "https://mcp.arabiantraderoute.com/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: atr-mcp-api
Remote MCP URL: https://mcp.arabiantraderoute.com/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "atr-mcp-api": {
      "url": "https://mcp.arabiantraderoute.com/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "atr-mcp-api": {
      "type": "http",
      "url": "https://mcp.arabiantraderoute.com/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "atr-mcp-api",
  "transport": "streamable-http",
  "url": "https://mcp.arabiantraderoute.com/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.