# io.github.Licinexus/mcp (npm · @licinexusbr/mcp)

Brazilian public procurement (PNCP) and Federal Revenue CNPJ data — 16 tools, 4 prompts.

- Trust score: 68/100 (medium)
- Change this week: +18
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@licinexusbr/mcp`: 68/100 (this document), [markdown](https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp.md), [page](https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp)

## Channel facts

- Registry: `npm`
- Package: `@licinexusbr/mcp`
- Version: `0.1.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 71 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2106 tokens (~117/item across 18 items; 16 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 82/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 47% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add licinexus-mcp -- npx -y @licinexusbr/mcp
```

### Codex

```bash
codex mcp add licinexus-mcp -- npx -y @licinexusbr/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "licinexus-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@licinexusbr/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add licinexus-mcp --command npx --arg -y --arg @licinexusbr/mcp
```

### Hermes

```yaml
mcp_servers:
  licinexus-mcp:
    command: "npx"
    args: ["-y", "@licinexusbr/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "licinexus-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@licinexusbr/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 68, +44)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security improvement] Install scripts: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 24, −8)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 32, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 50)

First indexed and scored.

## MCP tools (16)

### `search_licitacoes` (~422 tokens)

Search Brazilian public procurement bids (licitações) on PNCP.

PNCP requires a date range and at least one modality code per query. If you do not specify, defaults are: last 7 days and modalities [6, 8, 9] (Pregão Eletrônico, Dispensa, Inexigibilidade — most common).

Modality codes:
  1 = Leilão - Eletrônico
  2 = Diálogo Competitivo
  3 = Concurso
  4 = Concorrência - Eletrônica
  5 = Concorrência - Presencial
  6 = Pregão - Eletrônico
  7 = Pregão - Presencial
  8 = Dispensa de Licitação
  9 = Inexigibilidade
  10 = Manifestação de Interesse
  11 = Pré-qualificação
  12 = Credenciamento
  13 = Leilão - Presencial

Filters palavraChave, valorMinimo, valorMaximo are applied client-side over the page returned by PNCP.

Input parameters:

- `cnpjOrgao` (string): Filter by procuring agency CNPJ (14 digits, no punctuation).
- `codigoMunicipioIbge` (string): IBGE municipality code (7 digits).
- `dataFinal` (string): End date in YYYYMMDD format. Default: today.
- `dataInicial` (string): Start date in YYYYMMDD format. Default: 7 days ago.
- `modalidades` (array): List of modality codes. Default: [6, 8, 9].
- `pagina` (integer)
- `palavraChave` (string): Keyword to filter on objetoCompra (case-insensitive substring match).
- `tamanhoPagina` (integer)
- `uf` (string): Two-letter state code (e.g. SP, RJ).
- `valorMaximo` (number): Maximum estimated value in BRL.
- `valorMinimo` (number): Minimum estimated value in BRL.

### `get_licitacao` (~137 tokens)

Get the full details of a single licitação (procurement bid) on PNCP. Provide either numeroControlePNCP (the full PNCP control number string) or all three of orgaoCnpj, ano, sequencial.

Input parameters:

- `ano` (integer): Year of the bid (e.g. 2024)
- `numeroControlePNCP` (string): PNCP control number, format like 00000000000000-1-000001/2024
- `orgaoCnpj` (string): Procuring agency CNPJ (14 digits)
- `sequencial` (integer): Sequential number of the bid

### `list_licitacao_itens` (~94 tokens)

List the items (lots) of a licitação on PNCP. Each item has description, quantity, unit, estimated unit value and category. Provide either numeroControlePNCP, or orgaoCnpj/ano/sequencial.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `list_licitacao_resultados` (~109 tokens)

List the bidding results (winners, runners-up, prices, suppliers) for a specific item of a licitação. You must specify which item — use list_licitacao_itens first to discover item numbers.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `numeroItem` (integer, required): The item number (numeroItem) to retrieve results for.
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `list_licitacao_arquivos` (~84 tokens)

List the files (edital PDFs, attachments, terms of reference) attached to a licitação on PNCP. Returns metadata and direct URLs — does not download the file content.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `search_contratos` (~156 tokens)

Search public procurement contracts (contratos) on PNCP. Useful for analyzing market history, supplier behavior, and agency spending patterns. Defaults to last 30 days when no date range is provided.

Input parameters:

- `cnpjFornecedor` (string): Filter by supplier CNPJ
- `cnpjOrgao` (string): Filter by procuring agency CNPJ
- `dataFinal` (string): End date YYYYMMDD
- `dataInicial` (string): Start date YYYYMMDD
- `pagina` (integer)
- `palavraChave` (string): Keyword filter on objetoContrato (client-side).
- `tamanhoPagina` (integer)
- `valorMaximo` (number)
- `valorMinimo` (number)

