Skip to main content
Glama
assessorAI

assessorai-dados

Official
by assessorAI

AssessorAI Dados Legislativos

Dados abertos de proposições legislativas brasileiras para pesquisadores, desenvolvedores e agentes de IA.

Como usar

Escolha a interface mais adequada:

Quero...

Use

conectar um agente de IA

MCP: https://api-staging-aa9d.up.railway.app/mcp/

pesquisar pela web ou por código

API REST e Swagger

analisar o corpus completo

GitHub Release mais recente

entender arquitetura e formatos

Especificações técnicas

O acesso é público e somente leitura. Não é necessário fornecer credenciais para o uso normal.

Conectar um agente pelo MCP

Adicione este servidor à configuração de um cliente compatível com MCP Streamable HTTP:

{
  "mcpServers": {
    "assessorai-dados": {
      "type": "http",
      "url": "https://api-staging-aa9d.up.railway.app/mcp/"
    }
  }
}

Depois de conectado, o agente passa a enxergar sete ferramentas:

Ferramenta

Para que serve

search_propositions

busca por texto, identificador, casa, localidade, tipo, ano ou autor

get_proposition

retorna metadados e proveniência de uma proposição

read_proposition_text

lê o texto integral em páginas, sem estourar o contexto do agente

find_related_propositions

encontra proposições relacionadas

list_sources

lista casas legislativas, atribuição e situação de redistribuição

get_dataset_release

retorna versão, cobertura e manifesto do dataset

get_dataset_download

produz o link público de um arquivo no GitHub Releases

Exemplos de pedidos que podem ser feitos ao agente:

Encontre projetos de lei sobre dados abertos apresentados em 2024.

Leia o texto do projeto encontrado e me mostre a URL oficial e a versão do dataset.

Quais proposições são relacionadas a este UUID?

Me dê o link do JSONL completo da release mais recente.

O fluxo é simples: o agente escolhe uma ferramenta, o MCP consulta o índice PostgreSQL/pgvector e devolve dados estruturados. Textos longos são paginados. Arquivos completos não passam pelo servidor: get_dataset_download aponta diretamente para os assets públicos e imutáveis no GitHub.

Baixar todos os dados

Release atual: 2026.08.31, com 26.816 proposições de 18 fontes.

# Manifesto, cobertura, fontes e checksums
curl -L -o manifest.json \
  https://github.com/assessorAI/assessorai-dados/releases/latest/download/manifest.json

# Corpus canônico completo em JSON Lines + Zstandard
curl -L -o propositions.jsonl.zst \
  https://github.com/assessorAI/assessorai-dados/releases/latest/download/propositions--part-0000.jsonl.zst

# Metadados tabulares
curl -L -o metadata.csv.zst \
  https://github.com/assessorAI/assessorai-dados/releases/latest/download/metadata--part-0000.csv.zst

Os arquivos Parquet são separados deterministicamente por casa e ano e podem ser baixados na página da release. Comece pelo manifest.json: ele contém o SHA-256, tamanho, formato e número de linhas de cada asset.

Consultar pela API REST

Busca textual com filtros:

curl --get 'https://api-staging-aa9d.up.railway.app/v1/propositions' \
  --data-urlencode 'query=dados abertos' \
  --data-urlencode 'year=2024' \
  --data-urlencode 'limit=10'

Outros pontos de entrada úteis:

GET /v1/propositions/{id}
GET /v1/propositions/{id}/text?offset=0&max_chars=20000
GET /v1/propositions/{id}/related
GET /v1/sources
GET /v1/datasets/releases
GET /v1/datasets/releases/latest
GET /v1/datasets/releases/latest/download/{asset_name}

A paginação de buscas usa next_cursor. O texto integral usa offset e next_offset. Respostas incluem a versão do dataset e preservam URLs oficiais e proveniência.

Limites e licença

  • Acesso público: 60 chamadas por minuto por IP.

  • Chaves opcionais podem receber limites maiores.

  • A compilação é distribuída sob CC BY 4.0.

  • Textos legislativos e atos oficiais são tratados conforme o art. 8º, IV, da Lei 9.610/1998.

  • Logotipos, fotografias, elementos gráficos e obras de terceiros não fazem parte do corpus redistribuído.

Para schemas, construção de releases, busca híbrida, banco, segurança, variáveis de ambiente e deploy, consulte as especificações técnicas.

Available Tools

7 tools
get_dataset_downloadC

Get a public GitHub Release URL for a named dataset asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNolatest
asset_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the only source of behavioral context, but it only states that the URL is public and that the operation is a read of a release URL. It does not disclose whether network access is required, how missing assets are handled, or what the returned URL represents beyond being a download link.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence with no filler and the main action is front-loaded. It sacrifices some helpful detail, but as a concise statement it is well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter getter with an output schema, some missing context is tolerable, but the absence of any distinction from get_dataset_release and the lack of version semantics leaves a meaningful gap. The agent cannot fully determine when this tool is the right choice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only maps to asset_name via 'named dataset asset' and says nothing about the version parameter or the 'latest' default. An agent is left to infer that version is optional and has no semantics for how versions map to release tags.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('public GitHub Release URL for a named dataset asset'), which clearly identifies the tool's function. It does not explicitly differentiate itself from the sibling get_dataset_release, so it stops short of full sibling-level clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to use this tool versus get_dataset_release or the other sibling tools. There are no alternative names, no exclusions, and no contextual conditions, so an agent has no guidance to select it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dataset_releaseC

Get a release manifest and its coverage metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNolatest

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the burden; it does signal a read-only retrieval operation and identifies the two artifacts returned. However, it does not explain how version selection behaves, whether any system state is read, or what 'coverage metadata' includes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one compact sentence with the verb and object first and no filler words. It earns a high conciseness score even though the content could be richer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and an output schema, so the description is not drastically incomplete. Yet it leaves release terminology, alternatives, and version semantics unexplained, which is a noticeable gap for an agent choosing among several dataset-related siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single version parameter with 0% description coverage, and the tool description never mentions the parameter, its format, or how 'latest' is resolved. The description fails to compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and target ('release manifest'), and additionally names what is returned ('coverage metadata'). It is clear but does not explicitly distinguish itself from the sibling get_dataset_download or define what a 'release' means in this domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to call this tool rather than list_sources, get_proposition, or get_dataset_download. The context around release manifests is left entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_propositionA

Get canonical metadata and provenance for one proposition UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposition_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. 'Get' clearly implies a read operation, and 'canonical metadata and provenance' adds some context, but the description does not disclose behavior such as error handling, whether the UUID must be an exact canonical ID, or any data freshness/versioning considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the verb and resource with zero filler. Every word contributes meaning, and the description is appropriately sized for a one-parameter getter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input (one required UUID), the presence of an output schema, and no nested objects or enums, the description is sufficient for an agent to invoke the tool correctly. It clearly identifies what is returned and the expected identifier.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only a title for proposition_id with 0% coverage, so the description must compensate. It does so by specifying that the parameter is a proposition UUID, adding format and semantic meaning that the schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get'), a clear resource ('canonical metadata and provenance'), and a precise scope ('for one proposition UUID'). This distinguishes it from sibling tools like list_sources or read_proposition_text, which target different resources or operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the correct usage context: call this tool when you have a single proposition UUID and need its canonical metadata/provenance. It does not explicitly name alternatives or exclusions, but the singular-UUID scope provides clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sourcesA

List data sources, jurisdictions, licenses and redistribution status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden; 'List' implies a read-only enumeration and the scope is described. However, it does not disclose whether authentication is required, whether all sources are returned, or any pagination/limitation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word contributes to the tool's purpose and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a no-parameter list operation, and an output schema exists, so the description need not explain return values. The short definition is complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the 0-parameter baseline of 4 applies; there are no parameter semantics the description needs to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'List' with the resource 'data sources' and names the returned dimensions (jurisdictions, licenses, redistribution status). This clearly differentiates it from the sibling tools, which focus on propositions and dataset downloads.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit: an agent can infer this tool is for obtaining an inventory of available data sources. However, the description does not state when to use it over alternatives or provide any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_proposition_textB

