Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Simples Nacional conferido contra a LC 123 e a LC 214: alíquota, DAS, repartição, Fator R e CNAE
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
claude mcp add simples-nacional-br -- uvx simples-nacional-br粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"simples-nacional-br": {
"command": "uvx",
"args": [
"simples-nacional-br"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"simples-nacional-br": {
"type": "stdio",
"command": "uvx",
"args": [
"simples-nacional-br"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日
注册名称已通过 GitHub 账户 peterwkdev-creator 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.7.1)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB, Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Alíquota efetiva, valor do mês e Fator R do Simples Nacional, conferidos faixa a faixa contra as tabelas oficiais da Lei Complementar 123/2006 (redação da LC 155/2016) e, de 2027 em diante, da LC 214/2025. Python puro, só a biblioteca padrão, Decimal do começo ao fim.
[Experimente no navegador](https://peterwkdev-creator.github.io/simples-nacional-br/): a página roda esta mesma biblioteca, testada, no seu navegador (Pyodide): alíquota efetiva, valor do mês, a parte de cada tributo (também da empresa com menos de 12 meses, pela receita de cada mês) e, com o Fator R, a folha que leva ao Anexo III e quanto muda o DAS. Nenhum número sai do seu computador. Na primeira visita o navegador baixa cerca de 6 MB (o Python do Pyodide; a biblioteca são 61 KB); depois, cada conta leva de 0 a 2 ms (medido na página publicada em 10/10/2026).
É estimativa, não consultoria tributária. Não substitui o PGDAS-D nem o
contador. Todos os exemplos usam números inventados.
pip install simples-nacional-br
Python 3.9 ou mais novo, sem nenhuma outra dependência. Testado a cada push com Python 3.9 a 3.14 (Linux) e 3.13 (Windows).
A instalação traz quatro comandos:
| Comando | Para quê |
|---|---|
simples-nacional | o DAS do mês: alíquota efetiva, valor e avisos |
simples-nacional-cnae | o anexo de uma atividade (CNAE), com o fundamento na lei |
simples-nacional-mcp | o servidor MCP, para o Claude e outros assistentes ("Servidor MCP", abaixo) |
simples-nacional-br | o mesmo servidor MCP, com o nome do pacote (o que uvx simples-nacional-br roda) |
Primeira conta: empresa do Anexo III com R$ 600 mil de receita nos últimos 12 meses (o RBT12) e R$ 50 mil no mês.
simples-nacional --ano 2026 --anexo III --rbt12 600000 --receita-mes 50000
Tabela do ano-calendário 2026: LC 123/2006, Anexos I a V, redação da LC 155/2016 (para outro ano de apuração, use --ano)
Anexo III, 3ª faixa (até R$ 720.000,00): alíquota nominal 13,5000%, parcela a deduzir R$ 17.640,00 Alíquota efetiva: 10,5600% = (RBT12 × Aliq - PD) / RBT12 (LC 123, art. 18, § 1º-A) Valor do mês: R$ 5.280,00 = R$ 50.000,00 × 10,5600% Estimativa conferida contra a tabela da lei: não substitui o PGDAS-D nem o contador.
simples-nacional --help mostra todas as opções. Sem --ano, vale o ano corrente, e a primeira linha diz qual tabela foi usada.
Outras formas:
pip install "git+https://github.com/peterwkdev-creator/simples-nacional-br@v1.7.0";git clone): python -m unittest roda os testes, e python -m simples_nacional faz a mesma conta.from simples_nacional import aliquota_efetiva, anexo_por_fator_r, avisos, valor_devido
aliquota_efetiva("I", 4_500_000, ano=2026) # Decimal('0.106') valor_devido("I", 4_500_000, "375000", ano=2026) # Decimal('39750.00') anexo_por_fator_r(280_000, 1_000_000) # 'III' avisos(4_500_000, ano=2026) # ['RBT12 acima do sublimite ...']
ano é o ano-calendário do mês de apuração, não o de hoje: o DAS de dezembro de 2026, calculado em janeiro de 2027, usa a tabela de 2026. Valores em Decimal, int ou str; float é recusado, porque erra centavo. RBT12 acima de R$ 4,8 milhões levanta LimiteExcedido (um ValueError). Sublimite, início de atividade e a leitura de números no formato brasileiro estão em "Mais exemplos", abaixo.
A alíquota efetiva não é a alíquota impressa no anexo. LC 123, art. 18, § 1º-A:
alíquota efetiva = (RBT12 × alíquota nominal − parcela a deduzir) / RBT12
RBT12 é a receita bruta dos 12 meses anteriores ao período de apuração (a partir de 2027, dos 12 meses antecedentes ao mês anterior: para apurar março, de fevereiro do ano anterior a janeiro; LC 123, art. 18, § 1º, na redação da LC 214/2025). Um comércio com RBT12 de R$ 4.500.000,00 está na 6ª faixa do Anexo I (nominal 19%, parcela a deduzir R$ 378.000,00):
(4.500.000 × 19% − 378.000) / 4.500.000 = 477.000 / 4.500.000 = 10,60%
Aplicar a nominal de 19% dá R$ 855.000,00 no ano, onde a lei dá R$ 477.000,00. É o erro relatado em mcp-fiscal-brasil#146.
Fora do escopo, entre outros: sublimites estaduais, exportação e MEI. A lista completa e a fonte legal de cada regra estão em "Fontes e limites", abaixo.
Arredondamento: a lei não fixa regra. A alíquota efetiva guarda todos os dígitos; o valor do mês é arredondado em centavos com ROUND_HALF_UP. As contas usam um contexto Decimal próprio (28 dígitos): um getcontext().prec mudado no programa de quem usa a biblioteca não muda o resultado. Na linha de comando, a efetiva da linha "Valor do mês" sai com as casas (4 ou mais) que fecham a conta no centavo, e o Fator R é cortado, não arredondado, na 4ª casa: 27,99999% aparece 27,9999%, ao lado do Anexo V.
from simples_nacional import (aliquota_efetiva, valor_devido, valor_devido_acima_do_sublimite,
valor_devido_inicio_atividade)
aliquota_efetiva("I", 4_500_000, ano=2027) # Decimal('0.105'): 6ª faixa de 2027
aliquota_efetiva("I", 4_500_000, ano=2026, icms_iss_no_das=True) # Decimal('0.14740600') valor_devido("I", 4_500_000, "375000", ano=2026, icms_iss_no_das=True) # Decimal('55277.25')
aliquota_efetiva("I", 4_500_000, ano=2027, icms_iss_no_das=True) # Decimal('0.14661612')
valor_devido_acima_do_sublimite("III", 4_000_000, 500_000, 3_400_000, ano=2026) # Decimal('113563.08')
valor_devido_inicio_atividade("I", [30_000, 50_000], ano=2026) # Decimal('2825.00') valor_devido_inicio_atividade("I", [400_000], ano=2027) # Decimal('16000.00'), 1ª faixa
Na linha de comando, o ICMS ou o ISS pela 5ª faixa vem com --icms-iss-no-das, e a saída mostra as duas parcelas da efetiva:
python -m simples_nacional --ano 2026 --anexo I --rbt12 4500000 --receita-mes 375000 --icms-iss-no-das
Até 2026, --receita-ano (a receita do ano antes do mês de apuração) calcula o mês em que ela passa do sublimite e mostra cada parcela:
python -m simples_nacional --ano 2026 --anexo III --rbt12 4000000 --receita-mes 500000 --receita-ano 3400000
Na linha de comando, o início de atividade vai em --receitas, separadas por ponto e vírgula, no lugar de --rbt12 e --receita-mes:
python -m simples_nacional --ano 2026 --anexo I --receitas "30.000;50.000"
Com --mes-inicio (o mês do calendário em que a atividade começou, de 1 a 12), a saída confere a receita do ano de início contra o limite e o sublimite proporcionais; sem ele, avisa quando a receita passa de R$ 300.000,00 por mês e pede o mês. Na API, o mesmo vem de avisos_inicio_atividade(receitas, mes_inicio, ano=...):
from simples_nacional import avisos_inicio_atividade
avisos_inicio_atividade([300_000, 400_000], 11, ano=2026)
Na linha de comando e em ler_numero, números aceitos: 4500000, 4500000.00, 1000,50, 1.000,50 e 360.000 (ponto seguido de três dígitos é milhar), com ou sem R$ na frente e espaço nas pontas, como o Excel copia a célula (R$ 1.000,50). O que é ambíguo, como 1,000.50 ou 100 000, dá erro em vez de virar outro número. --version mostra a versão instalada.
A mesma leitura e a saída no formato brasileiro são públicas, para quem integra a biblioteca num sistema:
from decimal import Decimal
from simples_nacional import ler_numero, para_decimal, porcentagem, reais
ler_numero("360.000") # Decimal('360000'); ambíguo: ValueError para_decimal("1000.50", "receita") # Decimal('1000.50'); float: TypeError para_decimal("360.000", "receita") # Decimal('360.000'): ponto decimal, como no Decimal porcentagem(Decimal("0.0565")) # '5,6500%' reais(Decimal("4800000")) # '4.800.000,00'
Na API, o texto vai com ponto decimal, como no Decimal: "360.000" é
ler_numero.只显示了开头部分;其余内容请在仓库中阅读