MCP App Store
by KeenEthics
Business & Operations
inSitu Sales icon

inSitu Sales

by InSitu Sales

Overview

inSitu Sales helps manufacturers, wholesalers, and distributors find customers and products; review pricing, inventory, visits, orders, estimates, and invoices; generate customer statements; predict order recommendations; and create or update sales records through ChatGPT. It connects with ERP and accounting systems—including QuickBooks Enterprise, QuickBooks Online, Odoo, NetSuite, SAP Business One, Xero, Microsoft Dynamics 365 Business Central, and more—bringing sales and operational data together in one connected workflow.

Tools

graphql_mutation_createOrUpdateCustomer

ChatGPT
MUTATION createOrUpdateCustomer(id: Float, version: Int, address: String, branch_code: String, locked: String, branch_name: String, company_name: String, cash_discount: Float, cellphone: String, city: String, code: String, company_id: Int, contact1: String, contact1email: String, contact1phone: String, contact2: String, contact2email: String, contact2phone: String, country: String, credit_limit: Float, balance: Float, customer_type: String, foreign_name: String, ein: String, disabled: Int, downloaded_dw: String, email: String, fax: String, latitude: String, longitude: String, is_collectable: Int, is_lead: Int, mobile_user_id: Float, mobile_user_login: String, name: String, nit: String, payform_code: String, payform_name: String, payterm_code: String, payterm_name: String, pending: Int, phone1: String, phone2: String, remark: String, ship_address: String, ship_address_city: String, ship_address_country: String, ship_address_state: String, state: String, trade_discount: Float, zone_code: String, zone_name: String, f1: String, f2: String, f3: String, f4: String, f5: String, f6: String, f7: String, f8: String, f9: String, f10: String, f11: String, f12: String, f13: String, f14: String, f15: String, f16: String, f17: String, f18: String, f19: String, f20: String, f21: String, f22: String, f23: String, f24: String, f25: String, f26: String, f27: String, f28: String, f29: String, f30: String, f31: String, f32: String, f33: String, f34: String, f35: String, f36: String, f37: String, f38: String, f39: String, f40: String, f41: String, f42: String, f43: String, f44: String, f45: String, f46: String, f47: String, f48: String, f49: String, f50: String, cnf_tax_id: Float, zipcode: String, trn_class_name: String, trn_class_code: String, sales_tax_id: String, last_updated_time: Date, date_created: Date, address2: String, address3: String, address4: String, tax_code_id: Float, plain_name: String, contact1last: String, contact2last: String, ship_address2: String, ship_address3: String, ship_address4: String, integration_status: String, ship_address_zipcode: String, channel_code: String, channel_name: String, group_code: String, group_name: String, region_code: String, region_name: String, boureau: String, city_code: String, state_code: String, country_code: String, county: String, certificate_of_resale: String, stage: String, require_order_approval: Int, order_approval_limit: Float, ship_address_zone: String, sector: String, neighborhood: String, delivery_day: String, delivery_time: String, visit_day: String, visit_week: String, subchannel_code: String, subchannel_name: String, url_photo1: String, url_photo2: String, url_photo3: String, industry_type_name: String, ship_address_zone_name: String, beer_permit: String, liquor_permit: String, ship_address_neighborhood: String, tobacco_permit: String, tobacco_permit_exp: Date, seller_permit: String, lead_status: String, conversion_date: Date, state_id: Int, city_id: Int, country_id: Int, default_shipping_method_code: String, default_shipping_method_name: String, external_number: String, external_number2: String, credit_hold: Int, force_show_price: Int, shipping_fee_product_name: String, contact_suffix: String, default_driver_id: Int, EDI_enabled: Int, appointments: [appointmentsInput], shipping_address: [shipping_addressInput], tax: cnf_taxesInput, tax_code: cnf_tax_codeInput, price_list: [clients_product_prices_listInput], initial_balance: client_balanceInput, mobile_users: [clients_mobile_usersInput], file: Upload, files: [Upload], badgeFile: Upload, web_profile_id: Int, where: customerInput, customer: customerInput) -> customer. Create a new customer or update an existing customer in the authenticated company. Use this tool when the user asks to create, add, register, edit, or update a customer. For an update, provide the existing customer id. Provide branch_code and branch_name when creating a customer. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and…

graphql_mutation_createOrUpdateEstimate

ChatGPT
MUTATION createOrUpdateEstimate(estimate: estimateInput!) -> estimate. Create a new estimate or update an existing estimate in the authenticated company. Use this tool when the user asks to create, submit, place, or update an estimate. For an update, provide the existing estimate_number or external_number so the workflow can match the estimate. Provide the complete estimate header and a non-empty estimateDetailList. Use the catalog and pricing tools first when product or price data is needed. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_mutation_createOrUpdateInvoice

ChatGPT
MUTATION createOrUpdateInvoice(invoice: invoiceInput!) -> invoice. Create a new invoice or update an existing invoice in the authenticated company. Use this tool when the user asks to create, submit, place, or update an invoice. For an update, provide the existing invoice_number or external_number so the workflow can match the invoice. Provide the complete invoice header and a non-empty invoiceDetailList. Use the catalog and pricing tools first when product or price data is needed. Put item-level descriptions, notes, or instructions in invoiceDetailList[i].invoice_detail_remark on the matching item; keep product_name as the catalog product name. Put invoice-wide notes or descriptions in invoice.remark at the header level. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them. Resolve the shipping address silently. Never ask the user for it, and never ask the user to confirm, re-confirm, approve, verify, correct, or choose between addresses. Do not echo the address back and wait for a reply, do not present address options, and do not pause placement over the destination. Resolve it in this order and use the first complete result: (1) a full address the user already gave in the current request; (2) the customer shipping address on file, obtained by querying the customer with getOneCustomer or getAllCustomer for the primary shipping fields (ship_address, ship_address2, ship_address3, ship_address4, ship_address_city, ship_address_state, ship_address_zipcode, ship_address_country) plus shipping_address { id shipment_address_name enabled disabled is_default ship_address ship_address_line2 ship_address_line3 ship_address_line4 ship_city ship_state ship_zipcode ship_country }, preferring an enabled is_default entry, then any other complete enabled entry, then the primary shipping fields; (3) the customer mailing address (address, address2, address3, city, state, zipcode, country). Taking the destination from the customer record is the expected behavior and needs no approval. Copy the result into client_ship_address, ship_address_city, ship_address_state, zipcode, and ship_address_country; use client_ship_address2 through client_ship_address4 for additional lines. Do not invent, geocode, or submit a city-only or otherwise incomplete destination. The only case in which you may ask the user about the destination is when every source above is incomplete; otherwise place the transaction and just state which address was used in your summary afterward. For an update, keep the existing complete shipping address unless the user asks to change it; if it is incomplete, resolve it the same way without asking. invoice_balance is MCP-managed and never user-writable. For a new invoice it is automatically set to invoice_netvalue. For an update identified by an existing invoice id, invoice_balance is omitted so the persisted payment-adjusted balance is preserved. Do not ask the user for a balance or attempt to supply or change invoice_balance.

graphql_mutation_createOrUpdateOrder

ChatGPT
MUTATION createOrUpdateOrder(order: orderInput!) -> order. Create a new sales order or update an existing sales order in the authenticated company. Use this tool when the user asks to create, submit, place, or update an order. For an update, provide the existing order_number or external_number so the workflow can match the order. Provide the complete order header and a non-empty orderDetailList. Use the catalog and pricing tools first when product or price data is needed. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them. Resolve the shipping address silently. Never ask the user for it, and never ask the user to confirm, re-confirm, approve, verify, correct, or choose between addresses. Do not echo the address back and wait for a reply, do not present address options, and do not pause placement over the destination. Resolve it in this order and use the first complete result: (1) a full address the user already gave in the current request; (2) the customer shipping address on file, obtained by querying the customer with getOneCustomer or getAllCustomer for the primary shipping fields (ship_address, ship_address2, ship_address3, ship_address4, ship_address_city, ship_address_state, ship_address_zipcode, ship_address_country) plus shipping_address { id shipment_address_name enabled disabled is_default ship_address ship_address_line2 ship_address_line3 ship_address_line4 ship_city ship_state ship_zipcode ship_country }, preferring an enabled is_default entry, then any other complete enabled entry, then the primary shipping fields; (3) the customer mailing address (address, address2, address3, city, state, zipcode, country). Taking the destination from the customer record is the expected behavior and needs no approval. Copy the result into client_ship_address, ship_address_city, ship_address_state, zipcode, and ship_address_country; use client_ship_address2 through client_ship_address4 for additional lines. Do not invent, geocode, or submit a city-only or otherwise incomplete destination. The only case in which you may ask the user about the destination is when every source above is incomplete; otherwise place the transaction and just state which address was used in your summary afterward. For an update, keep the existing complete shipping address unless the user asks to change it; if it is incomplete, resolve it the same way without asking.

graphql_mutation_createOrUpdatePurchaseOrder

ChatGPT
MUTATION createOrUpdatePurchaseOrder(purchase_order: PurchaseOrderInput!) -> PurchaseOrder. Create or update a vendor purchase order in the authenticated company. Omit purchase_order.id for creation; provide the existing ID for updates. Creation requires doc_number, vendor_code, doc_date, due_date, total_amount, and at least one line with product_id, quantity, price, and amount. Update only supplied fields. Lines with an ID are patched; lines without an ID are added; omitted lines are preserved. When changing quantity or price, provide the resulting line amount. Adding lines or changing quantities, prices, or amounts also requires total_amount. Use authoritative vendor purchase prices and totals; customer sales pricing does not apply. Company, parent IDs, timestamps, versions, received quantities, and accounting integration IDs are server-managed. This saves the purchase order in inSitu; it does not receive inventory or submit it to an accounting provider. To include line items, set _selection to "{ id doc_number vendor_code vendor_name doc_date due_date total_amount status lines { id product_id product_code product_name quantity received_quantity price amount is_manually_closed } }". Provide arguments at the top level. Use _selection to control returned fields. This tool handles vendor purchase orders (POs) only. Use it only when the user explicitly asks for purchase orders, POs, or orders placed with vendors or suppliers. When the user says "order" or "orders" without that qualification, they mean sales orders: use the getOneOrder, getAllOrder, or createOrUpdateOrder tools instead. Purchase-order dates are calendar dates (YYYY-MM-DD), not UTC timestamps; use the date the user means without converting time zones.

graphql_query_generateCustomerStatementPDF

ChatGPT
QUERY generateCustomerStatementPDF(client_id: Float!, fromDate: String, toDate: String) -> CustomerStatementPDF. Generate the existing customer statement PDF for a customer in the authenticated company. The PDF is returned as base64. fromDate and toDate use YYYY-MM-DD; when omitted, they default to the first day of the current month and today. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllCompany

ChatGPT
QUERY getAllCompany(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: companyInput) -> [company]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllCustomer

ChatGPT
QUERY getAllCustomer(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: customerInput) -> [customer]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllEstimate

ChatGPT
QUERY getAllEstimate(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: estimateInput) -> [estimate]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllInvoice

ChatGPT
QUERY getAllInvoice(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: invoiceInput) -> [invoice]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllMobileUser

ChatGPT
QUERY getAllMobileUser(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: mobile_userInput) -> [mobile_user]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllOrder

ChatGPT
QUERY getAllOrder(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: orderInput) -> [order]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllProduct

ChatGPT
QUERY getAllProduct(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: productInput) -> [product]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllPurchaseOrder

ChatGPT
QUERY getAllPurchaseOrder(where: PurchaseOrderFilterInput, searchParam: String, fromDate: String, toDate: String, limit: Int, offset: Int, order: PurchaseOrderSort) -> [PurchaseOrder]. List vendor purchase orders in the authenticated company, including open, received, and closed orders. Filters are exact matches; searchParam searches document number, vendor name, and accounting account name. fromDate/toDate are inclusive document dates in YYYY-MM-DD format. Pagination defaults to 100 records and allows at most 500; increase offset to read subsequent pages until a page has fewer than limit records. To include line items, set _selection to "{ id doc_number vendor_code vendor_name doc_date due_date total_amount status lines { id product_id product_code product_name quantity received_quantity price amount is_manually_closed } }". Provide arguments at the top level. Use _selection to control returned fields. This tool handles vendor purchase orders (POs) only. Use it only when the user explicitly asks for purchase orders, POs, or orders placed with vendors or suppliers. When the user says "order" or "orders" without that qualification, they mean sales orders: use the getOneOrder, getAllOrder, or createOrUpdateOrder tools instead. Purchase-order dates are calendar dates (YYYY-MM-DD), not UTC timestamps; use the date the user means without converting time zones.

graphql_query_getAllVisit

ChatGPT
QUERY getAllVisit(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: visitInput) -> [visit]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getAllWarehouse

ChatGPT
QUERY getAllWarehouse(searchParam: String, order: String, all: String, show_disabled: String, last_updated_time: String, includeAll: String, include: String, id: Float, product_id: Float, entity_id: Float, set_coordinates: Float, is_not_in_stop: String, fromDate: String, toDate: String, fromShippingDate: String, toShippingDate: String, show_variants: String, type_note: String, show_hidden: String, code_or_name: String, fromStartDate: String, toEndDate: String, where: warehouseInput) -> [warehouse]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getFormSubmissions

ChatGPT
QUERY getFormSubmissions(fromDate: String, toDate: String, offset: Int, limit: Int) -> [McpFormSubmission]. Get forms submitted by sales reps. Returns submissions across multiple customers, including the customer and rep-related identifiers, form information, and each submitted question and answer. Use fromDate and toDate to retrieve a specific UTC period. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getInventoryDetail

ChatGPT
QUERY getInventoryDetail(product_id: Int, shouldUseCache: Boolean) -> [InventoryDetail]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneCompany

ChatGPT
QUERY getOneCompany(id: Float, where: companyInput) -> company. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneCustomer

ChatGPT
QUERY getOneCustomer(id: Float, where: customerInput) -> customer. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneEstimate

ChatGPT
QUERY getOneEstimate(id: Float, where: estimateInput) -> estimate. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneInvoice

ChatGPT
QUERY getOneInvoice(id: Float, where: invoiceInput) -> invoice. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneMobileUser

ChatGPT
QUERY getOneMobileUser(id: Float, where: mobile_userInput) -> mobile_user. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneOrder

ChatGPT
QUERY getOneOrder(id: Float, where: orderInput) -> order. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneProduct

ChatGPT
QUERY getOneProduct(id: Float, where: productInput) -> product. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOnePurchaseOrder

ChatGPT
QUERY getOnePurchaseOrder(id: Float!) -> PurchaseOrder. Get a vendor purchase order by ID in the authenticated company. Returns null when not found. To include line items, set _selection to "{ id doc_number vendor_code vendor_name doc_date due_date total_amount status lines { id product_id product_code product_name quantity received_quantity price amount is_manually_closed } }". Provide arguments at the top level. Use _selection to control returned fields. This tool handles vendor purchase orders (POs) only. Use it only when the user explicitly asks for purchase orders, POs, or orders placed with vendors or suppliers. When the user says "order" or "orders" without that qualification, they mean sales orders: use the getOneOrder, getAllOrder, or createOrUpdateOrder tools instead. Purchase-order dates are calendar dates (YYYY-MM-DD), not UTC timestamps; use the date the user means without converting time zones.

graphql_query_getOneVisit

ChatGPT
QUERY getOneVisit(id: Float, where: visitInput) -> visit. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getOneWarehouse

ChatGPT
QUERY getOneWarehouse(id: Float, where: warehouseInput) -> warehouse. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getPricedProductCatalog

ChatGPT
QUERY getPricedProductCatalog(client_id: Float, price_list_id: Float, include_pricing: Boolean, search: String, category: String, subcategory: String, subcategory2: String, brand: String, offset: Int, limit: Int) -> [PricedProductCatalogItem]. Build a product catalog for MCP users. The catalog excludes disabled products, hidden products, and hidden categories. Provide client_id for customer-specific product assignment. Set include_pricing to true only when prices are needed; customer pricing can take some time while the system generates the catalog. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getPricing

ChatGPT
QUERY getPricing(product_id: Int, client_id: Int) -> Pricing. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getProductInventory

ChatGPT
QUERY getProductInventory(product_id: Int!, warehouse_id: Int, bin_location_id: Int, lot_number: String) -> [WarehouseInventory]. Get inventory information for a product + warehouse combination Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_getProductInventoryForWarehouse

ChatGPT
QUERY getProductInventoryForWarehouse(warehouse_id: Int, products: [Int]) -> [warehouse_stock]. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_nextEstimate

ChatGPT
QUERY nextEstimate(client_id: Float!) -> NextOrder. Predict the customer next estimate and return product recommendations, including suggested quantities, confidence, daily consumption, coverage days, and next recommended estimate date. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_nextInvoice

ChatGPT
QUERY nextInvoice(client_id: Float!) -> NextOrder. Predict the customer next invoice and return product recommendations, including suggested quantities, confidence, daily consumption, coverage days, and next recommended invoice date. If the user asks only for sales, clarify whether they mean sales orders or invoices before choosing this tool. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

graphql_query_nextOrder

ChatGPT
QUERY nextOrder(client_id: Float!) -> NextOrder. Use this read-only tool when the user asks for an order recommendation, next order, reorder recommendation, suggested order, or which products and quantities a customer should order next. It returns the same AI recommendation used by /ai/nextOrder, including suggested quantities, confidence, daily consumption, coverage days, and the next recommended order date. When enabled for the company, products also includes purchases from the past three months that are absent from the prediction; those lines use average quantity per transaction, low confidence, and N/A for prediction-only fields. First resolve the customer with getAllCustomer and pass its numeric client_id. Product lines are not included by the default selection: set _selection to "{ client_id name next_order_date products { product_id product_name suggested_quantity confidence daily_consumption typical_coverage_days next_order_date } }". This tool does not create or place an order; use createOrUpdateOrder only after the user explicitly confirms the complete item and quantity preview. If the user asks only for sales, clarify whether they mean sales orders or invoices before choosing this tool. Provide arguments at the top level. Use _selection to control returned fields. Dates and times in this MCP are UTC. For user-local periods such as today, convert the user's local start and end times to UTC before sending arguments. Always convert returned date/time values from UTC back to the user's local time before showing them.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

35

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily