# Inovacc MCP

O [Model Context Protocol](https://modelcontextprotocol.io) (MCP) é um padrão aberto que permite a assistentes de IA chamar ferramentas expostas por um servidor. O servidor MCP da Inovacc é um programa, `inovacc mcp serve`, que roda na sua máquina com esta documentação embutida, para que seu assistente consulte produtos, endpoints e guias da Inovacc e responda com as fontes.

Funciona com qualquer cliente compatível com MCP, incluindo Cursor, Claude Code, VS Code (GitHub Copilot), Windsurf, Cline, Claude Desktop, IDEs JetBrains, Codex CLI e Gemini CLI.

Para deixar o seu agente fazer toda a configuração sozinho, dê a ele esta linha (em inglês, como o texto que ele busca):

```text
Fetch and execute the appropriate instructions to set me up for Inovacc from https://developer.inovacc.dev/agent-setup/prompt.md
```

## Capacidades

Com o servidor conectado, seu assistente pode:

- buscar na documentação: seções de contrato, produtos, guias e quickstarts
- explorar endpoints: a seção do contrato para qualquer método e caminho, como `POST /v1/vector/query`
- obter o quickstart de um produto: URL base, cabeçalhos e um esqueleto de curl
- informar de qual versão da documentação está respondendo

Ele não executa requisições e não toca na sua conta. O servidor é somente leitura, não exige chave de API e responde a partir da documentação embutida no programa.

## Pré-requisitos

- Windows x86_64. macOS e Linux estão a caminho; ainda não há data.
- Um cliente compatível com MCP, da lista abaixo.
- Os arquivos de release do programa `inovacc`. O repositório é privado até o lançamento: baixe a versão que seu contato da Inovacc compartilhar com você.

## Instale a CLI inovacc

1. Baixe `inovacc-windows-x86_64.exe` e `inovacc-windows-x86_64.exe.sha256` da release.
2. Confira o download no PowerShell. Os dois valores devem ser idênticos:

```powershell
(Get-FileHash .\inovacc-windows-x86_64.exe -Algorithm SHA256).Hash.ToLower()
Get-Content .\inovacc-windows-x86_64.exe.sha256
```

3. Renomeie o arquivo para `inovacc.exe` e coloque-o em uma pasta do `PATH`.
4. Abra um terminal novo e verifique:

```powershell
inovacc docs version
```

A saída tem este formato; os números de versão mudam a cada release:

```text
embedded   2026.10.09-0
installed  none
active     embedded 2026.10.09-0
previous   none
published  unknown; run `inovacc docs update --check`
data dir   C:\Users\<you>\AppData\Local\Inovacc\knowledge
```

## Conecte seu editor ou aplicativo de chat

Todo cliente precisa dos mesmos três dados: o transporte é stdio, o comando é `inovacc` e os argumentos são `mcp` e `serve`. Reinicie o cliente depois de mudar a configuração.

### Cursor

Crie `.cursor/mcp.json` em um projeto, ou `~/.cursor/mcp.json` para todos os projetos:

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

### Claude Code

```sh
claude mcp add inovacc -- inovacc mcp serve
```

O `--` separa as opções do próprio Claude do comando que executa o servidor. Por padrão o servidor é adicionado no escopo `local`: disponível só para você, no projeto atual. Escolha outro escopo com `-s` antes do nome:

```sh
claude mcp add -s project inovacc -- inovacc mcp serve
claude mcp add -s user inovacc -- inovacc mcp serve
```

`project` grava `.mcp.json` na raiz do projeto, compartilhado com quem usa o repositório. `user` deixa o servidor disponível em todos os seus projetos.

### VS Code (GitHub Copilot)

Crie `.vscode/mcp.json` em um workspace, ou execute **MCP: Open User Configuration** para o seu perfil de usuário:

```json
{
  "servers": {
    "inovacc": {
      "type": "stdio",
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

**Importante:** `.vscode/mcp.json` usa `servers`, não `mcpServers`. A documentação do próprio VS Code define `"type": "stdio"` nos exemplos stdio, e esta página faz o mesmo. Um `.mcp.json` na raiz do projeto usa `mcpServers`, como os outros clientes.

### Windsurf

A documentação do Windsurf agora fica junto com a do Devin Desktop. Adicione o servidor ao `mcp_config.json`, em `%APPDATA%\devin\mcp_config.json` no Windows:

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

### Cline

No painel do Cline, clique no ícone MCP Servers na barra superior, abra a aba Configure e clique em **Configure MCP Servers**. Adicione o servidor ao arquivo de configurações que abrir (`cline_mcp_settings.json`):

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

### Claude Desktop

Abra o menu Claude, depois **Settings**, a aba **Developer** e **Edit Config**. No Windows o arquivo é `%APPDATA%\Claude\claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

Feche o Claude Desktop por completo e abra de novo. Se o aplicativo não achar o `inovacc`, use o caminho completo de `inovacc.exe` como comando, com cada barra invertida dobrada no JSON.

### IDEs JetBrains

Abra **Settings | Tools | AI Assistant | Model Context Protocol (MCP)**, clique em **Add**, escolha o tipo de conexão **STDIO** e informe:

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

Clique em **OK** e depois em **Apply**.

### Codex CLI

```sh
codex mcp add inovacc -- inovacc mcp serve
```

ou escreva em `~/.codex/config.toml` (um projeto confiável pode usar `.codex/config.toml`):

```toml
[mcp_servers.inovacc]
command = "inovacc"
args = ["mcp", "serve"]
```

**Importante:** o Codex usa TOML e `mcp_servers`, não JSON e `mcpServers`.

### Gemini CLI

```sh
gemini mcp add inovacc inovacc mcp serve
```

ou adicione o servidor a `~/.gemini/settings.json` (um projeto pode usar `.gemini/settings.json`):

```json
{
  "mcpServers": {
    "inovacc": {
      "command": "inovacc",
      "args": ["mcp", "serve"]
    }
  }
}
```

### Outro cliente

Use o transporte stdio com o comando `inovacc` e os argumentos `mcp` e `serve`. Veja na documentação de MCP do seu cliente onde isso entra.

## Verifique sua configuração

Pergunte ao seu assistente: "What does POST /v1/vector/query take?" Uma configuração correta responde a partir do contrato e cita o documento de origem e a versão do conhecimento.

Sem assistente, busque pelo terminal:

```sh
inovacc docs search "vector query"
```

Cada resultado mostra o id do documento, o título e a citação (repositório, caminho e commit de origem).

## Solução de problemas

- **`inovacc` não é encontrado.** A pasta com `inovacc.exe` não está no `PATH`, ou o terminal foi aberto antes da mudança. Abra um terminal novo. Na configuração do cliente, você pode dar o caminho completo de `inovacc.exe` como comando.
- **O cliente não lista o servidor.** Reinicie o cliente por completo e confira se o comando da configuração roda em um terminal: `inovacc mcp serve` deve ficar esperando em silêncio (Ctrl+C para sair).
- **As respostas parecem antigas.** Rode `inovacc docs version` para ver o que está em uso e o que está publicado, depois `inovacc docs update`.
- **O Windows SmartScreen avisa na primeira execução.** Hoje o programa não tem assinatura de código, então o Windows pode mostrar "O Windows protegeu seu PC". Confira o checksum, como descrito acima, antes de decidir executá-lo.

## Ferramentas MCP disponíveis

| Ferramenta | O que faz |
|---|---|
| `search_documentation` | Busca em texto completo em seções de contrato, capacidades, quickstarts e guias |
| `get_document` | Um documento completo, pelo id, com a sua proveniência |
| `get_api_reference` | A seção do contrato para um endpoint, como `POST /v1/vector/query` |
| `list_products` | Os produtos e capacidades com documentação, e quantos documentos cada um tem |
| `get_quickstart` | URL base, endpoints, escopos, os cabeçalhos de toda chamada e um esqueleto de curl |
| `get_knowledge_version` | Qual pacote de documentação está respondendo: versão, data de build, commits fixados e número de documentos |

## Mantenha a documentação atualizada

O programa traz a documentação com a qual foi construído e pode instalar documentação mais nova e assinada sem um programa novo.

```sh
inovacc docs version      # versões embutida, instalada, ativa, anterior e publicada
inovacc docs update       # baixa, verifica e instala a documentação publicada mais nova
inovacc docs update --check
inovacc docs rollback     # volta à documentação instalada anterior
```

- A documentação é publicada em pacotes assinados. Um pacote só é instalado se o tamanho, o SHA-256 e a assinatura Ed25519 conferirem, e um pacote que não seja mais novo do que o em uso é recusado, então não é possível forçar um downgrade.
- A verificação automática roda no máximo a cada 24 horas, nunca atrasa uma resposta, não instala nada e, no máximo, imprime uma linha avisando que existe versão mais nova.
- Até o lançamento, as atualizações chegam pela versão que seu contato da Inovacc compartilhar com você.

## Referência de configuração

| Configuração | O que faz |
|---|---|
| `INOVACC_KNOWLEDGE_DIR` | A pasta onde a documentação instalada é guardada. Padrão no Windows: `%LOCALAPPDATA%\Inovacc\knowledge` |
| `INOVACC_NO_UPDATE_CHECK` | Defina como `1` para desligar a verificação automática de documentação mais nova. A opção `--no-update-check` faz o mesmo em uma execução |
| `INOVACC_UPDATE_URL` | O endereço do `latest.json` de onde as atualizações são lidas; precisa ser HTTPS |

## Perguntas frequentes

**Preciso de uma chave de API?**
Não. O servidor só lê documentação e nunca usa a sua conta.

**Ele envia minhas perguntas para algum lugar?**
Não. As perguntas são respondidas na sua máquina. O único uso de rede é a verificação automática de documentação mais nova, no máximo uma vez por dia, que você pode desligar.

**Meu assistente pode chamar a API da Inovacc por ele?**
Não. Ele diz ao assistente como um endpoint funciona e como chamá-lo; não faz a chamada.

**Existe um servidor MCP hospedado?**
Um servidor remoto em `https://mcp.inovacc.dev` está planejado. Ele ainda não existe.

**Quais plataformas são suportadas?**
Windows x86_64 hoje. macOS e Linux estão a caminho, sem data.

## Veja também

- [Autenticação](/pt-br/guides/authentication/): os cabeçalhos que toda chamada de API leva.
- [Referência da API](/pt-br/reference/): cada produto e seus endpoints.
- [llms.txt](/llms.txt): a mesma documentação como índice para modelos de linguagem.
