> ## Documentation Index
> Fetch the complete documentation index at: https://nomos.pro/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> A API Nomos tem base em https://api.nomos.pro e autentica pelo header `x-api-key`.
> Todos os endpoints de busca são POST. Parâmetros de consulta (page, limit, sort, q, modes) vão na query string; palavras-chave e filtros vão no corpo JSON.
> `limit` é limitado a 20 resultados por página. Para conjuntos maiores, itere sobre `page`.
> Filtros de data exigem `from` e `to` juntos. Enviar apenas `to` retorna erro 400.
> Filtros por ID (authors, rapporteurs, organs, themes, situations, stakeholders) exigem IDs internos reais devolvidos por uma busca anterior. IDs inventados não geram erro: retornam zero resultados silenciosamente.
> Filtros de valor aberto (type, regimes, section, openDataResource) não são listas fechadas. Deixe-os vazios para buscar em todas as fontes.
> Para uso conversacional ou por agentes, prefira o servidor MCP hospedado da Nomos em vez de chamar a API diretamente.

# Servidor MCP

> Conecte Claude, Claude Code, Cursor e outros clientes MCP diretamente aos dados legislativos e regulatórios da Nomos.

O [Model Context Protocol](https://modelcontextprotocol.io) é o padrão que permite a assistentes de
IA consultarem sistemas externos. A Nomos opera um **servidor MCP hospedado** que expõe as mesmas
buscas da API como ferramentas que o assistente chama sozinho.

Na prática: em vez de escrever código para consultar a API, você pergunta em linguagem natural e o
assistente monta a busca, executa e cita os resultados.

## Ferramentas disponíveis

São **10 ferramentas de busca, somente leitura**. Todas são marcadas com `readOnlyHint`, então a
maioria dos clientes consegue aprová-las automaticamente, sem confirmação a cada chamada.

| Ferramenta                       | O que busca                                                                      |
| -------------------------------- | -------------------------------------------------------------------------------- |
| `buscar_proposicoes`             | Proposições legislativas (PL, PEC, MPV e outras)                                 |
| `buscar_diario_oficial_da_uniao` | Diário Oficial da União                                                          |
| `buscar_diarios_oficiais`        | Diários oficiais estaduais e municipais                                          |
| `buscar_discursos`               | Discursos e pronunciamentos parlamentares                                        |
| `buscar_noticias`                | Notícias das casas legislativas                                                  |
| `buscar_redes_sociais`           | Publicações de parlamentares em redes sociais                                    |
| `buscar_bacen`                   | Documentos do Banco Central                                                      |
| `buscar_cvm`                     | Documentos da CVM                                                                |
| `buscar_receita_federal`         | Documentos da Receita Federal                                                    |
| `buscar_agencias_reguladoras`    | Agências reguladoras (ANAC, ANEEL, ANS, ANVISA, BNDES, COAF, FED, FDIC e outras) |

Todas aceitam os mesmos parâmetros base descritos em [Conceitos de busca](/docs/conceitos) —
`keywords_or`, `keywords_and`, `keywords_not`, `q`, `modes`, `page`, `limit`, `sort` — além dos
filtros de cada domínio.

Cada resultado traz `link_to_nomos_api`, também exposto como **ResourceLink**, e as respostas
declaram `outputSchema`, então o cliente recebe saída estruturada e validada em vez de texto solto.

## Conectar

O servidor hospedado autentica por `X-API-Key` — a mesma chave da API REST. Clientes criam e
gerenciam chaves em [nomos.pro/organization/developers](https://nomos.pro/organization/developers);
veja [Autenticação](/docs/autenticacao).

<CodeGroup>
  ```bash Claude Code theme={"dark"}
  claude mcp add --transport http nomos https://nomos-mcp-server.com \
    --header "X-API-Key: SUA_CHAVE_API"
  ```

  ```json Claude Desktop theme={"dark"}
  {
    "mcpServers": {
      "nomos": {
        "type": "http",
        "url": "https://nomos-mcp-server.com",
        "headers": {
          "X-API-Key": "SUA_CHAVE_API"
        }
      }
    }
  }
  ```

  ```json Cursor theme={"dark"}
  {
    "mcpServers": {
      "nomos": {
        "type": "http",
        "url": "https://nomos-mcp-server.com",
        "headers": {
          "X-API-Key": "SUA_CHAVE_API"
        }
      }
    }
  }
  ```
</CodeGroup>

## Exemplos de prompt

Depois de conectado, o assistente escolhe a ferramenta sozinho:

* *"Quais proposições sobre reforma tributária estão em tramitação na Câmara?"*
* *"Últimas resoluções do Banco Central sobre PIX"*
* *"O que a CVM publicou sobre fundos de investimento nos últimos 30 dias?"*
* *"Algum diário oficial estadual mencionou licitação de saneamento esta semana?"*

## Execução local

Também é possível rodar o servidor localmente, via transporte `stdio`, para desenvolvimento ou
self-host. Nesse modo a chave vem da variável de ambiente `NOMOS_API_KEY`:

```bash theme={"dark"}
export NOMOS_API_KEY="sua_chave_aqui"
nomos-mcp
```

No transporte HTTP multi-tenant, **cada requisição precisa enviar a própria chave** no header
`X-API-Key`. O servidor a encaminha isoladamente por requisição, sem vazamento entre chamadas
concorrentes; requisições sem o header são recusadas. Há um endpoint de liveness em `GET /health`.

<Note>
  O código do servidor é aberto:
  [github.com/Nomos-Tech/nomos-mcp](https://github.com/Nomos-Tech/nomos-mcp).
</Note>

## MCP ou API?

| Use o MCP quando                                          | Use a API quando                                     |
| --------------------------------------------------------- | ---------------------------------------------------- |
| Um humano ou agente explora os dados em linguagem natural | Você está construindo um sistema com lógica própria  |
| Você quer respostas citáveis dentro de um assistente      | Você precisa de controle sobre paginação e agregação |
| A consulta muda a cada pergunta                           | A consulta é fixa e roda em produção                 |

Os dois falam com a mesma base. Nada impede usar os dois.
