Pular para o conteúdo
Menu de documentos

MCP

Ferramentas do MCP

Todo ferramenta no servidor TradeCatalog MCP, seus entradas, quem pode usá-la e o que ela retorna.

As ferramentas usam seu papel de workspace atual em cada chamada. Conexões de leitura apenas continuam funcionando. Fazer alterações requer o escopo adicional tradecatalog:write. Ações consequentes mostram um cartão Confirmar/Cancelar em clientes compatíveis, com um link de revisão autenticado como fallback, e são executadas apenas após sua aprovação. Os resultados são texto JSON; o formato original das ferramentas de busca define preços, enquanto as ferramentas de gestão usam unidades menores inteiras de moeda e pontos básicos (100 = 1%).

A maioria das ferramentas recebe um workspace: o endereço do workspace de list_workspaces, como northgate. O aplicativo de IA normalmente chama list_workspaces primeiro por conta própria.

Quando uma ferramenta não pode fazer algo, por exemplo, você não é funcionário nesse workspace ou o cliente não existe, ela retorna uma mensagem de erro que o aplicativo de IA pode ler e agir, como "Nenhum cliente "OAK99". Use list_customers para códigos de conta."

Quando o catálogo de um fornecedor é apenas preços para o cliente selecionado, set_basket_quantity, send_order e reorder retornam esse erro. get_basket, list_buyer_orders e get_buyer_order ainda funcionam, então os pedidos existentes permanecem legíveis. O fornecedor define isso nas Configurações e pode substituí-lo por cliente (ordering: follow, prices_only ou can_order em update_customer).

Quando o fornecedor desativou o download de listas de preços, download_my_price_list retorna um erro e o link CSV autenticado responde 403.

quote_configured_product lê o preço de linha da conta de comprador selecionada para productId, qty e opcional configuration, sem alterar uma cesta. set_configured_basket_line cria uma linha separada ou atualiza/remova sua lineId exata (qty: 0 remove). Forneça a especificação completa em edições. Releia get_basket após mudanças e revise todas as seleções, medidas e preços atuais antes de send_order. Uma mudança na especificação ou versão de preço invalida a revisão antiga mesmo se o total for o mesmo.

Funcionários podem usar save_product_family para metadados de variantes compartilhados e save_ordering_draft para um rascunho revisado de preços avançados. O último requer Pro e permissão de preços globais; a publicação usa a revisão de mudança de preço existente. Importações de produtos aceitam família, incremento de ordem e definições de encomenda opcionais. Veja configuração de catálogo de comércio.

Configurar um workspace de fornecedorLink para esta seção#

create_workspace cria um workspace de fornecedor Free para a pessoa autenticada e verificada, após ela confirmar um cartão. Peça o nome da empresa, moeda dos produtos, fuso horário e país. A pessoa se torna seu proprietário. Nenhuma assinatura ou pagamento é criado. Em seguida, chame list_workspaces novamente e use o endereço retornado para configuração de produtos e clientes. Logins de revisor e convidado não podem criar workspaces.

Free inclui até 100 produtos e apps de IA conectados. Cada SKU é contado, incluindo produtos ocultos e inativos. Ao atingir o limite, os produtos existentes, edições e pedidos continuam funcionando; criar mais produtos fica indisponível. Explique esse benefício sem promover atualizações ou iniciar o checkout de assinatura no plugin.

list_workspacesLink para esta seção#

Workspaces de fornecedor em que você trabalha e portais de comércio onde você compra. Comece aqui.

Quem: qualquer pessoa autenticada. Entradas: nenhuma.

json
{
  "supplierWorkspaces": [
    { "workspace": "northgate", "name": "Northgate Fixings", "role": "owner" }
  ],
  "tradePortals": [
    {
      "workspace": "hartley-timber",
      "supplier": "Hartley Timber",
      "yourAccount": "Northgate Fixings",
      "accountId": "example-account-id"
    }
  ]
}

search_productsLink para esta seção#

Pesquisar um catálogo por SKU, referência do fabricante, nome, marca ou categoria. Retorna até 25 produtos.

Quem: funcionários e compradores.