Read a bounded page of a proposition's full text.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNo
max_charsNo
proposition_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must carry the behavioral disclosure burden. 'Bounded page' does reveal that a call returns only a portion rather than the entire full text, and the offset/max_chars parameters in the schema reinforce pagination. However, it doesn't disclose page size limits, offset semantics, error behavior, or whether calls are safe/read-only, so the disclosure is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence that front-loads the core operation and omits filler. Every word earns its place and the structure is immediately scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and only three simple parameters, the description is near the minimum viable level, but it leaves pagination mechanics and usage context to be inferred. An agent could likely call it correctly by relying on parameter names and defaults, yet the description alone is not rich enough to feel complete for repeated paging.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. 'Bounded page' gives a rough idea that offset and max_chars control the window, but it doesn't define units, limits, defaults, or how to page sequentially. Parameter names are suggestive, but the description adds only general context rather than precise semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Read') and resource ('a bounded page of a proposition's full text'), making it clear this is about fetching text content rather than metadata or summaries. The resource is concrete, but it doesn't explicitly distinguish itself from get_proposition, which could also serve text, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for reading chunks of long text, but it never states when to choose this instead of get_proposition or search_propositions, nor does it mention any exclusions or alternatives. No context about typical workflow or prerequisites is provided, leaving an agent to infer usage from name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_propositionsC

Search propositions using identifiers, text, semantic similarity and filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
houseNo
limitNo
queryNo
stateNo
authorNo
cursorNo
municipalityNo
proposition_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavior beyond the basic action, but it only rephrases the tool's function. It omits cursor-based pagination, how semantic similarity is computed or triggered, whether filters combine with AND/OR, and any read-only guarantee, leaving the agent guessing about execution details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence that efficiently establishes the tool's purpose. It contains no wasted words, but the brevity is partly responsible for the lack of detail in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no annotations and no schema descriptions, this description is far too sparse; it doesn't clarify expected value formats (year, house, state), pagination via cursor/limit, or whether semantic similarity requires a non-empty query. An agent cannot reliably select and invoke parameters from this text, even though an output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description had to explain the nine parameters, but it never maps 'identifiers', 'text', or 'filters' to specific fields such as query, year, house, state, author, municipality, proposition_type, cursor, or limit. This leaves the agent without meaningful guidance for constructing a valid search request.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Search propositions') and names four search modes: identifiers, text, semantic similarity, and filters. It distinguishes from siblings like get_proposition and read_proposition_text, though it doesn't detail which identifiers or filter fields are supported.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No sentences address when to use this tool instead of siblings; it never references get_proposition, find_related_propositions, or read_proposition_text, nor any conditions or exclusions. The verb 'Search' implies a discovery use case, but that is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.0
    • First observedfind_related_propositions
    • First observedget_dataset_download
    • First observedget_dataset_release
    • First observedget_proposition
    • First observedlist_sources
    • First observedread_proposition_text
    • First observedsearch_propositions

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct task: metadata lookup, source enumeration, search, text paging, related-item discovery, release manifest retrieval, and download URL resolution. Even the release/download pair is clearly separated by manifest metadata versus asset URL.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (get, list, search, read, find). The naming style is uniform and predictable across the entire set.

Tool Count5/5

Seven tools is well-scoped for a read-only legislative data API. Each tool covers a meaningful part of the workflow without redundancy or bloat.

Completeness5/5

The tool surface covers the full read-only lifecycle: discovery via search, metadata retrieval, full-text access, related-proposition exploration, and dataset distribution. Dependencies between tools are coherent, with no obvious dead ends for common workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables access to comprehensive U.S. legislative and governmental data from GovInfo.gov and Congress.gov APIs, including bills, Congressional records, Federal Register documents, member information, and committee activities.
    1
    -
  • A
    license
    B
    quality
    Not graded
    maintenance
    Enables interaction with the Brazilian Chamber of Deputies Open Data API, providing access to information about legislators, legislative proposals, voting records, events, committees, and parliamentary activities through 57 typed and validated tools.
    63
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to query Brazilian Senate data including senators, bills, voting records, committees, and plenary sessions through natural language.
    9 npm
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides tools to search and retrieve US federal and state legislative data, including bills, votes, campaign contributions, and legislator information, with provenance tracking.
    8
    1
    MIT