Skip to main content
Glama
brdata-mcp

brdata-mcp

by thomenz

brdata-mcp

An MCP (Model Context Protocol) server for Brazilian company & public-procurement data, for agent harnesses (Claude Code, Claude Desktop, …). It covers: CNPJ company registry lookup (basic + full due-diligence), company search/discovery across ~28M active companies by filters (CNAE activity, state/city, size, MEI, name), public tenders / licitações via PNCP (decode Compras.gov.br IDs, resolve, header, line items, edital documents, keyword search), NF-e & boleto decoding, CEP lookup, and batch document validation — for KYB, due diligence, and B2G (public-sector) sales intelligence.

Paid tools automatically settle the underlying x402-protected HTTP endpoints in USDC on Base or Solana using a wallet you configure; a call is charged only on success. Configure a Base wallet (EVM_PRIVATE_KEY), a Solana wallet (SOLANA_PRIVATE_KEY), or both — the x402 layer settles on whichever rail the server's 402 challenge advertises.

Tools

Tool

Endpoint

Price

Description

lookup_company

GET /company/{cnpj}

$0.005

Consolidated registry profile

lookup_company_full

GET /company/{cnpj}/full

$0.03

+ partners (QSA) + sanctions

screen_company_risk

GET /risk/company/{cnpj}

$0.015

Regulatory risk & compliance screen across 5 federal registries: debarment (CEIS), anti-corruption (CNEP), impeded non-profits (CEPIM), leniency & forced-labor register ("Lista Suja", MTE) → verdict + 0–100 score + per-source data_as_of

decode_nfe_key

GET /nfe/{key}

$0.005

NF-e/NFC-e 44-digit access-key decoder

decode_boleto

POST /boleto/decode

$0.005

Boleto digitable-line decoder

validate_documents

POST /validate/batch

$0.001

Batch validate CPF/CNPJ/PIS/plate/Pix (≤100)

lookup_cep

GET /cep/{cep}

$0.002

Enriched postal-code lookup

search_companies

POST /companies/search

$0.015/page

Search & segment active companies by CNAE/location/size/age/name

decode_tender_id

GET /tender/decode/{id}

$0.005

Offline decode of a Compras.gov.br 17-digit tender id

resolve_tender

POST /tender/resolve

$0.02

Resolve any tender reference (id/URL/control number) to PNCP + summary

get_tender

GET /tender/{cnpj}/{year}/{seq}

$0.01

Full tender header (PNCP)

get_tender_items

GET /tender/{cnpj}/{year}/{seq}/items

$0.03

All tender items + ME/EPP-exclusive flags

get_tender_documents

GET /tender/{cnpj}/{year}/{seq}/documents

$0.01

Tender document URIs (no PDF download)

search_tenders

POST /tender/search

$0.05

Search public tenders (PNCP) by keyword

validate_cnpj

GET /validate/{cnpj}

free

Single CNPJ check-digit validation

search_companies requires the Worker to have the Phase 2 database configured (Hyperdrive); otherwise it returns a 503 (and no payment is charged). MEI contact data is redacted (LGPD).

Related MCP server: cnpjaberto

Configuration

Environment variables:

Var

Required

Default

Meaning

BRDATA_BASE_URL

no

https://brdata.thomenz.me

Base URL of a brdata Worker (defaults to the hosted production API)

EVM_PRIVATE_KEY

for paid tools (Base)

—

0x-prefixed key of the paying Base wallet (holds USDC)

SOLANA_PRIVATE_KEY

for paid tools (Solana)

—

base58 or JSON-array secret key of the paying Solana wallet (holds USDC). Configure this and/or EVM_PRIVATE_KEY

SOLANA_RPC_URL

no

public RPC

Optional Solana RPC override used to build the payment (e.g. a Helius URL)

X402_NETWORK

no

base

base (mainnet, matches the default URL) or base-sepolia (testnet → Solana devnet)

⚠️ Security

EVM_PRIVATE_KEY controls real funds. Anything that can read this process' environment (or the MCP config file) can spend from that wallet.

  • Use a dedicated wallet with a small balance, funded only with what you're willing to auto-spend. Never a personal or treasury key.

  • On testnet (base-sepolia) use test USDC only.

  • The key is read from the environment; it is never sent anywhere except to sign x402 payment authorizations for BRDATA_BASE_URL.

Use with Claude Code / Claude Desktop

Add to your mcpServers configuration:

{
  "mcpServers": {
    "brdata": {
      "command": "npx",
      "args": ["-y", "brdata-mcp"],
      "env": {
        "EVM_PRIVATE_KEY": "0x<dedicated-wallet-key-with-USDC>"
      }
    }
  }
}

For local development against wrangler dev, point BRDATA_BASE_URL at http://localhost:8787 and use X402_NETWORK=base-sepolia with a testnet wallet.

If you run from source instead of npm, use:

{
  "mcpServers": {
    "brdata": {
      "command": "node",
      "args": ["/absolute/path/to/packages/brdata-mcp/dist/index.js"],
      "env": { "BRDATA_BASE_URL": "http://localhost:8787", "EVM_PRIVATE_KEY": "0x...", "X402_NETWORK": "base-sepolia" }
    }
  }
}

Example

"Use brdata to run full due diligence on CNPJ 00.000.000/0001-91."

The agent calls lookup_company_full, which pays $0.03 in USDC and returns the consolidated English profile with partners and sanction checks.