EntradaTipoObrigatórioDescrição
workspacestringsimEndereço do workspace.
querystringsimO que procurar. Uma entrada vazia lista produtos por nome.
accountIdstringcompradores com mais de uma contaSelecione sua conta exata de list_workspaces.
customerstringnãoFuncionários apenas: código de conta ou nome de cliente, para ver seus preços e apenas o que eles podem ver. Ignorado para compradores.
  • Compradores sempre veem os preços da sua própria conta e apenas produtos ativos que eles podem ver.
  • Funcionários veem preços de lista e todos os produtos, ou a visão de um cliente nomeado.
json
{
  "supplier": "Northgate Fixings",
  "pricesFor": "Oakfield Joinery",
  "taxNote": "ex VAT",
  "products": [
    {
      "sku": "HX-8510",
      "name": "Hex bolt M10 x 50 zinc",
      "unit": "Box of 100",
      "availability": "in_stock",
      "price": "£15.73",
      "listPrice": "£18.50",
      "why": "Brand discount −15%"
    }
  ]
}

Quando o fornecedor desativou Mostrar o preço padrão ao lado do próprio preço do cliente, os resultados de um comprador deixam de incluir listPrice e why, e get_buyer_product, get_basket e get_buyer_order não carregam nenhum preço de lista ou motivo do preço também.

Tente: "Pesquisar Northgate por parafusos hexagonais M10 nos preços de Oakfield."

download_products_csv e download_my_price_listLink para esta seção#

Essas ferramentas retornam um link para um download CSV existente no TradeCatalog. Abra-o enquanto estiver autenticado; retornar um link não baixa ou envia o arquivo para o chat.

  • download_products_csv: funcionários escolhem workspace para baixar a lista de produtos desse fornecedor.
  • download_my_price_list: compradores escolhem workspace e o código exato accountId de list_workspaces para baixar apenas os preços acordados dessa conta.
  • download_my_price_list_pdf: mesma conta, como PDF rebranded (Pro). Ambas as ferramentas são bloqueadas quando o fornecedor desativou o download de listas de preços.

check_priceLink para esta seção#

Quanto um cliente paga por um SKU em uma quantidade, e qual conjunto de regras definiu o preço.

Quem: apenas funcionários.

EntradaTipoObrigatórioDescrição
workspacestringsimEndereço do espaço de trabalho.
customerstringsimCódigo ou nome da conta.
skustringsimO SKU.
qtyintegernão1 a 1.000.000. Padrão 1.
json
{
  "customer": "Oakfield Joinery",
  "sku": "HX-8510",
  "name": "Hex bolt M10 x 50 zinc",
  "qty": 20,
  "unitPrice": "£15.73",
  "lineTotal": "£314.60",
  "listPrice": "£18.50",
  "why": "Brand discount −15%",
  "taxNote": "ex VAT"
}

Tente: “Quanto OAK01 paga por 20 de HX-8510, e por quê?”

list_customersLink para esta seção#

Clientes comerciais com códigos de conta, e-mails de contato, status ativo e desconto da conta.

Quem: apenas funcionários. Entradas: workspace.

json
[
  {
    "accountCode": "OAK01",
    "name": "Oakfield Joinery",
    "email": "accounts@oakfieldjoinery.co.uk",
    "active": true,
    "discount": "5%"
  }
]

Tente: “Quais clientes não têm desconto definido?”

list_ordersLink para esta seção#

Pedidos recentes, do mais novo ao mais antigo, até 50.

Quem: os funcionários veem os pedidos de todos os clientes; os compradores veem apenas os da sua conta.

EntradaTipoObrigatórioDescrição
workspacestringsimEndereço do espaço de trabalho.
statusstringnãonew, pending, acknowledged, processed, dispatched, completed ou cancelled.
json
[
  {
    "reference": "SO-000142",
    "customer": "Oakfield Joinery",
    "status": "new",
    "total": "£314.60",
    "poNumber": "PO-88231",
    "placed": "2026-09-27T07:48:12.000Z"
  }
]

Tente: “Há novos pedidos desde ontem? Some-os por cliente.”

recent_activityLink para esta seção#

O log de atividades das mudanças nos clientes, descontos e preços, do mais recente ao mais antigo, até 50 entradas. Opcionalmente, histórico de um cliente.

