eCommerce
arabiantraderoute.com
Manages Request for Quotation (RFQ) records including listing, creating, retrieving, updating, and importing from a legacy backend.
ENDPOINT 1
https://mcp.arabiantraderoute.com/mcp
MCP server metadata
- Name
- atr-mcp-api
- Version
- 0.1.0
Known tools 154
listRFQsList 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-onlyimportLegacyRFQsImport RFQs from legacy backend Fetches RFQs from the legacy Express backend and imports them into the PostgreSQL database.
Inferred read-onlygetRFQGet 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-onlydeleteRFQDelete an RFQ Permanently deletes an RFQ and all related data (comments, attachments, suppliers, quotations, shipments, payments) via cascading deletes.
Potential side effectsupdateRFQPriorityUpdate RFQ priority Updates only the priority field of an RFQ.
Potential side effectslistRFQSuppliers[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 effectsaddSupplierToRFQ[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/suppliers] Add a supplier to an RFQ Creates an RFQ-Supplier relationship.
Potential side effectsremoveSupplierFromRFQByQuery[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 effectsupdateRFQSupplier[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 effectslistQuotations[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 effectscreateQuotation[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 effectsgetQuotation[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 effectsupdateQuotation[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/quotations/{quotationId}] Update a quotation Updates a quotation and replaces all its line items.
Potential side effectsdeleteQuotation[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 effectslistRFQComments[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 effectscreateRFQComment[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 effectsupdateRFQComment[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments/{commentId}] Update a comment Updates the content of an existing comment.
Potential side effectsdeleteRFQComment[DEPRECATED — use /api/internal/payment-tracker/projects/{projectId}/comments/{commentId}] Delete a comment Permanently deletes a comment from an RFQ.
Potential side effectslistRFQAttachmentsList attachments for an RFQ Retrieves all file attachments for an RFQ.
Inferred read-onlyuploadRFQAttachmentUpload an attachment to an RFQ Uploads a file to MinIO storage via the backend API and stores the metadata in the database.
Potential side effectsdeleteRFQAttachmentDelete an attachment Deletes a file attachment from both the filesystem/storage and the database.
Potential side effectsupdateAttachmentTagsReplace tags on an attachment Replaces all tags on an attachment.
Inferred read-onlylistRFQPaymentsList payments for an RFQ Retrieves all payment records for an RFQ, including a count of attachments for each payment.
Potential side effectscreateRFQPaymentCreate a payment record for an RFQ Creates a new payment record for an RFQ.
Potential side effectsdeleteRFQPaymentDelete a payment record Permanently deletes a payment record and all its associated attachments via cascading deletes.
Potential side effectslistPaymentAttachmentsList attachments for a payment Retrieves all file attachments associated with a specific payment.
Potential side effectsuploadPaymentAttachmentUpload an attachment to a payment Uploads a file to MinIO storage via the backend API and creates a PaymentAttachment record.
Potential side effectsdeletePaymentAttachmentDelete a payment attachment Deletes a payment attachment from both MinIO storage and the database.
Potential side effectslistRFQShipmentsList shipments for an RFQ Retrieves all shipment tracking records for an RFQ.
Inferred read-onlycreateRFQShipmentCreate a shipment tracking record Creates a new shipment tracking record for an RFQ.
Potential side effectsdeleteRFQShipmentDelete a shipment Permanently deletes a shipment tracking record.
Potential side effectslistInvoicesList all invoices Returns a paginated list of invoices with optional filters by type, status, client name, linked RFQ, and date range.
Inferred read-onlygetInvoiceGet a single invoice Returns the full invoice record including items, payments, and linked RFQ details.
Potential side effectsdownloadInvoicePdfGenerate and download invoice PDF Generates a PDF for the invoice using react-pdf and returns the binary content as a downloadable file.
Potential side effectsgenerateAndStoreInvoicePdfGenerate and store invoice PDF Generates the PDF and stores it (future: MinIO upload).
Potential side effectslistPTProjectInvoicesList invoices for a payment tracker project Returns all invoices associated with a payment tracker project, ordered by date descending.
Potential side effectscreatePTProjectInvoiceCreate an invoice for a payment tracker project Creates a new invoice linked to a payment tracker project.
Potential side effectsupdatePTProjectInvoiceUpdate a payment tracker project invoice Partially updates a payment tracker invoice.
Potential side effectsdeletePTProjectInvoiceDelete a payment tracker project invoice Deletes a payment tracker invoice and its items.
Potential side effectsgenerateClientInvoiceFromProjectGenerate 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 effectslistPTProjectsList 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 effectsgetPTProjectGet 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-onlydeletePTProjectDelete a project Permanently deletes a project and all related data via cascading deletes in the database.
Potential side effectslistProjectSuppliersList suppliers being considered for a project Suppliers approached for this project, each with the quotations they have submitted.
Inferred read-onlydetachProjectSupplierDetach a supplier from a project The supplier's quotations are kept and simply lose their link, so historical prices stay searchable.
Inferred read-onlylistProjectQuotationsList quotations on a project Every quotation with its supplier, line items and typed attributes.
Inferred read-onlycreateProjectQuotationRecord 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-onlyupdateProjectQuotationCorrect 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-onlysetProjectQuotationStatusAccept, 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-onlyupdateProjectCommentEdit your own comment Only the author may edit; anyone else receives 403.
Potential side effectslistPTLineItemsList line items for a project Returns all line items ordered by `itemNumber` ascending.
Inferred read-onlydeletePTLineItemDelete a line item Permanently removes a line item and logs `line_item_deleted`.
Potential side effectslistPTClientPaymentsList client payments for a project Returns all client payments ordered by `date` descending.
Inferred read-onlycreatePTClientPaymentRecord a client payment Records a payment received from the client.
Potential side effectsupdatePTClientPaymentUpdate a client payment Partially updates a client payment.
Potential side effectsdeletePTClientPaymentDelete a client payment Permanently removes a client payment.
Potential side effectslistPTSupplierPaymentsList supplier payments for a project Returns all supplier payments ordered by `date` descending.
Inferred read-onlycreatePTSupplierPaymentRecord a supplier payment Records a payment made to the supplier.
Potential side effectsupdatePTSupplierPaymentUpdate a supplier payment Partially updates a supplier payment.
Potential side effectsdeletePTSupplierPaymentDelete a supplier payment Permanently removes a supplier payment.
Potential side effectslistPTShipmentsList shipments for a project Returns all shipments ordered by `date` descending, each including its associated line item IDs.
Inferred read-onlycreatePTShipmentCreate a shipment Creates a shipment linking one or more line items.
Potential side effectsdeletePTShipmentDelete a shipment Deletes a shipment and reverts all associated line items back to `in_production` status.
Potential side effectsapplyPTCreditApply a credit to another project Marks a credit as `applied` and links it to a target project.
Inferred read-onlyrevokePTCreditRevoke a previously applied credit Resets `applied` to false and clears `appliedToProjectId`.
Inferred read-onlylistPTActivityGet activity log for a project Returns the full activity log ordered by `timestamp` descending.
Inferred read-onlyexportPTDataExport all payment tracker data Returns every record across all PT tables in a single JSON payload.
Potential side effectsimportPTDataImport payment tracker data from a backup Accepts the same structure produced by the export endpoint (with `version` and `data` keys).
Potential side effectscreatePTProjectFromRFQSeed a project's line items from its RFQ Fills in the line items an accepted quotation implies.
Inferred read-onlyuploadPTImageUpload a base64-encoded image to storage Accepts a data-URL-encoded image (e.g.
Potential side effectslistBacklogItemsList backlog items Returns all backlog items with optional filtering by status, priority, category, assignee, tags, and free-text search.
Inferred read-onlycreateBacklogItemCreate a new backlog item Creates a backlog item and logs an `item_created` activity entry inside a database transaction.
Potential side effectsgetBacklogItemGet 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-onlyupdateBacklogItemUpdate a backlog item Partially updates any fields on the item.
Potential side effectsdeleteBacklogItemDelete a backlog item Permanently removes the item and all associated comments and activity entries.
Potential side effectslistBacklogItemCommentsList comments for a backlog item Returns top-level comments (newest first) with nested replies (oldest first).
Inferred read-onlycreateBacklogItemCommentAdd a comment or reply to a backlog item Creates a comment on the item.
Inferred read-onlygetBacklogStatsGet 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-onlybulkUpdateBacklogItemsBulk update multiple backlog items Applies the same set of field updates to all specified items.
Potential side effectsreorderBacklogItemsReorder backlog items (drag-and-drop) Updates `sortOrder` (and optionally `status`) for a batch of items.
Potential side effectsgenerateCatalogPdfGenerate 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-onlyproxyCatalogImageProxy 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-onlysmartImportCatalogProductsAI-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-onlyfetchCatalogUrlFetch 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-onlyeditCatalogImageAI-powered image editing (inpainting) Performs mask-based image editing using DALL-E (OpenAI) or Gemini.
Inferred read-onlycleanupCatalogProductsAI-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-onlylistSuppliersList suppliers with optional filters Returns every supplier ordered alphabetically by name, with `_count` for rfqSuppliers, quotations, and certifications.
Inferred read-onlygetSupplierGet 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-onlyfindSupplierByAliasResolve 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-onlylistSupplierContactsList contacts for a supplier Ordered by `isDecisionMaker DESC, createdAt DESC` so the operational reader appears first.
Inferred read-onlycreateSupplierContactAdd 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-onlyupdateSupplierContactPartial update Transitioning `emailStatus` to `BOUNCED` auto-stamps `bouncedAt` when the row didn't already have one.
Potential side effectsdeleteSupplierContactDelete 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 effectslistSupplierCertificationsList certifications for a supplier Returns all certifications on file for the supplier, ordered by expiry ascending (soonest expiring first).
Inferred read-onlycreateSupplierCertificationAdd a certification to a supplier Records a certification (e.g.
Inferred read-onlyupdateSupplierCertificationUpdate a certification (partial) Partial update — every field is optional.
Potential side effectsdeleteSupplierCertificationDelete a certification Permanently deletes the certification record.
Potential side effectslistExpiringCertificationsGlobal feed of certifications expired or expiring within N days Cross-supplier sweep.
Inferred read-onlyrecordQuotationRecord a quotation (standalone or RFQ-scoped) Creates a quotation with its line items and typed attributes in one call.
Inferred read-onlygetPriceHistoryCross-supplier price history for a product Returns line items whose parent quotations match the filters.
Inferred read-onlylistBenchmarksList market-price benchmarks External market observations, filtered by product and observation date.
Inferred read-onlyimportKnowledgeBaseBulk import of suppliers, contacts, certs, quotations, benchmarks Idempotent bundle import.
Inferred read-onlygetDashboardStatsGet aggregated dashboard statistics Returns platform-wide statistics including active projects, subscriber counts, file totals, Payment Tracker financials, and Backlog Tracker metrics.
Potential side effectscreateProjectCreate a new project Creates a customer-facing project for tracking shipments and updates.
Potential side effectsgetProjectGet a project by ID or slug Retrieves a single project by its ID or slug.
Inferred read-onlysubscribeToProjectSubscribe to project updates Subscribes an email address to receive notifications when the project is updated.
Potential side effectsunsubscribeFromProjectUnsubscribe from project updates Removes an email address from the project's notification list.
Potential side effectscreateProjectUpdatePost an update to a project Creates a new timeline update for a project.
Potential side effectssubmitContactFormSubmit a contact form Forwards a contact form submission to the backend service.
Inferred read-onlysubmitLeadSubmit a lead from the website Forwards a lead submission to the backend `POST /api/lead` endpoint.
Potential side effectssubmitPublicRfqSubmit 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-onlygetUploadApiStatusCheck upload API health Returns the status of the upload proxy and whether required environment variables (`BACKEND_URL`, `API_SECRET_KEY`) are configured.
Potential side effectslistFilesList uploaded files Proxies to the backend `GET /api/files/files` endpoint.
Inferred read-onlydeleteFileDelete a file by key Deletes a file from MinIO storage via the backend proxy.
Potential side effectsgetCurrentUserGet the current authenticated user Returns the currently authenticated user based on the `Cf-Access-Authenticated-User-Email` header set by Cloudflare Access.
Potential side effectssyncUserSync 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 effectssetPasswordSet user password via token Sets the password for a user account using a JWT token received via email.
Potential side effectssendChatMessageSend 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 effectssubmitChatbotLeadSubmit a lead captured by the chatbot Submits lead information collected during a chatbot conversation.
Inferred read-onlygenerateDocumentPdfGenerate a PDF document Generates a PDF product catalog or proposal from structured document data.
Inferred read-onlypreviewDocumentGenerate HTML preview of a document Returns an HTML rendering of the document for web-based preview.
Inferred read-onlypreviewDocumentMobileGenerate mobile-optimized HTML preview Returns a mobile-optimized HTML rendering of the document.
Inferred read-onlygetDocumentTemplateGet default document template Returns the default template structure and company information that the document editor UI uses as a starting point.
Inferred read-onlyvalidateDocumentValidate document data structure Validates the structure of document data before generating a PDF or preview.
Inferred read-onlyhealthCheckApplication health check Returns the health status of the Next.js frontend service.
Inferred read-onlyCONNECT 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.
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.