NotaMCP

Issue Brazilian service invoices (NFS-e Nacional) from your AI, with preview and confirmation.

我该使用它吗

质量与安全性

A
描述质量
76%
模式完整度
89%
命名质量
92%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(4)

  • LOWTool 'consultar_nota' description lacks action verb在 consultar_nota 中
  • LOWTool 'listar_notas' description lacks action verb在 listar_notas 中
  • LOWTool 'salvar_tomador' description lacks action verb在 salvar_tomador 中
  • LOWTool 'saldo' description lacks action verb在 saldo 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,016token 数(工具定义)
~1.1 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.57%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "notamcp": {
      "url": "https://notamcp.com.br/mcp"
    }
  }
}

远程端点

https://notamcp.com.br/mcpstreamable-http

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
⚪emitir_nota(tomador_id, configuracao_id, tomador_doc, tomador_razao, tomador_tipo, ...)

Prepara uma NFS-e e devolve a PRÉVIA + confirmacao_token. NÃO emite nada. Mostre a prévia ao usuário e chame confirmar_emissao só depois do OK explícito dele. Tomador: informe tomador_id (salvo) OU tomador_doc + tomador_razao.

输入模式

{
  "type": "object",
  "properties": {
    "tomador_id": {
      "type": "string",
      "description": "Id de um tomador salvo (listar_tomadores)."
    },
    "configuracao_id": {
      "type": "string",
      "description": "Id de uma combinação devolvida por listar_configuracoes."
    },
    "tomador_doc": {
      "type": "string",
      "description": "CNPJ (14 dígitos) ou CPF (11) do tomador."
    },
    "tomador_razao": {
      "type": "string",
      "description": "Razão social ou nome do tomador."
    },
    "tomador_tipo": {
      "type": "string",
      "enum": [
        "",
        "exterior"
      ],
      "description": "Use \"exterior\" para tomador estrangeiro."
    },
    "tomador_pais": {
      "type": "string",
      "description": "País ISO2 do tomador estrangeiro (ex.: \"SG\")."
    },
    "valor": {
      "type": "string",
      "description": "Valor do serviço em reais, ex.: \"1250,00\"."
    },
    "competencia": {
      "type": "string",
      "description": "Mês de referência YYYY-MM. Vazio = mês atual."
    },
    "discriminacao": {
      "type": "string",
      "description": "Descrição do serviço, como sai impressa na nota."
    },
    "configuracao": {
      "type": "object",
      "description": "Configuração fiscal só desta nota. Campos omitidos herdam o cadastro/configuracao_id. Nunca invente códigos fiscais.",
      "properties": {
        "codigo_servico": {
          "type": "string",
          "description": "Item da LC 116, ex.: 17.06 ou 17.06.01. Não é CNAE."
        },
        "codigo_cnae": {
          "type": "string",
          "description": "CNAE do serviço, com 7 dígitos."
        },
        "codigo_nbs": {
          "type": "string",
          "description": "NBS, se aplicável."
        },
        "ctrib_mun": {
          "type": "string",
          "description": "Código de tributação definido pela prefeitura; vazio quando não houver."
        },
        "aliquota_simples": {
          "type": "string",
          "description": "Percentual efetivo do Simples."
        },
        "calcular_iss": {
          "type": "boolean"
        },
        "aliquota_iss": {
          "type": "string",
          "description": "Percentual do ISS quando destacado."
        },
        "trib_federal": {
          "type": "string",
          "description": "Tributos federais aproximados (%)."
        },
        "trib_municipal": {
          "type": "string",
          "description": "Tributos municipais aproximados (%)."
        }
      }
    }
  },
  "required": [
    "valor",
    "discriminacao"
  ]
}
🟢listar_configuracoes(limite)

Últimas combinações realmente usadas de serviço, CNAE, NBS e tributação. Use configuracao_id em emitir_nota. Se houver ambiguidade, pergunte ao usuário — não escolha nem invente código fiscal.

输入模式

{
  "type": "object",
  "properties": {
    "limite": {
      "type": "integer",
      "description": "Máximo de combinações (1–20, padrão 8)."
    }
  }
}
🔴confirmar_emissao(confirmacao_token)

Emite DE VERDADE a nota da prévia. Chame apenas depois que o usuário aprovou a prévia nesta conversa. Idempotente: o mesmo token nunca emite duas vezes. Autorizada, devolve danfse_url (PDF) e xml_url — links para o usuário abrir, que você não consegue baixar.

输入模式

{
  "type": "object",
  "properties": {
    "confirmacao_token": {
      "type": "string",
      "description": "Token devolvido por emitir_nota."
    }
  },
  "required": [
    "confirmacao_token"
  ]
}
🟢consultar_nota(nota_id)

Situação de uma nota desta conta (status, número, chave de acesso, erro).

输入模式

{
  "type": "object",
  "properties": {
    "nota_id": {
      "type": "integer",
      "description": "Id da nota (veio da emissão ou de listar_notas)."
    }
  },
  "required": [
    "nota_id"
  ]
}
🟢listar_notas(status, competencia, limite)

Histórico de notas da conta, com filtros opcionais.

输入模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "emitida",
        "rejeitada",
        "pendente",
        "cancelada",
        "erro"
      ],
      "description": "Filtro por status."
    },
    "competencia": {
      "type": "string",
      "description": "Filtro YYYY-MM."
    },
    "limite": {
      "type": "integer",
      "description": "Máx. de notas (1–100, padrão 20)."
    }
  }
}
🔴cancelar_nota(nota_id, motivo, codigo_motivo, confirmar)

Cancela uma NFS-e autorizada na SEFIN. Exige confirmar=true — peça confirmação explícita ao usuário antes. O crédito da emissão NÃO volta (a nota existiu); o cancelamento é grátis.

输入模式

{
  "type": "object",
  "properties": {
    "nota_id": {
      "type": "integer"
    },
    "motivo": {
      "type": "string",
      "description": "Motivo em texto (vai para a SEFIN)."
    },
    "codigo_motivo": {
      "type": "integer",
      "enum": [
        1,
        2,
        4
      ],
      "description": "1=erro na emissão · 2=serviço não prestado · 4=duplicidade."
    },
    "confirmar": {
      "type": "boolean",
      "description": "Precisa ser true — confirmação do usuário nesta conversa."
    }
  },
  "required": [
    "nota_id",
    "motivo",
    "confirmar"
  ]
}
🟢listar_tomadores(busca)

Tomadores salvos desta conta (use o id em emitir_nota). Passe `busca` com o NOME que o usuário falou para achar o tomador sem precisar do CNPJ — ignora acento, caixa e pontuação. Se voltar mais de um, pergunte qual antes de emitir.

输入模式

{
  "type": "object",
  "properties": {
    "busca": {
      "type": "string",
      "description": "Nome (ou parte) da empresa, ou o documento. Ex.: \"acai\" acha \"Açaí & Cia Ltda\"."
    }
  }
}
🔴salvar_tomador(doc, razao, tipo, pais)

Salva/atualiza um tomador frequente (ex.: "salva a Shopee como tomador").

输入模式

{
  "type": "object",
  "properties": {
    "doc": {
      "type": "string",
      "description": "CNPJ ou CPF (só números ou formatado)."
    },
    "razao": {
      "type": "string",
      "description": "Razão social ou nome."
    },
    "tipo": {
      "type": "string",
      "enum": [
        "",
        "exterior"
      ]
    },
    "pais": {
      "type": "string",
      "description": "ISO2, só para exterior."
    }
  },
  "required": [
    "razao"
  ]
}
🟢saldo

Quantidade de notas disponíveis, preço por nota, ambiente e teto diário. O nome técnico saldo é mantido por compatibilidade.

输入模式

{
  "type": "object",
  "properties": {}
}
⚪comprar_creditos(valor_centavos)

Gera um link de pagamento (Pix/cartão) para adicionar créditos de notas. Entregue o link ao usuário — o pagamento acontece no navegador dele e as notas entram após a confirmação.

输入模式

{
  "type": "object",
  "properties": {
    "valor_centavos": {
      "type": "integer",
      "enum": [
        1000,
        2500,
        5000,
        10000
      ],
      "description": "Valor da recarga em centavos: 1000 (R$10), 2500 (R$25), 5000 (R$50) ou 10000 (R$100)."
    }
  },
  "required": [
    "valor_centavos"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具