Tribunus Brasil MCP
In the tradition of the Roman Tribunus Plebis, auditing and scrutinizing public representatives in defense of the public interest.
Tribunus Brasil MCP is an open-source Model Context Protocol (MCP) server that connects Large Language Models directly to open data from the Brazilian National Congress (Federal Senate and Chamber of Deputies).
Beyond standard API data retrieval, it equips LLMs with structured transparency audits (CEAP expenditures, voting histories, institutional attendance) and qualitative evaluation rubrics (Matriz de Postura Parlamentar - MPP) across geopolitical, economic, democratic, and socio-environmental dimensions.
Quickstart
Using uvx (Recommended for Claude Desktop, Cursor, Zed, Antigravity)
Add the following to your MCP client configuration (e.g. claude_desktop_config.json or mcp_config.json):
{
"mcpServers": {
"tribunus-brasil": {
"command": "uvx",
"args": ["tribunus-brasil-mcp"]
}
}
}
Local Development / Installation from Source
-
Clone the repository:
git clone https://github.com/GBdeMiranda/mcp_brl_congress.git cd mcp_brl_congress
-
Install dependencies and editable package:
pip install -e .
-
Run the server manually:
tribunus-brasil-mcp
Available Tools
All tools return structured, LLM-optimized JSON:
-
getParliamentarianProfile(name, house, includeVotes, limit):- Retrieves the unified bicameral profile of any Brazilian parliamentarian (Senator or Federal Deputy).
- Consolidates civil name, parliamentary name, house (
Senado FederalorCâmara dos Deputados), party, state (UF), email, photo, active committee assignments, and authored legislative proposals. house:'auto'(default),'senado', or'camara'.
-
searchLegislativeProposals(keyword, year, limit):- Searches for specific legislative proposals and bills (e.g.,
PL 2630/2020) using keywords and optional year filters.
- Searches for specific legislative proposals and bills (e.g.,
-
getBillText(number, year):- Retrieves metadata, current status, primary document URL, and extracted textual content from bills (with automatic PDF text extraction).
-
getParliamentarianExpenses(name, house, year, month, limit):- Retrieves itemized and aggregated CEAP (Cota para o Exercício da Atividade Parlamentar) expenditures.
- Calculates total spending, categorical breakdown (airfare, housing, publicity, advisory), and top supplier receipts.
-
getParliamentarianActivity(name, house, startDate, endDate, limit):- Retrieves institutional activity records including plenary sessions, committee deliberations, public hearings, and floor speeches.
-
getParliamentarianVotes(name, house, limit, year):- Retrieves nominal roll-call voting records, detailing bill subjects and the legislator's specific vote positions (
Sim,Não,Abstenção,Obstrução).
- Retrieves nominal roll-call voting records, detailing bill subjects and the legislator's specific vote positions (
-
evaluateParliamentarian(name, house, year):- Consolidates biographical data, CEAP expenses, committee assignments, authored proposals, attendance, and roll-call votes alongside the qualitative Matriz de Postura Parlamentar (MPP) guidelines.
-
searchCongressionalThemes(theme, house, limit, year):- Synthesizes congressional activity surrounding a public policy topic (e.g. "inteligência artificial", "reforma tributária", "transição energética") into a consolidated bicameral overview.
Data Sources
- Federal Senate:
https://legis.senado.leg.br/dadosabertos - Chamber of Deputies:
https://dadosabertos.camara.leg.br/api/v2
License
MIT License.
Release files for tribunus-brasil-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tribunus_brasil_mcp-0.1.0.tar.gz | 48.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tribunus_brasil_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 67.8 kB
Release files / tribunus_brasil_mcp-0.1.0.tar.gz
| Download URL | tribunus_brasil_mcp-0.1.0.tar.gz |
|---|---|
| Size | 48.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f2a6b70025ee567fa69759090c2088f3c2873fe979c51be493900eb10e65971
|
|
BLAKE2b-256 checksum How to use checksums |
86ad7464f6d9c3dc3a6cb5101d8ec03a20440764a90870cdc25992db4e6cbdee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency logRelease files / tribunus_brasil_mcp-0.1.0-py3-none-any.whl
| Download URL | tribunus_brasil_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0453751b89df2860ac9385408597d0d4abee41b4ed6a83945b877503b3a1ef0e
|
|
BLAKE2b-256 checksum How to use checksums |
64481b8da7ae7e156a843c2cc0cfb35d8b9f4d0af4eb989dff5b1975eabbbd14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 22, 2026.
Transparency log