Skip to main content
Glama

microvix_movimento

Read-onlyIdempotent

Movimento de vendas/fiscal (LinxMovimento): transações, chave da NF, impostos (ICMS/PIS/COFINS/IPI), formas de pagamento. Filtre por data_inicial/fim e cnpj_emp — a janela filtra por data_lancamento, não por data_documento. É a base do faturamento. É item a item (uma linha por produto de cada transação, 116 colunas), e o Microvix devolve no máximo 5.000 linhas por chamada: um mês de uma loja passa de 15 MB E não cabe numa chamada só. Por isso o DEFAULT é formato:"resumo" — ele VARRE a janela inteira (várias chamadas ao Microvix, deduplicadas) e devolve totais determinísticos por operação/tipo/cancelado/excluído e por dia, cada número sendo a soma da coluna crua de mesmo nome. Confira sempre truncado_pelo_provedor e cobertura_data_lancamento: se vier truncado, os números são PARCIAIS e você deve refazer em pedaços menores. Para fechamento mensal, faça uma chamada por (cnpj_emp, período) em "resumo" — pode levar ~20s por loja. Use formato:"linhas" só quando precisar do item a item; aí é UMA chamada, paginada por limit/offset e sujeita ao teto de 5.000.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
accountNo
formatoNo
cnpj_empNo
data_fimNo
data_inicialNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changed
    • addedInput schema / properties / formato
      Added value: +{
      +  "enum": [
      +    "resumo",
      +    "linhas"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "type": "number"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "type": "number"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint=true, destructiveHint=false, idempotentHint=true), the description discloses rich behavior: the resumo mode sweeps the whole window via multiple deduplicated calls, returns deterministic sums of raw columns, is subject to a 5,000-row cap, filters by data_lancamento rather than data_documento, and can return PARTIAL numbers when the provider truncates. No contradiction with annotations — the deterministic-totals wording reinforces idempotentHint.

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?

Long but every sentence earns its place — the tool genuinely needs the two-mode explanation, the 5,000-row cap, and truncation handling. Purpose is front-loaded. Slightly dense, but the information-to-length ratio is justified by complexity rather than padding.

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 a tool this complex (7 params, two output formats, pagination, truncation) with no output schema, the description is remarkably self-contained: it explains both modes, the row cap, the truncation flags to check, the recommended calling pattern, performance expectations, and the output semantics (116 columns, sums of same-name raw columns). Nothing an agent needs to call it safely is missing.

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?

With 0% schema coverage, the description carries the full burden and explains most parameters well: formato (two enum values with distinct semantics), data_inicial/data_fim (window semantics on data_lancamento), cnpj_emp (filter), and limit/offset (pagination in linhas mode). However, the 'account' parameter is never explained and no date string format is given, so a minor gap remains for a tool with zero schema help.

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 subject and scope — 'Movimento de vendas/fiscal (LinxMovimento): transações, chave da NF, impostos (ICMS/PIS/COFINS/IPI), formas de pagamento' — and identifies itself as 'a base do faturamento'. This clearly distinguishes it from siblings like microvix_pedidos_venda (orders) and microvix_produtos (products) without needing to open schemas.

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, scenario-driven guidance: use formato:"resumo" for month-end closing with one call per (cnpj_emp, período), use formato:"linhas" only for line-level work, reframe into smaller chunks when truncated, and always verify truncado_pelo_provedor. It even quotes expected latency (~20s per store). The when-to-use vs when-not-to guidance is unusually complete.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.4/5.0
Disambiguation4/5

Tools are mostly distinct: platform utilities (authenticate, connect, marketplace) have clear separate roles, and microvix_* tools each target a different entity (clientes, lojas, movimento, pedidos, produtos variants, etc.). However, the marketplace tool has multiple sub-functions (search, describe, invoke, install) that could blur boundaries, but its description is thorough enough to prevent confusion.

Naming Consistency5/5

All tools use consistent snake_case naming. Platform tools are short descriptive words (authenticate, connect, marketplace), while domain-specific tools all follow the 'microvix_entity' pattern (e.g., microvix_clientes_fornec, microvix_produtos). No mixing of conventions or inconsistent verb styles.

Tool Count4/5

With 16 tools, the server is slightly above the ideal range (3-15) but still well-scoped. The platform utilities (6 tools) are necessary for authentication, marketplace interaction, and status; the 10 microvix-* tools cover the core domain tables without bloating. The count is reasonable for a server that combines platform and data query capabilities.

Completeness3/5

The microvix domain tools provide comprehensive read access to key entities (clientes, lojas, movimento, pedidos, produtos, inventário, vendedores), but there are no write/update tools (e.g., create_cliente, update_produto). For a data query server this may be acceptable, but the absence of CRUD operations is a notable gap if the purpose is to manage Microvix data fully.