Build & publish

pnpm install
pnpm run build        # emits dist/
pnpm run typecheck
# publish (see checklist in the main repo README before doing this):
npm publish --access public

License

MIT

Available Tools

15 tools
decode_boletoDecode boleto digitable lineA

Decode a Brazilian boleto linha digitável (47 or 48 digits): bank, amount, due date, validity. Paid ($0.005).

Inputs: digitable_line (required).

decode_nfe_keyDecode NF-e access keyA

Decode a 44-digit Brazilian electronic invoice (NF-e/NFC-e) access key: issuer CNPJ, state, emission date, invoice number, model. Paid ($0.005).

Inputs: access_key (required).

decode_tender_idDecode a Compras.gov.br tender id (offline)A

Offline decode of a Compras.gov.br 17-digit tender id (UASG + modality + number + year), with the modality name in English. Paid ($0.005).

Inputs: id (required).

get_tenderGet a Brazilian tender header (PNCP)A

Full header of a Brazilian public tender by PNCP coordinates: object, modality, status, estimated value, opening/closing dates, buyer, price-registration flag. Paid ($0.01).

Inputs: seq (required), cnpj (required), year (required).

get_tender_documentsList documents of a Brazilian tender (PNCP)A

Document list (download URIs) of a Brazilian public tender. ZIPs usually contain the full edital PDF and item list. Metadata only — files are not fetched. Paid ($0.01).

Inputs: seq (required), cnpj (required), year (required).

get_tender_itemsGet all items of a Brazilian tender (PNCP)A

All items of a Brazilian public tender: quantities, maximum accepted prices, units, and SME-exclusive (ME/EPP) flags. Essential for bid/no-bid analysis. Paid ($0.03).

Inputs: seq (required), cnpj (required), year (required).

lookup_cepLookup Brazilian postal code (CEP)A

Enriched CEP lookup: full address, IBGE city code, coordinates when available. Paid ($0.005).

Inputs: cep (required).

lookup_companyLookup Brazilian company (basic)A

Consolidated official registry profile of a Brazilian company by CNPJ: legal name, status, activities (CNAE), address, incorporation date. Paid ($0.01).

Inputs: cnpj (required).

lookup_company_fullLookup Brazilian company (full due diligence)A

Full profile: everything in lookup_company plus partners/shareholders (QSA) and government sanction checks (CEIS/CNEP). Paid ($0.10).

Inputs: cnpj (required).

resolve_tenderResolve a Brazilian tender reference to PNCPA

Resolve any Brazilian public tender reference (Compras.gov.br 17-digit id or URL, PNCP URL, or control number) into canonical PNCP coordinates + a summary (object, modality, estimated value, dates). Paid ($0.02).

Inputs: reference (required).

screen_company_riskBrazilian regulatory risk & compliance screenA

Screen a Brazilian company by CNPJ against the federal debarment (CEIS), anti-corruption (CNEP) and leniency-agreement registries. Returns a single verdict (clear/flagged) + 0–100 risk score, each hit flagged active vs historical. The Brazilian complement that global OFAC/EU/UK/UN + PEP screens miss — a company barred by the Brazilian government comes back clean on those. Company-level public data; no CPF (LGPD). Paid ($0.03).

Inputs: cnpj (required).

search_companiesSearch & segment active Brazilian companiesA

Search active Brazilian companies by industry (CNAE prefix, main activity), location (state/city), size, age (registration date) and legal-name substring. Returns official registry data with business contact info (MEI contacts are redacted under LGPD). Cursor paginated. Paid per page ($0.05). At least one filter is required.

Inputs: city, cnae, state, cursor, +8 more.

search_tendersSearch Brazilian public tenders (PNCP)A

Search Brazilian public procurement tenders (PNCP) by keyword. Returns normalized references (CNPJ/year/sequential, control number, PNCP URL) ready for detail lookups. Paid ($0.05).

Inputs: query (required), page.

validate_cnpjValidate a CNPJ (free)A

Free local check-digit/format validation of a single CNPJ (numeric or alphanumeric). No payment required.

Inputs: cnpj (required).

validate_documentsBatch-validate Brazilian identifiersA

Validate up to 100 Brazilian identifiers: CPF, CNPJ (incl. alphanumeric), PIS, license plates, Pix keys. Paid ($0.002).

Inputs: documents (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 15 tools

    Disambiguation5/5

    Each tool serves a distinct function (decoding, tender info, company lookup, validation, CEP) with no overlaps. Tools are clearly separated by domain and action.

    Naming Consistency5/5

    All tools follow the consistent snake_case verb_noun pattern (e.g., decode_boleto, get_tender, search_companies), using verbs like decode, lookup, get, search, validate.

    Tool Count5/5

    15 tools are well-scoped for a specialized Brazilian public data server, covering tenders, companies, documents, CEP, and validation without being excessive.

    Completeness5/5

    The tool surface covers the core workflows: decoding common identifiers, full tender lifecycle (search, get, documents, items), company profiles with risk screening, and document validation, with no obvious gaps.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      An MCP server for querying data on 27 million Brazilian companies from the Federal Revenue, enabling searches by CNPJ, company name, location, and industry. It supports advanced features like partner discovery, sector benchmarking, and similarity analysis.
      16
      17 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for querying Brazilian CNPJ company data, including partner graphs, address/contact joins, CNAE statistics, and national/annual overviews.
      MIT