### `get_contrato` (~73 tokens)

Get the full details of a public contract on PNCP. Provide either numeroControlePNCP or orgaoCnpj/ano/sequencial.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `list_contrato_termos` (~78 tokens)

List the additive terms (termos aditivos) of a contract — extensions, value increases/reductions, term changes. Useful to understand contract evolution.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `list_contrato_instrumentos` (~78 tokens)

List billing instruments (NFes, faturas) attached to a contract. Reveals real execution: when payments were due, NFe keys, etc.

Input parameters:

- `ano` (integer)
- `numeroControlePNCP` (string)
- `orgaoCnpj` (string)
- `sequencial` (integer)

### `search_atas_rp` (~178 tokens)

Search Atas de Registro de Preço (price-registry agreements) on PNCP. ARPs are pre-negotiated agreements that any compatible agency can use within the validity period — finding ones still in vigor with available balance is a key business opportunity. Defaults: last 90 days, only active (somenteVigentes=true).

Input parameters:

- `cnpjOrgao` (string): Filter by procuring agency CNPJ
- `dataFinal` (string): End date YYYYMMDD
- `dataInicial` (string): Start date YYYYMMDD
- `pagina` (integer)
- `palavraChave` (string): Keyword filter on objetoContratacao
- `somenteVigentes` (boolean): Only include ARPs whose vigência has not expired and that are not cancelled.
- `tamanhoPagina` (integer)

### `get_ata_rp` (~142 tokens)

Get the full details of an Ata de Registro de Preço, optionally including its items (with available balance and supplier info) and attached files. Use orgaoCnpj/anoCompra/sequencialCompra (the parent procurement) and sequencialAta (the ARP within that procurement).

Input parameters:

- `anoCompra` (integer, required): Year of the parent procurement
- `includeArquivos` (boolean)
- `includeItens` (boolean)
- `orgaoCnpj` (string, required): Procuring agency CNPJ
- `sequencialAta` (integer, required): Sequential of the ARP
- `sequencialCompra` (integer, required): Sequential of the parent procurement

### `get_orgao` (~58 tokens)

Get a public agency's profile from PNCP: legal name, branch of government (poder), federal/state/municipal level (esfera), legal nature, address.

Input parameters:

- `cnpj` (string, required): Agency CNPJ (14 digits)

### `get_fornecedor_contratos` (~90 tokens)

List public contracts where a given CNPJ appears as the supplier (fornecedor). Useful for analyzing a competitor or a potential partner. Defaults to the last 365 days.

Input parameters:

- `cnpj` (string, required): Supplier CNPJ (14 digits)
- `diasAtras` (integer): How many days back to search.
- `pagina` (integer)
- `tamanhoPagina` (integer)

### `search_pca` (~156 tokens)

Search recently published/updated Plano de Contratação Anual (PCA) entries — what public agencies INTEND to buy. Returns PCA entries (one per agency unit) with their items embedded. Filter by classification: 'material' or 'servico'. Defaults: last 30 days, classification 'material'. Per Lei 14.133.

Input parameters:

- `classificacao` (string): Top-level classification: material (codigoClassificacaoSuperior=01) or servico (=02).
- `dataFim` (string): End date YYYYMMDD. Default: today.
- `dataInicio` (string): Start date YYYYMMDD. Default: 30 days ago.
- `pagina` (integer)
- `tamanhoPagina` (integer)

### `list_pca_itens` (~93 tokens)

List the planned items of a specific PCA: descriptions, estimated quantities, unit values, expected delivery dates, and CATSER/CATMAT classification. Optionally filter client-side by keyword on description.

Input parameters:

- `anoPca` (integer, required)
- `orgaoCnpj` (string, required)
- `palavraChave` (string): Filter on descricaoItem
- `sequencialPca` (integer, required)

### `get_cnpj_data` (~100 tokens)

Get a Brazilian company's public registration data: legal name, trade name, primary CNAE, secondary CNAEs, address, partners (QSA), capital, juridical nature, Simples/MEI status. Source: BrasilAPI by default (free aggregator over Receita Federal Open Data). Set CNPJ_PROVIDER=minhareceita to switch.

Input parameters:

- `cnpj` (string, required): CNPJ in any format — punctuation is stripped. 14 digits expected.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 68
- 2026-08-01: 24
- 2026-07-31: 32
- 2026-07-29: 50
- 2026-07-28: 50
- 2026-07-27: 50

## Links

- npm package: https://www.npmjs.com/package/@licinexusbr/mcp
- Socket report: https://socket.dev/npm/package/@licinexusbr/mcp
- Repository: https://github.com/Licinexus/licinexus-mcp
- Changelog RSS feed: https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/licinexus-mcp/licinexusbr-mcp
