Skip to main content
Glama

Server Details

Agent-ready print shop in Sao Paulo: catalog, official BRL quotes per m2, shipping, PIX orders.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.8% over 30 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
bitplotagem-bitvisual/bitvisual-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation4/5

Each tool maps to a distinct step in the print-ordering workflow: catalog, quote, art requirements, lead time/shipping, order creation, and order status. There is minor overlap between cotar and consultar_prazo around shipping/freight information, but descriptions make the primary purposes separable.

Naming Consistency4/5

Most names follow a Portuguese verb_noun pattern (consultar_prazo, consultar_requisitos_arte, criar_pedido, listar_catalogo) in consistent snake_case. Minor deviations are cotar (bare verb) and status_pedido (noun phrase), but the set remains predictable.

Tool Count5/5

Six tools are well-scoped for a print-shop ordering assistant, covering discovery, quoting, requirements, fulfillment, order creation, and status without bloat. Each tool has a clear role in the purchase lifecycle.

Completeness4/5

The core customer journey is covered: browse catalog, quote, check art requirements, check lead time/shipping, create order, and track status. Gaps include no tool for changing/canceling orders or submitting artwork, but the descriptions explicitly route those cases to human support.

Available Tools

6 tools
consultar_prazoPrazo de produção e entregaA
Read-onlyIdempotent
Inspect

Prazo de produção do produto e opções de entrega/retirada em São Paulo. Informe o CEP de destino para o frete real. Passe as mesmas opcoes do pedido: um canvas esticado em chassi viaja em caixa rígida e custa muito mais frete que a impressão enrolada no tubo.

NameRequiredDescriptionDefault
cepNoCEP de destino — com ele retorno as opções REAIS de frete (transportadora, preço, prazo)
opcoesNoOpções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).
produtoYesslug do produto
altura_cmNoaltura em cm (melhora o cálculo do frete)
largura_cmNolargura em cm (melhora o cálculo do frete)
quantidadeNoquantidade (padrão 1)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, idempotent read, so the description's job is to add context — and it does: CEP unlocks 'opções REAIS' of freight (implying estimates without it), and it discloses the default behavior when options are omitted (canvas ships as a rolled print, cheaper freight). That is genuine behavioral disclosure beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, and each subsequent sentence carries actionable content (CEP requirement, option fidelity, freight cost difference). The last sentence is slightly verbose but earns its place by explaining the default that drives freight cost.

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

Completeness4/5

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

With 6 params, 1 required, no output schema, and annotations covering the safety profile, the description supplies the key operational facts an agent needs: CEP for real freight, option names sourced from cotar(), and the consequence of omitting options. Return-detail gaps are acceptable since the schema documents CEP's returned fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3, but the description adds real meaning: options must match cotar() names exactly, cannot be replaced by observacoes, and materially change both price and freight; it also explains the canvas/chassis example and the store default. This reinforces rather than merely repeats the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb/resource pair: production deadline plus delivery/pickup options for São Paulo, and mentions freight calculation from the destination CEP. It is distinguishable from cotar and criar_pedido by scope, though it never names those siblings and blurs the line with cotar's pricing role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives calling guidance ('Informe o CEP', 'Passe as mesmas opcoes do pedido'), but that is parameter instruction rather than when-to-use-this-vs-alternatives. No explicit exclusion or routing rule against cotar is provided, so the agent must infer the boundary.

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

consultar_requisitos_arteRequisitos do arquivo de arteA
Read-onlyIdempotent
Inspect

Retorna os requisitos técnicos do arquivo de impressão (formatos, resolução, cores, sangria) e como enviá-lo. Não recebe nem analisa o arquivo: só informa as regras. Use antes de criar_pedido para orientar o cliente.

NameRequiredDescriptionDefault
produtoNoslug do produto (opcional, para dicas específicas)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it explicitly states the tool does not receive or analyze the uploaded file, preventing an agent from assuming it validates artwork.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first enumerates the return content, the second states the non-capability and the usage trigger. Nothing is redundant and the informative part is front-loaded.

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

Completeness5/5

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

With no output schema, the description compensates by listing the returned categories (formatos, resolução, cores, sangria) and the delivery instructions, plus a usage trigger. An agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single optional 'produto' slug is already documented as yielding product-specific tips. The description adds no syntax, format, or default guidance beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Retorna os requisitos técnicos do arquivo de impressão') and enumerates the returned content (formatos, resolução, cores, sangria). The explicit negation 'Não recebe nem analisa o arquivo: só informa as regras' cleanly separates it from any file-processing sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use antes de criar_pedido para orientar o cliente' gives a concrete trigger and names the sibling it precedes, which is strong routing guidance. It lacks an explicit when-not (e.g., what to do after the order exists), so it stops short of a full 5.

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

cotarCotação de preço realA
Read-onlyIdempotent
Inspect

Cota o preço oficial de um produto. Para produtos por m² informe largura_cm e altura_cm EM CENTÍMETROS (nunca assuma a unidade — confirme com o cliente antes). Para tiragem informe quantidade. Retorna preço unitário, total, as opções/acabamentos disponíveis com o preço de cada uma e o link do produto. Para cotar COM acabamento (ex.: canvas esticado em chassi de madeira), repita a chamada passando opcoes. Não cria pedido.

NameRequiredDescriptionDefault
opcoesNoOpções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).
produtoYesslug do produto (campo 'slug' do catalogo)
altura_cmNoaltura em CENTÍMETROS (obrigatório p/ produtos por m²)
largura_cmNolargura em CENTÍMETROS (obrigatório p/ produtos por m²)
quantidadeNoquantidade de unidades (padrão 1)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description adds value beyond them: it lists what is returned (unit price, total, options with per-option prices, product link) and warns that options change both price and freight, plus the store default when opcoes is omitted. It does not cover failure modes (invalid slug, missing dimensions), which is the remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then progressively discloses per-case parameter rules and the options workflow; every sentence carries an operational instruction. Slight redundancy with the schema's own unit and opcoes warnings keeps it from a 5.

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

Completeness5/5

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

No output schema exists, and the description compensates by describing the return payload. With 5 parameters, one required, and nested-free schema, the main ambiguities an agent would hit (centimeter units, options affecting price and freight, non-order side effects) are all addressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds cross-call semantics the schema only hints at: opcoes values must be names returned by a prior cotar() call and require repeating the call rather than noting the choice elsewhere. Units are restated in centimeters with a hard warning not to assume them, reinforcing rather than duplicating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Cota o preço oficial de um produto') and closes with an explicit negative scope boundary ('Não cria pedido'), which separates it cleanly from the criar_pedido sibling. An agent can identify the tool without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use rules per product type: width/height for m² products, quantity for tiragem, and a second call with opcoes when a finishing is desired. It also warns against assuming units and requires confirming with the client, and the 'Não cria pedido' clause implicitly routes order creation to the sibling.

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

criar_pedidoCriar pedido (pagamento PIX)AInspect

Cria um pedido REAL na BitVisual e retorna o link da página do pedido em bitvisual.com.br, onde o cliente conclui o pagamento por PIX. Só funciona para produtos cotáveis (use cotar() antes). Pedidos até R$ 1.000 entram direto; acima disso viram orçamento com atendimento humano. Retirada GRÁTIS na loja (Vila Mariana/SP) ou ENTREGA em todo o Brasil: informe o endereço completo com CEP e o frete real entra no total. Passe em opcoes os acabamentos escolhidos (eles mudam preço e frete). ANTES de chamar, confirme com o cliente: produto, medidas em cm, quantidade, acabamento, total, nome, e-mail e WhatsApp. A produção só começa após o pagamento e o envio da arte. EFEITO COLATERAL: cria um pedido real e gera a cobrança PIX no provedor de pagamento (Mercado Pago); com CEP, cota o frete em transportadora. Não cancela nem altera pedidos — para mudar ou desistir, o cliente fala com o atendimento humano. Limite de 5 pedidos por hora por cliente.

NameRequiredDescriptionDefault
cepNoCEP de ENTREGA — informe junto com endereço/numero para receber em casa; sem CEP = retirada grátis na loja
nomeYesnome completo do cliente
emailYese-mail do cliente (recebe o pedido e acompanha o status)
agenteNoIdentifique-se: nome do assistente/plataforma que está criando o pedido (ex.: ChatGPT, Claude, Gemini, Copilot). Serve para a BitVisual saber por qual canal de IA o pedido entrou. Não é dado do cliente.
bairroNobairro de entrega
cidadeNocidade de entrega
estadoNoUF de entrega, 2 letras (ex.: SP)
numeroNonúmero do endereço de entrega
opcoesNoOpções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).
produtoYesslug do produto
arte_urlNolink https do arquivo de arte, se o cliente já tiver (opcional — também pode enviar depois)
enderecoNorua/avenida de entrega (obrigatório se informou CEP)
whatsappYesWhatsApp/telefone do cliente com DDD
altura_cmNoaltura em CENTÍMETROS (produtos por m²)
largura_cmNolargura em CENTÍMETROS (produtos por m²)
quantidadeYesquantidade (padrão 1)
complementoNocomplemento (opcional)
observacoesNodetalhes do pedido: acabamento escolhido, cores, instruções (opcional)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give the generic write/open-world/non-idempotent/non-destructive profile; the description goes far beyond with the concrete side effects (real order + PIX charge at Mercado Pago, carrier shipping quote when CEP is provided), the fact it cannot cancel or alter orders, the production trigger (payment + art), and a rate limit of 5 orders/hour per client.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and the return value, then layered constraints, with a clearly labeled 'EFEITO COLATERAL' block. It is dense and long, but nearly every sentence carries an actionable constraint; only the client-confirmation checklist slightly overlaps the 'opcoes' guidance.

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

Completeness5/5

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

