Br MCP Server

MCP server for Brazilian federal law: legislation, DataJud, STJ, CARF, TST, TCU citations.

Local serverstdioPython

What is the Br MCP server?

Br MCP server is a locally run integration for AI assistants that speak the Model Context Protocol. MCP server for Brazilian federal law: legislation, DataJud, STJ, CARF, TST, TCU citations.

What you get

MCP server for eight keyless, no-registration Brazilian open-data APIs:

What the assistant can call

Once Br is connected, these are the calls the assistant has available:

  • br_search_proposicoes — List bills by type (PL, PLP, PEC, ...) and year
  • br_get_proposicao — Full detail + current status for one bill by id
  • br_get_norma — Resolve an enacted Norma Juridica by URN Lex - identification, DOU provenance, amendment history, STF notes
  • br_get_norma_index — List the addressable structure of a Norma (parts, books, titles, chapters, sections, articles)
  • br_get_norma_texto — Fetch the real text of one article (dispositivo) of a Norma
  • br_search_processos — Search court dockets (metadata only) in one tribunal's DataJud CNJ index
  • br_get_processo — Fetch one court docket by exact CNJ unified process number
  • br_search_case_stj — Search STJ acordaos (real ruling text) by process number or free text
  • br_get_case_stj — Fetch one STJ acordao by exact process number - ementa + ruling body text
  • br_get_case_carf — Fetch one CARF tax acordao by exact docket or decision number - ementa + ruling body text
  • br_search_case_tst — Search TST labor-court rulings by free text (real ruling text; 3.75M acordaos)
  • br_get_case_tst — Fetch one TST ruling by exact CNJ unified process number - ementa + inteiro teor

Configuration and credentials

You will need 8 environment variables: BR_ELI_BASE_URL, BR_ELI_NORMA_BASE_URL, BR_ELI_TEXT_BASE_URL, BR_ELI_DATAJUD_BASE_URL, BR_ELI_STJ_BASE_URL, BR_ELI_CARF_BASE_URL, BR_ELI_TST_BASE_URL, BR_ELI_TCU_BASE_URL. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Setting it up

br-eli-mcp on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

Among the developer tooling options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Br's toolset — br_search_proposicoes, br_get_proposicao, br_get_norma and 11 more — is a fair guide to whether it matches your workflow. It is maintained by matematicsolutions; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Br.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the br mcp server does with a few real requests.

Available tools

ToolWhat it does
br_search_proposicoesList bills by type (PL, PLP, PEC, ...) and year
br_get_proposicaoFull detail + current status for one bill by id
br_get_normaResolve an enacted Norma Juridica by URN Lex - identification, DOU provenance, amendment history, STF notes
br_get_norma_indexList the addressable structure of a Norma (parts, books, titles, chapters, sections, articles)
br_get_norma_textoFetch the real text of one article (dispositivo) of a Norma
br_search_processosSearch court dockets (metadata only) in one tribunal's DataJud CNJ index
br_get_processoFetch one court docket by exact CNJ unified process number
br_search_case_stjSearch STJ acordaos (real ruling text) by process number or free text
br_get_case_stjFetch one STJ acordao by exact process number - ementa + ruling body text
br_get_case_carfFetch one CARF tax acordao by exact docket or decision number - ementa + ruling body text
br_search_case_tstSearch TST labor-court rulings by free text (real ruling text; 3.75M acordaos)
br_get_case_tstFetch one TST ruling by exact CNJ unified process number - ementa + inteiro teor
br_search_case_tcuSearch TCU (Federal Court of Accounts) acordaos by free text (525K acordaos)
br_get_case_tcuFetch one TCU acordao by (numero, ano, colegiado) - deliberation + report + vote text

How to install the Br MCP server

{
  "mcpServers": {
    "br-eli": {
      "command": "uvx",
      "args": ["br-eli-mcp"],
      "env": {
        "BR_ELI_BASE_URL": "your-value",
        "BR_ELI_NORMA_BASE_URL": "your-value",
        "BR_ELI_TEXT_BASE_URL": "your-value",
        "BR_ELI_DATAJUD_BASE_URL": "your-value",
        "BR_ELI_STJ_BASE_URL": "your-value",
        "BR_ELI_CARF_BASE_URL": "your-value",
        "BR_ELI_TST_BASE_URL": "your-value",
        "BR_ELI_TCU_BASE_URL": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
BR_ELI_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_NORMA_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_TEXT_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_DATAJUD_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_STJ_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_CARF_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_TST_BASE_URLEndpoint or connection string the server talks to.Yes
BR_ELI_TCU_BASE_URLEndpoint or connection string the server talks to.Yes

Example prompts to try

  • Use Br to br search proposicoes.
  • Use Br to br get proposicao.
  • Use Br to br get norma.

Frequently asked questions

It connects Br to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (br_search_proposicoes, br_get_proposicao, br_get_norma, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Br directly.