Brdata Mcp

io.github.thomenzPublished by GitHub account thomenzv0.3.7Updated Oct 24, 2026

Brazilian company, risk & public-tender data (CNPJ, CEIS/CNEP, PNCP) as x402-paid agent tools

VerifiedSTDIODesktop onlyFinanceBusiness & Commerce

Overview

AI-generated overview

MCP server for Brazilian company, risk and public-tender data (CNPJ, CEIS/CNEP, PNCP), with per-call payments in USDC from a wallet you configure.

What you can do
Look up CNPJ company profiles, including a full due-diligence view with partners and sanctions, and screen regulatory risk across federal registries with a verdict and score. Search and segment active companies by CNAE activity, location, size, age and name. Decode and resolve public tenders from Compras.gov.br and PNCP, including headers, line items, document links and keyword search. Decode NF-e access keys and boleto lines, look up postal codes, and batch-validate CPF, CNPJ, PIS, plate and Pix identifiers. Validate a single CNPJ check digit for free.
When to use it
Useful for KYB, supplier due diligence, compliance screening and B2G sales intelligence on Brazilian companies and public procurement, when an assistant should fetch this data directly and pay per call.
Requirements
Runs locally via npx or Node.js. Paid tools need a dedicated Base wallet key in EVM_PRIVATE_KEY and/or a Solana wallet key in SOLANA_PRIVATE_KEY, holding USDC. Optional BRDATA_BASE_URL, SOLANA_RPC_URL and X402_NETWORK (base or base-sepolia). Network access to the brdata API.
Before you install
EVM_PRIVATE_KEY and SOLANA_PRIVATE_KEY control real funds and can be spent automatically by anything that reads the process environment or MCP config; use dedicated wallets with small balances, never personal or treasury keys. Each paid call costs USDC, charged only on success. Testnet mode should use test USDC only. MEI contact data is redacted under LGPD.

Installation

In SourceWeft

  1. Open Brdata Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

ToolEndpointPriceDescription
lookup_companyGET /company/{cnpj}$0.005Consolidated registry profile
lookup_company_fullGET /company/{cnpj}/full$0.03+ partners (QSA) + sanctions
screen_company_riskGET /risk/company/{cnpj}$0.015Regulatory 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_keyGET /nfe/{key}$0.005NF-e/NFC-e 44-digit access-key decoder
decode_boletoPOST /boleto/decode$0.005Boleto digitable-line decoder
validate_documentsPOST /validate/batch$0.001Batch validate CPF/CNPJ/PIS/plate/Pix (≤100)
lookup_cepGET /cep/{cep}$0.002Enriched postal-code lookup
search_companiesPOST /companies/search$0.015/pageSearch & segment active companies by CNAE/location/size/age/name
decode_tender_idGET /tender/decode/{id}$0.005Offline decode of a Compras.gov.br 17-digit tender id
resolve_tenderPOST /tender/resolve$0.02Resolve any tender reference (id/URL/control number) to PNCP + summary
get_tenderGET /tender/{cnpj}/{year}/{seq}$0.01Full tender header (PNCP)
get_tender_itemsGET /tender/{cnpj}/{year}/{seq}/items$0.03All tender items + ME/EPP-exclusive flags
get_tender_documentsGET /tender/{cnpj}/{year}/{seq}/documents$0.01Tender document URIs (no PDF download)
search_tendersPOST /tender/search$0.05Search public tenders (PNCP) by keyword
validate_cnpjGET /validate/{cnpj}freeSingle 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).

Configuration

Environment variables:

VarRequiredDefaultMeaning
BRDATA_BASE_URLnohttps://brdata.thomenz.meBase URL of a brdata Worker (defaults to the hosted production API)
EVM_PRIVATE_KEYfor paid tools (Base)—0x-prefixed key of the paying Base wallet (holds USDC)
SOLANA_PRIVATE_KEYfor 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_URLnopublic RPCOptional Solana RPC override used to build the payment (e.g. a Helius URL)
X402_NETWORKnobasebase (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:

json
{  "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:

json
{  "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

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

License

MIT

Source: README.md at commit 2ca58ab

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.7LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts