Skip to main content
Glama
nutripreco-oficial

Mestre Prático & NutriPreço Official MCP Server

Mestre Prático & NutriPreço • Official MCP Server (Model Context Protocol)

MCP Protocol Cloudflare Edge License: MIT Status: Online

Official sovereign Model Context Protocol (MCP) server for Brazilian Public & Economic Data.
Provides real-time, audited, zero-hallucination data on Fuel Prices (ANP), LPG Cooking Gas 13kg (ANP), Regulated Medicines Maximum Consumer Price & Farmácia Popular (ANVISA / CMED), and Basic Food Basket Cost-of-Living indices (Dieese / Decree 11.936/2024) across all 27 Brazilian states.

Developed and maintained by Holding Arthur Luis Vieira dos Santos.


⚡ Quick Start / Installation

You can connect your AI Agent (Claude Desktop, Cursor, Windsurf, or custom LLM frameworks) using either the Remote HTTP endpoint or the Local STDIO Bridge.

Option 1: Claude Desktop (macOS & Windows)

Add this to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mestre-pratico": {
      "command": "npx",
      "args": ["-y", "@nutripreco/mestre-pratico-mcp"]
    }
  }
}

Or via Python Bridge (zero dependencies, works on any machine with Python 3.8+):

{
  "mcpServers": {
    "mestre-pratico": {
      "command": "python",
      "args": ["/path/to/mestre-pratico-mcp-server/server.py"]
    }
  }
}

Option 2: Cursor & Windsurf (HTTP Remote Endpoint)

In Cursor Settings → Features → MCP Servers → Add New Server:

  • Name: MestrePratico

  • Type: http

  • Server URL: https://mestrepratico.com.br/mcp/v1


Option 3: Direct JSON-RPC HTTP / cURL (Any Agent / LangChain / AutoGen)

The MCP server accepts standard JSON-RPC 2.0 requests over HTTP POST:

curl -X POST https://mestrepratico.com.br/mcp/v1 \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "brazil_fuel_prices",
      "arguments": {
        "uf": "rj",
        "cidade": "Cabo Frio"
      }
    }
  }'

Related MCP server: mcp-brasil

🛠️ Tools Available

1. brazil_fuel_prices

Audited weekly fuel pricing from the National Petroleum Agency (ANP) across 4,750+ gas stations in all 27 Brazilian states.

  • Arguments:

    • uf (string, required): 2-letter state code (e.g. 'sp', 'rj', 'mg', 'ba', 'rs').

    • cidade (string, optional): City name to filter.

  • Returns: Station name, CNPJ, brand, neighborhood, street address, Gasoline, Ethanol, Diesel S10, and CNG prices with 70% ethanol parity indicator.

2. brazil_gas_lpg

Audited prices and authorized distribution depots for 13kg LPG Cooking Gas (Botijão GLP 13kg) from ANP, covering 13,145+ authorized revendas.

  • Arguments:

    • uf (string, required): State code (e.g. 'sp', 'rj').

    • cidade (string, optional): City name.

  • Returns: Lowest price, average price, depot name, CNPJ, distributor brand, and full address.

3. brazil_pharma_medicines

Official Maximum Consumer Price (PMC) and Factory Price from CMED / ANVISA (26,635 regulated pharmaceutical presentations).

  • Arguments:

    • termo (string, required): Brand name or Active Ingredient (e.g. 'dipirona', 'losartana', 'ozempic').

    • uf (string, optional): State code for regional ICMS tax rate (18% or 20%, default: 'sp').

    • tipo (string, optional): 'todos', 'generico', 'novo', 'similar', 'biologico'.

  • Returns: Active principle, lab manufacturer, PMC ceiling price, registration code, and 100% Free SUS "Farmácia Popular" eligibility badge.

4. brazil_basic_basket

Food basket inflation and retail supermarket dispersion auditing based on the 13 staple products of Federal Decree nº 11.936/2024.

  • Arguments:

    • uf (string, required): State code.

    • apenas_resumo (boolean, optional): Return macro index or itemized prices.

  • Returns: Total basket cost, lowest supermarket quote, highest quote, variation percentage, and minimum wage impact.

5. cost_of_living_brazil

Macroeconomic indicators: fuel spend index, food basket cost, minimum wage parity, and optional USD/BRL conversion.