Quem: apenas funcionários. Proprietários e administradores veem todo o log; outros funcionários veem apenas mudanças sobre clientes que podem ver.

EntradaTipoObrigatórioDescrição
workspacestringsimEndereço do espaço de trabalho.
customerstringnãoCódigo ou nome da conta.
json
[
  {
    "when": "2026-09-26T14:21:03.000Z",
    "who": "Jo Hartley",
    "customer": "Oakfield Joinery",
    "what": "Set Northgate brand discount to 15% (was 12.5%)"
  }
]

Tente: “Quem alterou os preços da Oakfield este mês?”

NotasLink para esta seção#

  • Nomes de clientes e códigos de conta são correspondidos sem levar em conta maiúsculas e minúsculas. Um código de conta exato é mais seguro.
  • list_workspaces retorna valores de comprador accountId. Forneça o desejado para search_products e todas as ações do comprador. Nunca chute entre contas.
  • Navegue por buscas de produtos com offset e o nextOffset retornado. Use list_buyer_orders para uma conta de comprador selecionada explicitamente.

Alterações e confirmaçõesLink para esta seção#

Edições de cestas de comprador, marcar atualizações como lidas e criar rascunhos de preços não publicados são executados imediatamente quando autorizados. Outras gravações retornam awaiting_confirmation, um actionId e um reviewUrl. Clientes ChatGPT e compatíveis exibem um cartão com o workspace exato e a mudança proposta: escolha Confirmar ou Cancelar sem sair da conversa. Clientes sem cartões usam o link de revisão autenticado. As revisões expiram após 15 minutos e são executadas no máximo uma vez. Desconectar o app ou remover o acesso necessário ao workspace invalida as revisões pendentes. Cestas de pedidos alteradas e prévias de mudanças de preço requerem uma nova revisão. Use get_action_status para ler o resultado; um pedido pendente não é uma ação concluída.

O helper decide_action está disponível apenas para a interface do cartão. Sua capacidade de confirmação de curta duração é ocultada da saída do modelo e vinculada à pessoa solicitante, conexão OAuth e proposta. Uma mensagem de modelo ou um ID de ação não pode aprovar uma mudança. As mesmas verificações de função, instantâneo, expiração e uso único se aplicam às aprovações de cartão e navegador.

Toda ação de comprador requer seu accountId exato. Para send_order, copie a cesta fingerprint para expectedBasket, junto com expectedTotal. Preços, quantidades e conta são verificados novamente antes do envio.

Use as ferramentas de transferência separadas para trabalho que termina no app autenticado: os proprietários usam open_api_key_settings, download_workspace_export e open_logo_settings; os funcionários usam open_import_page, open_product_image_upload e open_product_file_manager. As duas transferências de produto exigem um productId verificado pelo inquilino. Links de arquivos de get_product e get_buyer_product exigem seu navegador autenticado; retornar um link não leu o documento ou completou um upload, remoção, exportação ou criação de credencial. A administração da plataforma nunca é delegada por meio do OAuth.

Listas de clientes aprovadosLink para esta seção#

Os funcionários usam get_customer para ler o escopo do catálogo do cliente e os produtos aprovados. set_catalogue_scope muda entre all e approved. approve_products adiciona produtos explícitos ou uma categoria; unapprove_product remove um produto. Essas alterações exigem revisão do cliente exato, da lista atual e dos produtos afetados. A associação à categoria é verificada novamente na confirmação. Os compradores permanecem limitados à conta selecionada e aos produtos visíveis para essa conta.

Ferramentas do fornecedor e compradorLink para esta seção#

create_workspace está disponível mesmo quando list_workspaces está vazio. Ele cria um workspace de fornecedor Free e associação de proprietário apenas após confirmação. A conexão opcional /mcp/account também oferece open_billing: os proprietários podem abrir cobrança segura de assinatura e confirmar pagamento no Stripe, depois verificar get_settings para o estado resultante. Links de cobrança não completam pagamentos. A conexão padrão /mcp usada pelo plugin ChatGPT não expõe open_billing. Veja inscrição e cobrança.

