Asset Register MCP

Ativos fixos e cronogramas de depreciação (KST, HMRC, IRS MACRS) a partir do Claude. Tudo local.

Documentação

mcp-asset-register

Servidor MCP para um registro de ativo imobilizado com cronogramas de depreciação. Um registro de ativo imobilizado que deprecia com base nas taxas que as autoridades fiscais realmente publicam, com o cronograma, o lançamento contábil e o ganho na venda.

Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente do Model Context Protocol. Roda na sua própria máquina ou hospedado, sem instalação.

Página do produto: https://mcp.zovo.one/s/asset-register — o que faz, as ferramentas que expõe e um endpoint de token ao vivo.

Instalação

Hospedado, nada para instalar. Obtenha um token em https://mcp.zovo.one/mcp/connect (a página de conexão) ou https://mcp.zovo.one/mcp/token (o mesmo token como JSON); um token anônimo gratuito é emitido na hora e uma chave Pro funciona da mesma forma. Em seguida, aponte um cliente MCP para https://mcp.zovo.one/mcp/asset-register via streamable-http e envie o token como Authorization: Bearer <token>.

Se o seu cliente não puder definir cabeçalhos, coloque o token no caminho: https://mcp.zovo.one/mcp/asset-register/t/<token>. Ambas as formas funcionam. A URL simples sem token responde 401 em tools/call, portanto o token não é opcional.

Claude Desktop, um clique. Baixe asset-register.mcpb do último lançamento e clique duas vezes nele.

A partir do código-fonte. O espelho é autossuficiente: toda dependência @theluckystrike/* é fornecida internamente, então um clone novo compila sem configuração adicional.

git clone https://github.com/theluckystrike/mcp-asset-register.git
cd mcp-asset-register
npm install && npm run build

Em seguida, aponte seu cliente para o ponto de entrada compilado:

{
  "mcpServers": {
    "asset-register": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-asset-register/dist/index.js"]
    }
  }
}

@theluckystrike/mcp-asset-register ainda não foi publicado no npm, portanto um comando npx -y @theluckystrike/mcp-asset-register falhará. Os três caminhos acima são os que funcionam e cada um é exercitado pela CI.

asset-register demo

Espelho somente leitura de mcp-servers/servers/asset-register. Consulte MIRROR.md.

No Registro Oficial de MCP (io.github.theluckystrike/asset-register). Mantenha um registro de ativo imobilizado e deprecie-o com base nas taxas que as autoridades fiscais realmente publicam. Você informa o que comprou, quanto custou, quando entrou em uso e em qual categoria se enquadra; ele fornece a taxa, a vida útil, a convenção, o cronograma completo ano a ano ou mês a mês, o lançamento contábil mensal e o ganho ou perda quando você vende. Três tabelas acompanham o servidor: as taxas anuais de depreciação polonesas do anexo das leis CIT e PIT, vinculadas à classificação KST, os pools de capital allowances do Reino Unido com o annual investment allowance, e as tabelas MACRS GDS de meio ano dos EUA para propriedades de 3, 5 e 7 anos. As tabelas são arquivos incluídos, não um feed ao vivo, então o mesmo ativo depreciado duas vezes dá a mesma resposta, e cada taxa traz seu instrumento, sua URL de origem e a data em que entrou em vigor. Nada sai da sua máquina.

Construído por theluckystrike.

Instalação

Um clique (.mcpb): baixe asset-register.mcpb do último lançamento e clique duas vezes nele no Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

Hospedado, sem instalação: aponte um cliente baseado em URL para https://mcp.zovo.one/mcp/asset-register. GET https://mcp.zovo.one/mcp/connect gera um token e imprime uma URL pronta.

A publicação no npm para @theluckystrike/mcp-asset-register está pendente, então a linha npx abaixo retorna 404 hoje.

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "asset-register": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-asset-register"]
    }
  }
}

Claude Code:

claude mcp add asset-register -- npx -y @theluckystrike/mcp-asset-register

Cursor (~/.cursor/mcp.json ou .cursor/mcp.json): a mesma entrada do Claude Desktop.

Ferramentas

ferramentao que faz
asset_addAdiciona um ativo ao registro. A taxa, a vida útil e a convenção vêm da tabela incluída; ambas podem ser substituídas.
asset_listO registro com custo, depreciação acumulada e valor contábil líquido em uma data, totalizado por moeda.
asset_scheduleO cronograma completo para um ativo armazenado ou para um que você está apenas precificando, por ano ou por mês, até zero ou o valor residual.
asset_journalO lançamento contábil de um mês: débito na despesa de depreciação, crédito na depreciação acumulada, por ativo e no total, além de um payload expense_add.
asset_disposeRegistra uma venda, um descarte ou uma baixa e fornece o ganho ou a perda contra o valor contábil líquido naquela data.
asset_deleteRemove um ativo do qual nada depende e recupera a vaga do nível gratuito. Um ativo que já foi alienado ou lançado contabilmente é recusado, com o dependente nomeado.
asset_reportValor contábil líquido por categoria e moeda, o encargo do ano e todas as alienações do ano com seu resultado.
license_statusGratuito ou Pro, e onde fazer upgrade.
license_activateAtiva uma chave Pro. Verificada offline.

Leia o recurso assets://categories para cada categoria incluída, seu código, sua taxa e o que cada tabela omite.

Gratuito vs Pro

GratuitoPro
Ativos no registro10Ilimitado
asset_scheduleSim, ilimitadoSim
asset_list, asset_dispose, asset_deleteSim, ilimitadoSim
asset_journalNãoSim
asset_reportNãoSim

Obtenha o Pro: US$ 19 pagamento único, ou US$ 39 pelo pacote.

O que está nas tabelas e o que deliberadamente não está

Cada tabela em src/tables/ traz um header com a autoridade, o instrumento, a URL de origem, a data em que as taxas entraram em vigor e a data em que foram lidas. O recurso assets://categories retorna esses cabeçalhos com as taxas, para que a proveniência viaje junto com o número.

A regra sobre o que está nelas: um valor que não pudesse ser declarado com confiança a partir do texto público foi omitido, não adivinhado. Uma taxa de depreciação acaba em uma declaração de imposto. Uma taxa errada que parece autoritativa é pior do que uma ausente, porque uma ausente é recusada pelo nome e você vai procurá-la.

tabelaincluídaomitida
Polônia, KST33 linhas cobrindo as posições do anexo que esta compilação pôde declarar com confiança: 0 por cento (terreno, não depreciado), 1,5, 2,5, 4,5, 7, 10, 14, 20 e 30 por cento, no nível de grupo e subgrupo KST, com a elegibilidade de saldo decrescente de cada umAs posições de 18 e 25 por cento do anexo. Sua associação ao KST não pôde ser declarada com confiança, então nenhuma linha as reivindica. Também todo código KST individual de seis dígitos: o contribuinte classifica o ativo; esta tabela carrega a taxa
Reino Unido, capital allowancesO pool da taxa principal a 18 por cento, o pool da taxa especial a 6 por cento e o annual investment allowance como uma linha de primeiro ano de 100 por cento com seu limite de GBP 1.000.000As regras de primeiro ano e de despesa integral, o allowance para estruturas e edifícios, o small pools allowance, os limites de CO2 que decidem em qual pool um carro entra e todo balancing charge. Todos sensíveis à data, nenhum declarado com confiança aqui
EUA, MACRSAs classes GDS de 3, 5 e 7 anos sob a convenção de meio ano, conforme as porcentagens publicadas da Tabela A-1 da Pub 946As convenções de meio trimestre e meio mês, as classes de propriedade imobiliária de 27,5 e 39 anos, as classes de 10, 15 e 20 anos, o Sistema de Depreciação Alternativo, a seção 179 e a depreciação de bônus. Uma classe de 10 anos é recusada pelo nome, não aproximada à de 7 anos

As taxas mudam. Verifique o effective_date em qualquer resposta antes de confiar nela e leia o source_url se a compra for recente.

Regras que o mecanismo aplica

  • A Polônia cobra a partir do mês SEGUINTE à entrada do ativo no registro (art. 16h ust. 1 pkt 1). Um ativo em uso em 15 de março começa em 1º de abril, então o ano um é nove doze avos da taxa anual e o cronograma dura um ano civil a mais do que a vida útil sugere. Toda resposta nomeia o primeiro mês de cobrança.
  • O método de saldo decrescente polonês muda (art. 16k). A taxa é multiplicada por um coeficiente de até 2,0 sobre o valor contábil, e no primeiro ano em que o valor decrescente cairia abaixo do valor linear, o restante do cronograma é linear. Carros de passeio (KST 741) e edifícios são excluídos do método inteiramente e são recusados em vez de calculados silenciosamente.
  • Um writing down allowance do Reino Unido é uma taxa de pool, não um encargo por ativo. Este servidor o aplica a um ativo para que exista um valor por ativo e diz isso em toda resposta. Um saldo decrescente puro nunca chega a zero, então o cronograma é cortado em 25 períodos e o último baixa o que resta, com a linha de base dizendo que foi isso que aconteceu.
  • O MACRS ignora o valor residual. As porcentagens publicadas recuperam o custo total. Um residual passado para um ativo dos EUA é reportado como ignorado e mantido no registro para fins contábeis, em vez de reduzir silenciosamente a base.
  • Os períodos somam a base depreciável, até a unidade menor. O dinheiro é em unidades monetárias inteiras de ponta a ponta e o cronograma é alocado por arredondamento cumulativo, então sum(periods) == cost - residual vale para toda entrada, e as linhas mensais somam seu ano.
  • Um ativo byte idêntico é recusado, não armazenado duas vezes. asset_add normaliza o nome, a categoria, o custo, a moeda, as datas, o método, a vida útil, o esquema e o valor residual, e um registro que corresponde a um ativo já no registro é recusado pelo id desse ativo, sem nada ser gravado. Uma chamada repetida e um script reexecutado parecem exatamente uma segunda máquina, e em um nível gratuito de dez ativos a segunda linha é uma vaga que você não pode recuperar. Duas unidades genuinamente idênticas são um registro legítimo: dê à segunda um nome distintivo e ela será aceita.
  • asset_delete é o caminho de volta, e é gratuito. Remove um ativo do qual nada depende. Uma alienação registrada ou um mês que asset_journal já lançou contabilmente é um dependente, e a exclusão é recusada com esse dependente nomeado, em vez de remover o custo por trás de um valor que já saiu deste servidor. O id nunca é reemitido.
  • A depreciação é cobrada até e incluindo o mês da alienação e então para. O ganho ou a perda é o produto menos o valor contábil líquido naquele mês, e o lançamento da alienação equilibra em zero.
  • Moedas nunca são somadas. Não há taxa de câmbio neste servidor, então um registro em PLN e um em USD permanecem dois valores.

Lançamento no rastreador de despesas

asset_journal retorna os argumentos exatos de expense_add para o servidor expense-tracker, um payload por moeda, e não grava nenhuma despesa. Isso é deliberado: o expense-tracker não publica um ponto de entrada de biblioteca, e seu contador de id, suas regras de categoria, sua divisão de IVA e seus padrões de moeda vivem todos dentro de seu próprio manipulador expense_add sob seu próprio bloqueio. Anexar uma linha ao seu data.json diretamente produziria uma entrada sem nenhum desses aplicados: uma que parece nativa e não é. Devolver os argumentos é o mesmo contrato que per-diem e kanban usam. Ele marca o registro: cada ativo para o qual produziu uma linha registra o mês, então asset_delete pode recusar um ativo cuja depreciação já foi lançada contabilmente, em vez de excluir o custo por trás de um valor publicado.

Nenhum vat_rate é definido no payload. A depreciação é um encargo contábil, não uma compra, portanto não há IVA de entrada sobre ela.

Uma percepção medida

O cronograma anual é onde você procura erros de arredondamento, e o lançamento contábil mensal é onde eles realmente estão.

Dos 67 cronogramas que estas três tabelas podem produzir para um ativo de teste (custo 12.345,67, residual 45,67, em uso em 12 de março de 2026), as linhas anuais saem limpas sob quase qualquer regra de arredondamento, porque um valor anual é uma porcentagem de uma base e cai em ou perto de um centavo inteiro. Divida esses mesmos anos em meses arredondando cada mês independentemente e 35 dos 67 não somam mais a base depreciável, com diferença de até 390 unidades monetárias, 3,90 em um ativo de 12.345,67. Os piores infratores são as linhas de vida mais longa: um edifício residencial a 1,5 por cento distribui sua base por 800 meses, e 800 arredondamentos de meio centavo é de onde vem o 3,90. Essa é a ordem inversa da intuição. A divisão mensal parece ser a etapa inofensiva de apresentação, aquela que vem depois de a aritmética real ter sido feita, então é a etapa que recebe um simples Math.round e nenhum teste. É também a única etapa cuja saída é lançada: ninguém lança um ano, lançam um mês, então o número que chega ao razão é o da etapa que não foi verificada. A correção é que allocate arredonda o total ACUMULADO em cada etapa e toma cada valor como a diferença entre dois acumulados arredondados, com o último período definido como o que sobrar, e isso é aplicado tanto à divisão mensal quanto à anual. test/contract.test.mjs então verifica a identidade para cada cronograma que as tabelas podem produzir, em vez de apenas os dois ou três que um teste unitário teria escolhido.

Privacidade

Tudo permanece na sua máquina. Os ativos são JSON em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/asset-register/. As tabelas de taxas são arquivos dentro do pacote. Não há nenhuma chamada de rede em nenhum lugar deste servidor, nenhuma conta e nenhuma chave de API. As chaves de licença são verificadas offline.

Licença

MIT. Suporte: support@zovo.one

Use estes documentos como um servidor MCP

Qualquer cliente MCP (Claude, Cursor, Windsurf, VS Code) pode ler a documentação deste repositório diretamente via GitMCP — sem instalação: