← Back to directory
L

Licinexus MCP Server

Community
MCP server for Brazilian public procurement and CNPJ data
GitHub source repository ↗
★ 78 Stars Category · Other Popular
46FMRS · D

This is an open-source MCP server focused on Brazilian public procurement and CNPJ open data, covering bids, contracts, price registration records, agencies, PCA, suppliers, and aggregate analysis across 18 tools, 4 prompts, and 2 resources. It is keyless and signup-free with simple install config, making it useful for analysts and developers doing public data queries; it does not provide Licinexus's proprietary matchmaking or scoring, has no official SLA, and its data accuracy depends on upstream public APIs.

Reliability
6/20
Security and permissions
8/20
Maintenance
10/20
Documentation
12/20
Setup experience
10/20
Read the FMRS scoring method →

The Licinexus MCP Server, maintained by Licinexus and released under the MIT license, is distributed as the npm package @licinexusbr/mcp over stdio. It wraps public endpoints of Brazil's Portal Nacional de Contratações Públicas (PNCP) and Receita Federal CNPJ company registry data into 18 tools, 4 prompts, and 2 resources, letting MCP clients such as Claude Desktop, Cursor, Continue, Cline/Roo Code, and Zed answer natural-language questions about bids, contracts, price registration records (ata de registro de preço), public agencies, annual procurement plans (PCA), supplier contracts, and company registration data. The server returns raw structured public data and leaves analysis to the LLM; it deliberately excludes Licinexus's proprietary matchmaking engine, supplier scoring, or AI-generated artifacts. No API keys, signup, or local database are required — data comes directly from public APIs (PNCP and BrasilAPI, with a CNPJ provider switch via environment variable), and the transport is stdio.

Tools

search_licitacoes
Search bids by date, modality, state (UF), agency CNPJ, value, or keyword
get_licitacao
Get full details of a bid by its PNCP control number
list_licitacao_itens
List a bid's items (lots): descriptions, quantities, values
list_licitacao_resultados
List dispute results per item: winners, prices, suppliers
list_licitacao_arquivos
Retrieve bid documents (PDFs, attachments, terms of reference)
search_contratos
Search contracts by date, agency, supplier, or value
get_contrato
Get full details of a contract
list_contrato_termos
List contract amendments (extensions, value or term changes)
list_contrato_instrumentos
List billing instruments (invoices, bills)
search_atas_rp
Search price registration records — only active ones by default; finds usable contracts
get_ata_rp
Get full price registration details plus items (with available balance) and files
get_orgao
Public agency profile (branch of government, sphere, legal nature)
get_fornecedor_contratos
Public contracts of a CNPJ acting as a supplier
search_pca
Annual Procurement Plan (PCA) — an early signal of what will be bought
list_pca_itens
Planned items of a specific PCA
get_cnpj_data
Receita Federal company registry data (CNAEs, partners, capital, status) via BrasilAPI (default) or MinhaReceita
aggregate_licitacoes_por_periodo
Time series of bid counts (and optionally values) over a window of up to 5 years, with day/week/month/year bucketing; filters by modality, UF, municipality, CNPJ, and government sphere
compare_periodos
Compare two periods side by side, returning totals plus absolute and percentage deltas

Setup

  1. Make sure Node.js 18 or later is installed. 2. Add the licinexus server to your MCP client config. For Claude Desktop: open Settings → Connectors → Edit Config and edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json), adding {"licinexus": {"command": "npx", "args": ["-y", "@licinexusbr/mcp"]}} under mcpServers. 3. Save the file, then quit and reopen the client completely (Cmd+Q on macOS — closing the window is not enough). 4. Verify under Settings → Connectors → licinexus that 18 tools are listed. Cursor uses ~/.cursor/mcp.json, Continue uses ~/.continue/config.json, and Zed uses the context_servers field in ~/.config/zed/settings.json. Note that this is a stdio server, so running npx @licinexusbr/mcp directly in a terminal appears to hang — that is normal, it is waiting for a client to connect over JSON-RPC via stdin/stdout.
claude_desktop_config.json
{
  "mcpServers": {
    "licinexus": {
      "command": "npx",
      "args": ["-y", "@licinexusbr/mcp"]
    }
  }
}

Fit and risk

Best for

  • LLM users and analysts who need Brazilian public procurement open data
  • Developers using Claude Desktop, Cursor, Continue, Cline/Roo Code, or Zed
  • Govtech, compliance, supplier intelligence, and bidding researchers
  • Teams wanting keyless, signup-free access to PNCP and CNPJ public data

Not for

  • Users needing Licinexus's proprietary matchmaking engine, supplier scoring, price aggregation, or AI-generated artifacts
  • Scenarios requiring an official SLA or paid support (this is a community project, best effort, no SLA)
  • Users expecting access to private databases or non-public data
  • ChatGPT web users, since the consumer web app does not support MCP stdio

Required permissions

  • Network access to public HTTPS endpoints: PNCP and BrasilAPI (or MinhaReceita)
  • Local execution: downloads and runs the npm package @licinexusbr/mcp via npx, using the local npm cache (e.g. ~/.npm/_npx/)
  • Process communication: JSON-RPC over stdin/stdout with the MCP client
  • In-memory local cache: short-TTL LRU caching of heavy responses
  • Optional environment variables: CNPJ_PROVIDER (brasilapi default or minhareceita), LICINEXUS_LOG_LEVEL, LICINEXUS_LANG
  • No API keys or account credentials required

Risks and side effects

  • Data comes from public government APIs; PNCP can take 15–30 seconds to respond, and broad queries may time out
  • Public data may be delayed, missing, or inconsistent, so LLM output needs human review and should not be the sole basis for legal or bidding decisions
  • npx downloads and executes a third-party npm package, so supply-chain risk depends on the trustworthiness of that package's publishing channel
  • npx caching may run an older version unless @latest is specified
  • Using an absolute npx path from which npx writes a local machine path into your config file
  • Debug logging may include query parameters, so avoid exposing sensitive context

Troubleshooting

  1. 'Server failed to start' or 'command not found: npx': the client cannot find npx on PATH; run which npx and put the absolute path in the config's command field
  2. Tools do not appear after saving config: fully restart the client (Cmd+Q on macOS); MCP servers only load at startup
  3. EACCES or permission errors: run npm cache clean --force and retry npx -y @licinexusbr/mcp
  4. An old version is running: use args ["-y", "@licinexusbr/mcp@latest"]
  5. Timeouts on large queries: PNCP can be slow and the server already implements a retry budget; refine the query with more specific filters
  6. Need logs: run with LICINEXUS_LOG_LEVEL=debug; switch error message language to English with LICINEXUS_LANG=en
  7. Running it directly in a terminal appears to hang: that is expected for a stdio server waiting for a client

Use cases

Ask which IT bids in the Southeast over R$500k were published in the last 7 days
Check whether an active price registration record (ata de registro de preço) still has balance for a keyword in a given state
Look up a CNPJ's contract history with federal agencies over the past two years
See what a municipality plans to buy this year according to its PCA
Produce a feasibility checklist and summary for a bid
Compare bid counts and values across two periods, e.g. to test whether procurement was front-loaded in an election year

Supported clients

Claude DesktopFull support
CursorFull support
Continue.devFull support
ClineFull support
Roo CodeFull support
ZedFull support
ChatGPT DesktopPartial support