br-eli-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BR_ELI_BASE_URL | No | Base URL for the Camara dos Deputados open-data API | https://dadosabertos.camara.leg.br/api/v2 |
| BR_ELI_AUDIT_DIR | No | Audit log directory | ~/.matematic/audit |
| BR_ELI_CACHE_DIR | No | Cache directory for API responses | ~/.matematic/cache/br-eli |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| br_search_proposicoesA | List Brazilian federal bills (proposicoes) of a given type and year. |
| br_get_proposicaoA | Fetch full detail (including current status) for one bill by its numeric id. |
| br_get_normaA | Resolve a Brazilian Norma Juridica (enacted law/decree/amendment) by its URN Lex. Identification + Diario Oficial da Uniao publication provenance + amendment history + any STF unconstitutionality notes - NOT the full compiled article text (no confirmed URL rule to Planalto; see DISCOVERY.md). |
| br_get_norma_indexA | List the addressable structure of a Norma Juridica: parts, books, titles, chapters, sections, and articles, in document order. Use this to find the |
| br_get_norma_textoA | Fetch the real text of one dispositivo (article, or a titulo/capitulo header) of a Norma Juridica. An article's text includes its caput and every paragraph/inciso/alinea beneath it, concatenated in document order - not a summary. |
| br_search_processosA | Search court dockets (procedural metadata, NOT ruling text) in one tribunal's DataJud CNJ index. DataJud carries classe/assuntos/orgaoJulgador and the full procedural
timeline ( |
| br_get_processoA | Fetch one court docket by its exact CNJ unified process number. |
| br_search_case_stjA | Search STJ (Superior Tribunal de Justica) acordaos - real ruling text. Unlike |
| br_get_case_stjA | Fetch one STJ acordao by its exact numeroProcesso, with real ruling text. |
| br_get_case_carfA | Fetch one CARF (tax appeals) acordao by exact docket or decision number. Exactly one of |
| br_search_case_tstA | Search TST (labor supreme court) rulings by free text - real ruling text. The query goes into the TST frontend's own "contendo as palavras" (AND)
field - quote an expression for an exact-phrase match, e.g.
|
| br_get_case_tstA | Fetch one TST ruling by its exact CNJ unified process number - real
ruling text ( |
| br_search_case_tcuA | Search TCU (Federal Court of Accounts) acordaos - public-procurement and public-spending jurisprudence. Returns summaries ( |
| br_coverageA | Declare what this connector covers, how it is sourced, and what it does NOT cover. Call this before telling a user that the law "does not contain" something, and whenever a search comes back empty: the absence may be a gap in this connector rather than in the law. Every gap carries a fallback saying where to look instead. Returns:
|
| br_get_case_tcuA | Fetch one TCU acordao with the real ruling text: A TCU acordao is uniquely identified by (numero, ano, colegiado) - the
same numero/ano recurs across the Plenario and the two Camaras. When
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool targets a distinct court or legal resource, with clear search/get pairs separated by entity type. Even similar tools like br_search_processos and br_search_case_stj are explicitly disambiguated as metadata-only versus full ruling text.
The br_search_* and br_get_* verb_noun pattern is consistently applied across courts, processes, proposicoes, and normas. The only real deviation is br_coverage, which is a noun-only command rather than a verb-led action.
15 tools is well-scoped for a Brazilian legal research connector spanning multiple courts and legislative sources. Each tool has a distinct responsibility, and the count matches the breadth of the domain without redundancy.
Core search-and-retrieve workflows are covered for TCU, STJ, TST, DataJud processos, proposicoes, and normas. CARF has no free-text search and STF jurisprudence is absent, but the explicit br_coverage tool documents these gaps and provides fallbacks, so agents are not left with silent dead ends.