Skip to main content
Glama

mcp-camara

Um servidor MCP para consultar os dados da Câmara dos Deputados do Brasil.

Instalação

Para instalar e executar este servidor, você precisará do uv. Para instalá-lo, siga as instruções de instalação da documentação oficial.

Com o uv instalado, clone este repositório e instale o servidor em um ambiente virtual:

git clone https://github.com/vrtornisiello/mcp-camara.git
uv sync

Você pode executar o servidor usando o comando:

uv run mcp-camara

Related MCP server: mcp-brasil

Ferramentas

Este servidor disponibiliza as seguintes ferramentas:

  • list_endpoints: Lista todos os endpoints disponíveis na API dos dados abertos da Câmara dos Deputados.

  • get_endpoint_schema: Retorna o esquema detalhado de um endpoint, incluindo seus parâmetros.

  • call_endpoint: Executa uma chamada a um endpoint específico.

  • get_deputy_by_name: Busca por um deputado pelo nome.

  • get_deputy_expenses: Retorna as despesas de um deputado.

  • get_bills_by_deputy: Retorna as proposições de um deputado.

Integração

Você pode instalar esse servidor em qualquer cliente MCP, como o Claude e o Gemini CLI.

Para isso, basta instalá-los e adicionar o servidor aos seus respectivos arquivos de configuração:

{
  "mcpServers": {
    "mcp-camara" : {
      "command": "uv",
      "args": [
        "--directory",
        "<caminho para o respositório mcp-camara>",
        "run",
        "mcp-camara"
      ]
    }
  }
}

Referências

Available Tools

6 tools
call_endpointA

Calls a specific endpoint of the Brazilian Chamber of Deputies API.

This is the final tool in the workflow, used to retrieve the actual data. The path and method must be a valid combination obtained from the list_api_endpoints tool.

The params dictionary must contain all required parameters for the chosen endpoint, as defined by the get_endpoint_schema tool. Both path parameters and query parameters are passed together in this single dictionary.

Args: path (str): The endpoint path (e.g., '/deputados/{id}'). method (str): The HTTP method (e.g., 'GET'). params (dict[str, Any]): A dictionary of parameters for the endpoint.

Returns: APIResponse: An APIResponse object containing the requested data on success, or an error message.

Inputs: path (required), method (required), params (required). Returns: A standardized response object for all tool outputs. This model provides a cons…

get_bills_by_deputyB

Retrieves a list of bills (proposições) by a specific author.

This is a helper tool that abstracts the process of querying bills for a deputy.

Args: deputy_id (int): The ID of the deputy authoring the bill. years (list[str] | None): One or more years for when bills were presented. If set to None, the current year is used. Defaults to None.

Returns: APIResponse: An APIResponse object containing a list of bills on success, or an error message.

Inputs: deputy_id (required), years. Returns: A standardized response object for all tool outputs. This model provides a cons…

get_deputy_by_nameB

Retrieves a list of deputies by name.

This is a helper tool that abstracts the process of querying for a deputy by name.

Args: name (str): The name of the deputy to search for.

Returns: APIResponse: An APIResponse object containing a list of deputies on success, or an error message.

Inputs: name (required). Returns: A standardized response object for all tool outputs. This model provides a cons…

get_deputy_expensesA

Gets the expenses for a single deputy, specified by name or ID.

This tool finds a deputy by their name or ID. You must provide either name or id. If name is used and multiple deputies are found, it will return an error asking for a more specific name or an ID. Optional year and month parameters can be used to filter expenses.

Args: name (str | None): The full or partial name of the deputy. id (int | None): The unique ID of the deputy. year (int | None): The year to filter expenses by. month (int | None): The month to filter expenses by.

Returns: APIResponse: An APIResponse object containing the deputy's expense data on success, or an error message.

Inputs: name, id, year, month. Returns: A standardized response object for all tool outputs. This model provides a cons…

get_endpoint_schemaA

Retrieves the detailed schema for a single API endpoint.

Use this tool to understand exactly how to call a specific endpoint, including its required and optional parameters.

The path and method must be a valid combination obtained from the list_api_endpoints tool.

Args: path (str): The endpoint path (e.g., '/deputados/{id}'). method (str): The endpoint method (e.g., 'GET').

Returns: APIResponse: An APIResponse object containing the Endpoint schema on success, or an error message.

Inputs: path (required), method (required). Returns: A standardized response object for all tool outputs. This model provides a cons…

list_endpointsA

Lists available endpoints for the Brazilian Chamber of Deputies API.

This is the primary discovery tool to understand the API's capabilities. It returns a list of all available operations, including the path, method, and description for each.

Use the path and method from an endpoint in this list to either fetch its detailed parameter schema with the get_endpoint_schema tool or to execute it with the call_endpoint tool.

Returns: APIResponse: An APIResponse object containing a list of EndpointSummary objects.

Inputs: no named parameters. Returns: A standardized response object for all tool outputs. This model provides a cons…

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 6 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. The tools are well-separated into discovery (list_endpoints, get_endpoint_schema), execution (call_endpoint), and helper functions (get_deputy_by_name, get_deputy_expenses, get_bills_by_deputy) that target different resources and operations.

    Naming Consistency4/5

    The naming follows a consistent verb_noun pattern throughout (call_endpoint, get_bills_by_deputy, get_deputy_by_name, get_deputy_expenses, get_endpoint_schema, list_endpoints). The only minor deviation is 'list_endpoints' using 'list' instead of 'get' like the others, but this is appropriate for a listing operation.

    Tool Count5/5

    With 6 tools, this is well-scoped for the server's purpose of interacting with the Brazilian Chamber of Deputies API. It provides a balanced set covering discovery, schema inspection, direct API calls, and common helper operations without being overwhelming.

    Completeness5/5

    The tool surface is complete for the domain. It provides full discovery capabilities (list_endpoints, get_endpoint_schema), execution (call_endpoint), and covers key workflows like finding deputies, retrieving their expenses, and getting their bills. There are no obvious gaps that would hinder agent operations.

    Related MCP Connectors

    Related MCP Servers

    • 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
      1
      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
    • A
      license
      A
      quality
      B
      maintenance
      MCP server for the Brazilian Chamber of Deputies open-data API, enabling search and retrieval of federal legislative bills and their status.
      15
      69 PyPI
      2
      Apache 2.0