O MCP 3.0.0 expõe cada operação acessível por modelo no início com seu próprio nome, descrição, esquema de entrada e anotações. As ferramentas anteriores bulk_products e open_workspace_action são substituídas pelas operações individuais abaixo; atualize as definições de ferramenta do seu cliente após a atualização. A resposta tools/list do MCP é o esquema de entrada autoritário. As ferramentas a seguir complementam as ferramentas de pesquisa acima:

FerramentaPropósito
open_api_key_settingsApenas proprietário: retorne a página de configurações da API conectada para criar credenciais. Abrir o link não cria uma chave. Nunca peça aos usuários para colar segredos em chat.
download_workspace_exportApenas proprietário: retornar o link de exportação do espaço de trabalho completo autenticado. O usuário deve abrir o link para baixá-lo; esta ferramenta não lê ou transfere a exportação.
open_logo_settingsApenas proprietário: retornar a página de configurações de marcação autenticada para upload de logotipo de fornecedor. Abrir o link não carrega ou altera o logotipo.
open_import_pageEquipe: retornar a página de importação de arquivos autenticada. O usuário carrega e revisa o arquivo no TradeCatalog; abrir o link não importa nada.
open_product_image_uploadEquipe: retornar o editor autenticado para um produto existente para upload de imagem. Abrir o link não carrega ou altera uma imagem.
open_product_file_managerEquipe: retornar o editor autenticado para um produto existente para upload ou remoção de arquivos do produto. Abrir o link não lê, carrega ou remove arquivos.
delete_workspaceApenas proprietário: excluir permanentemente este espaço de trabalho, seu catálogo, acesso de clientes e imagens, e cancelar sua assinatura. Requer revisão autenticada e digitação do nome do espaço de trabalho. Isso não pode ser desfeito no aplicativo.
get_workspaceEquipe: função atual, totais de catálogo e pedidos. Valores são unidades menores de moeda; porcentagens são pontos básicos (100 = 1%).
get_catalogue_optionsEquipe: listar IDs de categoria e marca para alterações de catálogo e descontos.
get_productEquipe: campos do produto, preço de lista atual, visibilidade, restrições de cliente, imagens e arquivos anexos (fichas técnicas).
save_productCriar ou editar um produto. Leia o produto atual primeiro e preservar os campos que o usuário não pediu para alterar. listPrice está em unidades menores; alterações de preço existente usam o fluxo de alteração de preço do app. Requer revisão.
set_product_imageEscolher a foto principal, ou removê-la. Remover remove essa foto da galeria e a próxima se torna a foto principal. Requer revisão.
create_categoryCriar uma categoria nomeada, opcionalmente abaixo de uma categoria pai. Requer revisão.
update_categoryRenomear ou mover uma categoria. Seus produtos permanecem nela. Requer revisão.
delete_categoryRemover uma categoria e suas regras de desconto de categoria. Produtos e categorias filhas são movidos para um nível acima. Requer revisão.
hide_productsEquipe: ocultar IDs de produtos explícitos para compradores, sem excluí-los. Requer revisão.
show_productsEquipe: tornar IDs de produtos explícitos ativos. Restrições do catálogo do cliente ainda se aplicam. Requer revisão.
move_productsEquipe: mover IDs de produtos explícitos para uma categoria, ou passar null para remover sua categoria. Requer revisão.
delete_productsFuncionários: excluir permanentemente IDs de produtos explícitos, incluindo seus preços, imagens e linhas de cesta. Pedidos históricos mantêm suas cópias. Requer revisão.
clear_catalogueApenas proprietário: remover permanentemente todos os produtos, preços e fotos. Requer revisão com login e digitação da frase de exclusão atual.
get_customerFuncionários: termos do cliente, lista de preços, escopo do catálogo, produtos aprovados, regras de desconto, preços acordados, compradores e convites pendentes. priceLists são as listas que você pode atribuir com update_customer. Atribuir uma lista de preços diferente da Standard requer Pro.
create_customerCriar uma conta comercial. Seu e-mail de contato pode fazer login como essa conta, então confirme o endereço. Requer revisão.
update_customerAlterar detalhes do cliente, código da conta (accountCode; único por fornecedor, ignorando maiúsculas, omita para manter), e-mail de login do contato, e-mails adicionais para atualizações (notifyEmails), status ativo, a porcentagem da lista inteira (discountBp, 0 a 10.000) e sua adjustment (discount ou markup; omita para manter), classificação (follow, prices_only ou can_order) e priceListId (null é Standard). Pontos básicos: 100 = 1%. Leia get_customer primeiro. Requer revisão. Atribuir uma lista de preços diferente da Standard requer Pro.
save_discount_ruleDefinir uma categoria de cliente, marca ou porcentagem de produto, em pontos básicos (0 a 10.000). adjustment é discount ou markup; omita-o para um desconto. A regra mais específica vence e nada é acumulado. Altera os preços imediatamente. Requer revisão. Requer Pro.
remove_discount_ruleRemover a regra de desconto do cliente selecionado. Os preços podem subir imediatamente. Requer revisão.
set_fixed_priceDefinir um preço de produto específico para o cliente em unidades inteiras da moeda menor. O note é opcional; é uma observação; o noteVisible mostra-a a esse cliente. O internalNote permanece apenas para o pessoal. Requer revisão. Requer Pro.
end_fixed_priceEncerrar o preço fixo do cliente agora para que as regras normais de desconto sejam aplicadas. Requer revisão.
list_staffPessoal: listar a equipe do espaço de trabalho e convites pendentes.
invite_staffApenas proprietário: enviar um convite por e-mail concedendo acesso de funcionário ou proprietário. Requer revisão do destinatário e do papel.
invite_buyerPessoal: enviar um convite por e-mail para uma conta específica de cliente. Requer revisão do destinatário e da conta.
remove_buyerRemover uma assinatura da conta do cliente nomeada. Requer revisão.
preview_product_importVisualizar as linhas analisadas sem importar. Não corrigir silenciosamente preços incertos da fonte.
import_productsImportar no máximo 100 linhas analisadas. listPrice vai para priceList (omitir para Standard); listPrices nomeia outras listas. As alterações de cada lista são unidas em um rascunho. Requer revisão. URLs de imagem podem ser recuperadas.
import_customersImportar no máximo 100 clientes. A priceList nomeia sua lista; ajuste é desconto ou acréscimo. Um nome de lista desconhecido é um erro. Requer revisão.
preview_agreed_pricesVisualizar até 2.000 preços acordados (código da conta, SKU, preço em unidade menor inteira e uma nota opcional) sem salvar. Apenas para Pro. Contas e SKUs desconhecidos são relatados e ignorados. Quando uma conta e um SKU são repetidos, a última linha é usada.
import_agreed_pricesSalvar até 2.000 preços acordados para contas e SKUs existentes. Apenas para Pro. Cada preço é versionado a partir de agora, em lotes de 100. Linhas desconhecidas são ignoradas. Requer revisão.
list_import_layoutsListe os mapeamentos de coluna salvos deste fornecedor.
save_import_layoutSalve um mapeamento de coluna reutilizável para este fornecedor. Requer revisão.
list_price_changesListe rascunhos e alterações de preço agendadas ou publicadas.
draft_price_changeCrie um rascunho de alteração de preço em porcentagem para uma lista de preços (priceListId; omita para Standard). Um lote nunca mistura listas. Pontos básicos assinados: 600 = +6%, de −90% a +100%. Não publica nem envia e-mails aos clientes. Requer Pro.
preview_price_changeLeia o impacto, alertas, preços fixos e conflitos de agendamento antes da publicação.
publish_price_changePublique agora ou em um horário ISO, opcionalmente enviando e-mails aos clientes (na publicação ou em um notifyAt agendado) e alterando preços acordados. Requer revisão da prévia atual; prévias alteradas invalidam a aprovação. Pro é necessário, exceto para importações de preços Standard imediatas sem e-mails ou alterações de preços acordados.
cancel_price_changeCancelar uma alteração de preço agendada. Os clientes podem receber um e-mail de cancelamento. Requer revisão.
discard_price_draftDescartar permanentemente uma alteração de preço não publicada. Requer revisão.
get_staff_orderFuncionários: linhas de pedido, cliente, notas e histórico de status.
set_order_statusAceitar, processar, concluir ou cancelar um pedido usando as transições permitidas pelo app. Pode enviar um e-mail ao comprador. Requer revisão.
get_settingsLer configurações do fornecedor e estado da assinatura; nenhuma credencial de pagamento é retornada.
save_settingsApenas proprietário: alterar detalhes da empresa, destinatários de pedidos, moeda, lista de diretório, preferências de pesquisa se os clientes veem o preço padrão ao lado do seu próprio (showStandardPrice; false mostra apenas o seu próprio preço), como os produtos são ordenados para os clientes (productOrder: name, sku, category ou custom; category segue a ordem da página Categorias, A a Z pelo nome dentro de cada categoria, não categorizados por último), quais colunas do catálogo eles veem e em que ordem (catalogueColumns), o título para a nota da negociação de cada produto (dealLabel), se o login do cliente marca oculta o link de login do funcionário (hidePortalStaffLink; proprietário ou administrador, padrão falso), se as subtítulos da página de funcionários e links de como fazer são ocultos (hideStaffGuides; apenas proprietário ou administrador, padrão falso), se a página de login abre com nome de usuário e senha (loginUsernameFirst; apenas proprietário ou administrador, padrão falso para que o e-mail continue sendo o primeiro), e quais partes do catálogo em PDF da marca imprimir (pdfShowLogo, pdfShowDate, pdfShowSupplierName, pdfShowCustomerName, pdfShowPageNumbers; cada um verdadeiro por padrão, falso oculta essa parte). Leia as configurações atuais primeiro. Requer revisão.
list_api_keysApenas proprietário: lista rótulos e escopos de chave. Nunca retorna segredos.
revoke_api_keyApenas proprietário: desconectar uma integração de API imediatamente. Requer revisão.
list_newsEquipe: lista anúncios, incluindo postagens expiradas.
post_newsPublicar um anúncio para compradores, agora ou a partir de startsLocal (hora do fornecedor). Opcional endsOn oculta-o em YYYY-MM-DDTHH:mm no fuso horário do fornecedor, ou ao final de um YYYY-MM-DD. emailCustomers também envia e-mails aos assinantes quando iniciar. Requer revisão da mensagem exata e do público-alvo.
remove_newsRemover um anúncio publicado. E-mails enviados não podem ser recallados. Requer revisão.
list_support_ticketsApenas proprietário e administrador: lista dos tickets de suporte deste workspace.
get_support_ticketApenas proprietário e administrador: ler mensagens em um ticket pertencente a este workspace.
open_support_ticketApenas proprietário e administrador: enviar um pedido de suporte à Happy Webs. Requer revisão da mensagem exata.
reply_to_supportApenas proprietário e administrador: enviar uma resposta a uma conversa de suporte existente. Requer revisão.
get_buyer_productLer um produto visível com preços e arquivos anexados (fichas técnicas) para a conta explicitamente selecionada.
get_basketLer quantidades e preços atuais para sua conta de cliente explicitamente selecionada.
set_basket_quantityDefina uma quantidade absoluta (0 remove a linha). As alterações afetam apenas seu carrinho; não enviam um pedido.
send_orderEnvie o carrinho da conta selecionada para o fornecedor, com cópia do e-mail do comprador. Requer revisão autenticada dos produtos exatos, quantidades, preços, PO e observações. Se o carrinho for alterado, solicite uma nova revisão. Copie expectedBasket de get_basket.fingerprint.
list_buyer_ordersLeia os pedidos para a conta explicitamente selecionada.
get_buyer_orderLeia as linhas e histórico de status de um pedido pertencente à conta selecionada.
reorderAdicione produtos disponíveis de um pedido anterior ao seu carrinho com os preços atuais. Não envia um pedido. Requer revisão.
get_buyer_updatesLeia as notícias atuais, alterações nos preços e atualizações não lidas para a conta do cliente selecionada.
mark_updates_readMarque as atualizações atualmente disponíveis para a conta selecionada como lidas.
get_action_statusLeia o resultado de uma revisão solicitada por esta conexão.

Entrada de pedidos pela equipe usa preview_customer_order, depois revisado create_customer_order com preços exatos e um UUID de tentativa. O processamento usa set_order_status com note público, privado internalNote/correctionReason, e expectedRevision. Revisado set_order_delivery registra o método de entrega visível ao cliente e o transportador opcional, referência e link HTTPS. Estas ferramentas seguem as permissões atuais do membro e o escopo do cliente. Veja Pedidos para os campos e comportamento.