📋 Pre-built Prompts

  • auditar_preco_farmacia: Audits a pharmacy receipt or quote against the legal CMED/ANVISA ceiling price (PMC), flags consumer violations, and drafts formal PROCON complaints if abusive pricing is detected.

  • analise_combustivel_frota: Fleet and commuter fuel optimizer: evaluates 70% ethanol/gasoline parity, compares against ANP state minimums, and projects monthly operational savings.

  • cesta_basica_familiar: Computes monthly grocery budget for a family of $N$ members with the 13 official items and calculates percentage impact on current minimum wage.


📦 Resources

  • mcp://brazil/cmed/anvisa-summary: Full regulatory summary of 26,635 medicines, legal ceilings, and Farmácia Popular rules.

  • mcp://brazil/anp/fuels-summary: Sovereign fuel matrix across all 27 federative units.

  • mcp://brazil/basic-basket/dieese-summary: Technical parameters of the 13 essential foods under Federal Decree 11.936/2024.

  • mcp://brazil/lpg/gas-cozinha-summary: National LPG 13kg radar.


🛡️ Security, Governance & Compliance

  • 100% Read-Only: All mutations, writes, and deletions are permanently disabled.

  • Zero Hallucination Guarantee: Data is strictly retrieved from primary regulatory sources (ANP, ANVISA/CMED, SEFAZ, FNS). If a record does not exist in the official ledger, it is reported as absent.

  • Edge Architecture: Hosted globally on Cloudflare Workers with <150ms latency and 99.99% uptime.

  • Open Source & Open Data: MIT License. Commercial and community usage permitted.


🏛️ Holding & Institutional Governance

Developed and operated by:
Holding Arthur Luis Vieira dos Santos
Portals: Mestre Prático • NutriPreço • Developers Hub

Available Tools

5 tools
brazil_fuel_pricesB

Consulta preços reais e auditados de combustíveis no Brasil (Gasolina Comum, Aditivada, Etanol, Diesel S10 e GNV) da Agência Nacional do Petróleo (ANP) cobrindo mais de 4.750 postos nos 27 estados e 417 cidades.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufYesSigla do estado brasileiro em minúsculo (ex: 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df')
cidadeNoNome ou slug da cidade (ex: 'sao-paulo', 'rio-de-janeiro', 'cabo-frio', 'curitiba')
combustivelNoTipo de combustível para ranking

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does add real context: the data is ANP-sourced, audited, and covers 4.750+ postos across 27 states and 417 cities, which conveys freshness/trust. However, it says nothing about read-only semantics beyond the implied 'consulta', nor about return format, ranking behavior, or result size, leaving meaningful gaps.

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 dense sentence that front-loads purpose, then source, then coverage scale; nothing is wasted. It is arguably long for one sentence but every clause (source, fuels, scale) adds selection value.

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?

For a three-parameter read tool with a fully documented schema and no output schema, the description covers what the data is and where it comes from. It does not describe the shape of the response (rankings? per-station prices?) or default behavior without 'cidade', which an agent would want before invoking.

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

Parameters3/5

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

Schema description coverage is 100%, including an example-laden 'uf' description and an enum for 'combustivel', so the baseline is 3. The description's mention of fuel types and city/state coverage loosely maps to parameters but adds no syntax, defaults, or clarification of what 'cidade' omission does (e.g., state-wide ranking).

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 (consulta) and resource (preços de combustíveis) with named fuel types and the authoritative source (ANP), so the agent knows exactly what data is returned. It does not explicitly distinguish itself from the sibling brazil_lpg_gas_prices, which an agent could plausibly confuse with vehicular GNV, so it falls 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 Guidelines2/5

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

The description never says when to choose this tool versus its siblings (brazil_lpg_gas_prices, cost_of_living_brazil), nor does it state that 'cidade' is optional or what happens when it is omitted. Usage is only implied by the resource name.

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

brazil_grocery_basketB

Consulta e compara preços reais auditados da Cesta Básica (arroz, feijão, óleo, café, leite, açúcar) e itens de supermercado via notas fiscais eletrônicas (NFC-e SEFAZ) por cidade e estado.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufYesSigla do estado brasileiro (ex: 'sp', 'rj', 'mg', 'ba')
cidadeNoNome da cidade brasileira
produtoNoTermo de busca do produto (ex: 'arroz', 'feijao', 'cafe', 'cesta basica')

TDQS

B3.2/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden. It does disclose meaningful provenance — prices come from audited NFC-e SEFAZ electronic invoices and are 'reais' rather than estimates — which is genuine context beyond the schema. However, it says nothing about freshness/lag of the data, geographic coverage limits, result volume, or output shape, which an agent would want before calling a read-only price tool.

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?

It is a single dense sentence that front-loads the action (Consulta e compara) and then the resource and data source, with zero filler. The parenthetical product list is justified because it defines the basket. Slight room to trim the source detail, but nothing is wasteful.

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 no annotations and no output schema, the description must carry more weight than it does. It covers what is queried and where the data comes from, but not what a caller gets back (single prices, averages, comparison across cities), which matters for a tool whose stated purpose is comparison. Adequate but incomplete for a tool with zero structured behavioral metadata.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (uf, cidade, produto) are already documented in the schema and the baseline of 3 applies. The description's 'por cidade e estado' reinforces the uf/cidade semantics but adds nothing about how produto matching works (exact term vs fuzzy, e.g. 'cesta basica' as a keyword).

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 pair (consulta e compara) and a well-defined resource: audited real prices of the Cesta Básica and supermarket items. It even enumerates the basket components (arroz, feijão, óleo, café, leite, açúcar), making the scope unambiguous. It does not explicitly contrast itself with sibling price tools such as brazil_lpg_gas_prices or brazil_fuel_prices, but the grocery domain is distinct enough for an agent to route correctly.

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?

There is no when-to-use guidance, no statement of when a sibling tool would be preferable, and no prerequisites or exclusions. The mention of 'por cidade e estado' hints at geographic scoping but is a data-coverage statement, not usage advice. An agent must infer entirely on its own that this is the grocery-category tool among the price-data siblings.

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

brazil_lpg_gas_pricesA

Consulta preços reais auditados do Gás de Cozinha (Botijão GLP 13kg) da Agência Nacional do Petróleo (ANP) cobrindo mais de 13.145 revendas em todos os 27 estados e municípios do Brasil.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufYesSigla do estado brasileiro (ex: 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df')
cidadeNoNome ou termo de busca da cidade brasileira

TDQS

A3.6/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 full burden. It usefully discloses provenance (audited ANP data) and scope (13,145 resellers across 27 states), but omits return format, update frequency, and any read-only/pagination behavior. For a lookup tool with zero annotation coverage this is a partial disclosure.

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 states the verb, resource, source and coverage with no wasted structure. Slightly promotional ('preços reais auditados', 'mais de 13.145 revendas') but still efficient.

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?

There is no output schema, so the description could reasonably explain what a result contains (price per cylinder, collection date, reseller breakdown), and it does not. Adequate for identifying the tool, but incomplete for an agent that needs to know what it will receive.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (uf, cidade) are already documented with examples in the schema. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

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?

States a specific verb (Consulta) and a precise resource (preços auditados do Gás de Cozinha / Botijão GLP 13kg from ANP). This clearly distinguishes it from the sibling brazil_fuel_prices, which covers vehicle fuel rather than cooking gas.

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 purpose makes the usage implied (look up LPG cylinder prices), but there is no explicit when-to-use guidance or mention of alternatives. No indication of when to prefer this over brazil_fuel_prices or cost_of_living_brazil.

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

brazil_pharma_medicinesA

Consulta o Preço Máximo ao Consumidor (PMC) e Preço Fábrica de medicamentos regulados da CMED / ANVISA (26.635 apresentações), cobrindo alíquotas estaduais de ICMS (18% e 20%), princípio ativo, laboratório, apresentação e indicação oficial de gratuidade no programa Farmácia Popular.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNoSigla do estado brasileiro (ex: 'sp', 'rj', 'mg') para alíquota de ICMS regional (padrão: 'sp')
tipoNoFiltro por tipo de produto regulatório
termoYesNome comercial ou princípio ativo do medicamento (ex: 'dipirona', 'losartana', 'ozempic', 'amoxicilina', 'paracetamol')

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden, and it does disclose substantive context: data provenance (CMED/ANVISA), record volume, ICMS rate variation by state (18%/20%), and the Farmácia Popular gratuity flag. It stops short of describing response shape, pagination, or error behavior, so it is strong but not complete.

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 sentence, front-loaded with the core query (PMC and factory price) before listing coverage details. It is dense but every clause carries information; it could be trimmed by splitting the coverage list, but nothing is wasted.

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

Completeness4/5

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

With no output schema and no annotations, the description does much of the work by enumerating returned fields (PMC, factory price, ICMS, active ingredient, laboratory, presentation, gratuity). It remains slightly incomplete on how results are delivered and whether 'uf' changes both price figures.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters, making 3 the baseline. The description adds some meaning by linking state selection to ICMS aliquotas, but it never mentions the 'tipo' product filter (generico/novo/similar/biologico), leaving that enum's intent to the schema alone.

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?

States a specific verb ('Consulta') and resource ('Preço Máximo ao Consumidor (PMC) e Preço Fábrica de medicamentos regulados da CMED / ANVISA'), with concrete scope (26.635 apresentações). This clearly separates it from the fuel, LPG, grocery, and cost-of-living siblings without needing their schemas.

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 domain (regulated medicine prices) implies when the tool applies, but there is no explicit when-to-use/when-not guidance and no named alternatives among the sibling price tools. The required 'termo' lookup pattern is inferable from the schema but not explained in the description.

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

cost_of_living_brazilC

Retorna o índice consolidado de custo de vida e poder de compra (combustível médio, custo da cesta básica e disparidade regional) para nômades digitais, expatriados e residentes no Brasil.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufNoSigla do estado brasileiro (ex: 'sp', 'rj', 'df')
comparar_com_dolarNoSe verdadeiro, converte valores para USD na cotação oficial

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses what the index comprises but says nothing about read-only nature, whether 'uf' is optional or what happens when it is omitted, caching/freshness of the consolidated values, or the return shape. For a multi-component aggregation tool this leaves meaningful behavioral questions unanswered.

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 leads with the verb and resource, then parenthetically lists components. The audience clause is slightly promotional but compact. No wasted structure or repetition.

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?

For a 2-parameter, zero-annotation, no-output-schema tool, the description covers purpose and aggregated contents adequately but omits default behavior when 'uf' is absent and any hint of return structure. Given no annotations or output schema, it leaves a few gaps an agent must infer.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters, making 3 the baseline. The description corroborates content (fuel, basket, regional disparity) but adds no meaning beyond the schema for how 'uf' defaults or how 'comparar_com_dolar' converts values. No compensating detail is offered.

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+resource: 'Retorna o índice consolidado de custo de vida e poder de compra', and enumerates what the index aggregates (fuel, basic basket, regional disparity). This distinguishes it from the narrower siblings as an aggregate index, though it never names an alternative tool explicitly. Clear and specific, falling just short of explicit sibling differentiation.

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 names an audience (digital nomads, expatriates, residents) but gives no when-to-use or when-not-to-use guidance. With siblings like brazil_fuel_prices and brazil_grocery_basket covering individual components, the agent gets no signal on when the consolidated index is preferable. No alternatives or exclusion conditions are stated.

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. 5 tool updatesv1.0.0
    • First observedbrazil_fuel_prices
    • First observedbrazil_grocery_basket
    • First observedbrazil_lpg_gas_prices
    • First observedbrazil_pharma_medicines
    • First observedcost_of_living_brazil

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a fairly distinct resource: grocery basket, consolidated cost-of-living index, LPG, medicines, and fuels. The only mild overlap is cost_of_living_brazil, which references both the cesta básica and fuel costs already covered by dedicated tools, but its aggregate-index purpose keeps it distinguishable.

Naming Consistency4/5

All names use snake_case and four of five share a clear brazil_ prefix (brazil_grocery_basket, brazil_lpg_gas_prices, brazil_pharma_medicines, brazil_fuel_prices). cost_of_living_brazil breaks the pattern by placing the country as a suffix rather than prefix, a minor deviation.

Tool Count5/5

Five tools is well-scoped for a regional price-lookup server, with each tool earning its place by covering a distinct commodity or index category. No redundant or filler tools.

Completeness4/5

The surface covers the main audited price domains (staples, fuel, LPG, medicine, cost-of-living index), which is solid lifecycle coverage for a data-query server. Minor gaps exist, such as no explicit history/trend or city/regional listing operation, but agents can largely work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that connects AI agents to over 200 tools across 27 Brazilian public APIs, covering economic, legislative, transparency, and judicial data. It enables users to query and cross-reference extensive government datasets from sources like IBGE, the Central Bank, and the Brazilian Congress.
    7
    1,809
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP Server for accessing 36 Brazilian public data sources and 1 agent, enabling AI agents to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that connects AI agents to 28 Brazilian public APIs, providing tools to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.
    MIT