Servidor MCP para cálculo do Simples Nacional: DAS, alíquota efetiva, Fator R e o que a alíquota não cobre.
Four well-documented tools with clear, domain-specific descriptions (150 - 250 chars each). All tools have input schemas with type definitions and parameter descriptions. Tool names use verb_noun pattern (calcular_, resolver_, ressalvas_, carga_). Schemas are properly structured with enums for anexo parameter. However, output schemas are not formally documented in the code, return types are inferred from dict construction. Error handling is minimal; no recovery guidance or actionable error messages. Parameter descriptions are good but lack explicit format/range constraints (e.g., 'receita_do_mes' accepts float|int|str but no min/max). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being read-only operations.
Calcula o DAS do mês e a alíquota efetiva do Simples Nacional para um anexo e um RBT12 (receita bruta dos 12 meses anteriores). Devolve também a faixa, e bandeiras para o sublimite de ICMS/ISS e para a saída do regime. Se a empresa tem menos de 13 meses de atividade, informe receita_acumulada e meses_de_atividade em vez de rbt12. A alíquota devolvida é a carga do DAS: consulte carga_fora_do_das antes de afirmar qual é a carga tributária total. Calcula as tabelas publicadas em lei. Não é assessoria fiscal: enquadramento de atividade, regime e obrigações acessórias são decisões de contador.
Diz o que a alíquota efetiva do anexo NÃO cobre, e em que direção cada item altera a carga. Chame esta ferramenta antes de afirmar qual é a carga tributária de alguém: a alíquota efetiva é a carga do DAS, e não a total. Dois motivos distintos fazem um tributo ficar fora. O Anexo IV não abrange a contribuição patronal, que é recolhida à parte sobre a folha e ACRESCENTA carga. Já a segregação de receita monofásica ou com ICMS-ST muda de direção conforme a posição na cadeia: para quem produz ACRESCENTA, para quem revende REDUZ. Não quantifica valores, porque isso exige a repartição do DAS por tributo. Calcula as tabelas publicadas em lei. Não é assessoria fiscal: enquadramento de atividade, regime e obrigações acessórias são decisões de contador.
Decide entre Anexo III e Anexo V para atividades do § 5º-I (serviços intelectuais) pelo Fator R: a razão entre a folha de salários e a receita bruta, ambas dos 12 meses anteriores. Razão de 28% ou mais leva ao Anexo III, abaixo disso ao Anexo V. A diferença de alíquota nominal entre os dois chega a 9,5 pontos, então errar isto custa mais que errar a fórmula. Calcula as tabelas publicadas em lei. Não é assessoria fiscal: enquadramento de atividade, regime e obrigações acessórias são decisões de contador.
Output schemas not formally documented. Return types are constructed as dicts but no JSON Schema or structured documentation exists for downstream tool chaining. LLMs cannot predict response fields for planning.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared. Agents cannot infer safety properties without explicit hints.
Numeric parameters lack explicit min/max constraints. 'receita_do_mes', 'rbt12', 'folha_12m' accept float|int|str but no bounds are documented. LLMs may pass negative or absurdly large values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Lista as ressalvas de um setor cuja receita tem regime especial de PIS/COFINS (tributação monofásica) ou de ICMS (substituição tributária): bebidas alcoólicas e frias, medicamentos, cosméticos, autopeças e pneus, combustíveis. Sem argumento, lista os setores registrados. Ausência de um setor aqui não significa que o DAS cubra toda a carga dele. Calcula as tabelas publicadas em lei. Não é assessoria fiscal: enquadramento de atividade, regime e obrigações acessórias são decisões de contador.
Error handling is minimal. ValueError exceptions are raised but no recovery guidance is provided. E.g., 'anexo inválido' error does not suggest valid options or next steps for the LLM.
Parameter 'posicao_na_cadeia' in carga_fora_do_das has no enum constraint or description of valid values. LLMs cannot determine what strings are acceptable.