For an 18-parameter, non-idempotent write tool with no output schema, the description covers the return value, side effects, prerequisites, pricing thresholds, fulfillment modes and rate limiting. An agent has what it needs to decide and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds real meaning on top: CEP triggers real shipping and free pickup in Vila Mariana/SP without it, and 'opcoes' changes price and freight rather than being a free-text note. Measurements in cm are implied but not restated per field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Cria um pedido REAL na BitVisual') plus what it returns (link to the order page where the client pays via PIX). It also distinguishes itself from the sibling cotar() by declaring it only works for quotable products and requires cotar() first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit prerequisites ('use cotar() antes'), an explicit pre-call checklist (confirm produto, medidas, quantidade, acabamento, total, nome, e-mail, WhatsApp), the R$ 1.000 threshold that routes to human service, and a stated alternative for changes/cancellations ('o cliente fala com o atendimento humano').

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

status_pedidoStatus de um pedidoA
Read-onlyIdempotent
Inspect

Consulta o status de um pedido existente (produção, arte, rastreio e total). Só leitura. Exige o número do pedido E o e-mail usado na compra — sem os dois não devolve nada, para não expor dados de terceiros.

NameRequiredDescriptionDefault
emailYese-mail usado no pedido
numeroYesnúmero do pedido (OS)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent and non-destructive, so 'Só leitura' is redundant. What adds real value is the disclosure that the lookup is gated on a two-identifier identity match and silently returns nothing otherwise — a privacy-driven failure mode the agent cannot infer from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler: purpose and returned fields first, then the access constraint and its rationale. Front-loaded and appropriately scoped for a two-parameter read.

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

Completeness4/5

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

With no output schema, the description does name the return facets, and prerequisites plus the empty-result case are covered. A slightly richer return description (format/shape of each facet or the not-found message) would make it fully self-sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, and the description earns a bump by explaining that the two parameters act together as an ownership check rather than as independent filters ('sem os dois não devolve nada, para não expor dados de terceiros'). It adds no format/syntax nuance (e.g. whether 'numero' is numeric OS or zero-padded).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Consulta o status de um pedido existente') and even enumerates the returned facets (produção, arte, rastreio, total), which distinguishes it from creation/quotation siblings. It stops short of naming which sibling to prefer when only one facet (e.g. prazo or requisitos de arte) is needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear calling condition and a hard prerequisite: both 'numero' and 'email' must match the purchase, otherwise nothing is returned. It does not explicitly route to alternatives like consultar_prazo or consultar_requisitos_arte, so the when-not-this-tool guidance is only implied.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Addedconsultar_requisitos_arte
    • Changedcriar_pedido2 fields changed
      • removedInput schema / properties / cpf_cnpj
        Removed value: -{
        -  "description": "CPF (11 dígitos) ou CNPJ (14) do cliente — OBRIGATÓRIO: usado na cobrança PIX e na nota fiscal",
        -  "type": "string"
        -}
      • changedInput schema / required
        Previous value: -[
        -  "produto",
        -  "quantidade",
        -  "nome",
        -  "email",
        -  "whatsapp",
        -  "cpf_cnpj"
        -]New value: +[
        +  "produto",
        +  "quantidade",
        +  "nome",
        +  "email",
        +  "whatsapp"
        +]
    • Removedvalidar_arte
  2. 4 tool updates
    • Removedcatalogo
    • Addedconsultar_prazo
    • Addedlistar_catalogo
    • Removedprazo
  3. 1 tool update
    • Changedcriar_pedido1 field changed
      • addedInput schema / properties / agente
        Added value: +{
        +  "description": "Identifique-se: nome do assistente/plataforma que está criando o pedido (ex.: ChatGPT, Claude, Gemini, Copilot). Serve para a BitVisual saber por qual canal de IA o pedido entrou. Não é dado do cliente.",
        +  "type": "string"
        +}
  4. 3 tool updates
    • Changedcotar1 field changed
      • addedInput schema / properties / opcoes
        Added value: +{
        +  "description": "Opções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedcriar_pedido1 field changed
      • addedInput schema / properties / opcoes
        Added value: +{
        +  "description": "Opções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedprazo1 field changed
      • addedInput schema / properties / opcoes
        Added value: +{
        +  "description": "Opções/acabamentos escolhidos pelo cliente, pelos nomes que o cotar() devolve (ex.: [chassis_esticado] para o canvas esticado em chassi de madeira). MUITO IMPORTANTE: a opção muda o PREÇO e o FRETE — não basta escrever em observacoes. Sem informar, vale o padrão da loja (para o canvas: apenas a impressão refilada, que vai enrolada no tubo).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  5. 6 tool updates
    • First observedcatalogo
    • First observedcotar
    • First observedcriar_pedido
    • First observedprazo
    • First observedstatus_pedido
    • First observedvalidar_arte

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides point-in-time Brazilian market data and official statistics, enabling accurate backtesting and AI agent access to vintage, unrevised data, as well as Brazilian financial primitives like PIX code generation and business day calculations.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to generate static Pix QR codes for Brazilian payments using natural language, with EMV 4.0 compliance and no external API required.
    2
    21 npm
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Know-your-agent backed by ICP-Brasil: a company (e-CNPJ) or a person (e-CPF) signs that an AI agent acts for them, within a mandate. Signed credentials and verdicts, CRL checks, MCP + HTTP with x402, and an npm library to verify or issue without a hosted service.
    2
    10
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.