Skip to main content
Glama
edum-compassuol

ViaCEP Brasil MCP Server

README.md
# ViaCEP Brasil MCP Server

O ViaCEP Brasil MCP Server conecta ferramentas de IA diretamente à API ViaCEP, permitindo consultas de endereços brasileiros através do CEP ou busca de CEPs através de endereços. Esta integração permite que agentes de IA, assistentes e chatbots consultem informações de endereços do Brasil por meio de interações em linguagem natural.

## Casos de Uso

- **Consulta de Endereços**: Obtenha informações detalhadas de endereços fornecendo um CEP.
- **Busca de CEPs**: Encontre CEPs a partir de informações parciais de endereços (UF, cidade e logradouro).
- **Validação de Endereços**: Verifique se um CEP existe e obtenha os detalhes completos do endereço.
- **Integração com Sistemas**: Facilite a integração de dados de endereço em aplicações que utilizam IA.

## Ferramentas Disponíveis

O servidor disponibiliza duas ferramentas principais:

### getAddressByCEP

Obtém informações de endereço a partir de um CEP.

**Parâmetros:**
- `cep` (string): O código postal de 8 dígitos, sem hífen ou outros caracteres especiais.

**Exemplo de Uso:**
```json
{
  "cep": "01001000"
}
```

**Exemplo de Resposta:**
```json
{
  "cep": "01001-000",
  "logradouro": "Praça da Sé",
  "complemento": "lado ímpar",
  "bairro": "Sé",
  "localidade": "São Paulo",
  "uf": "SP",
  "ibge": "3550308",
  "gia": "1004",
  "ddd": "11",
  "siafi": "7107"
}
```

### getCEPByAddress

Busca CEPs com base em informações de endereço.

**Parâmetros:**
- `uf` (string): Código de duas letras do estado (ex: "SP").
- `cidade` (string): Nome da cidade.
- `logradouro` (string): Nome da rua, avenida, praça, etc.

**Exemplo de Uso:**
```json
{
  "uf": "RS",
  "cidade": "Porto Alegre",
  "logradouro": "Domingos"
}
```

**Exemplo de Resposta:**
```json
[
  {
    "cep": "91420-270",
    "logradouro": "Rua São Domingos",
    "bairro": "Bom Jesus",
    "localidade": "Porto Alegre",
    "uf": "RS",
    ...
  },
  {
    "cep": "91040-000",
    "logradouro": "Rua Domingos Rubbo",
    "bairro": "Cristo Redentor",
    "localidade": "Porto Alegre",
    "uf": "RS",
    ...
  },
  ...
]
```

## Recursos

- **README**: Acesse esta documentação através do recurso `readme://viacep`.

---

## Instalação e Configuração

O ViaCEP Brasil MCP Server pode ser executado de várias formas, dependendo das suas necessidades.

### Pré-requisitos

- Node.js v18+ (para execução direta)
- Docker (para execução via contêiner)

### Instalação via NPX

A forma mais simples de usar o servidor:

```bash
npx viacep-brasil-mcp-server
```

### Instalação Local

Clone este repositório e execute:

```bash
# Instalar dependências
npm install

# Construir o servidor
npm run build

# Iniciar o servidor
node build/index.js
```

### Instalação via Docker

#### Usando a Imagem Pré-construída

```bash
docker run -i --rm ghcr.io/seu-usuario/viacep-brasil-mcp-server
```

#### Construindo sua Própria Imagem

```bash
# Clone o repositório
git clone https://github.com/seu-usuario/viacep-brasil-mcp-server.git
cd viacep-brasil-mcp-server

# Construa a imagem Docker
docker build -t viacep-brasil-mcp-server .

# Execute o contêiner
docker run -i --rm viacep-brasil-mcp-server
```

### Configuração em Aplicações MCP

#### VS Code com GitHub Copilot

Adicione o seguinte bloco JSON às suas configurações MCP:

```json
{
  "servers": {
    "viacep": {
      "command": "npx",
      "args": ["viacep-brasil-mcp-server"]
    }
  }
}
```

#### VS Code com Docker

```json
{
  "servers": {
    "viacep": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "viacep-brasil-mcp-server"
      ]
    }
  }
}
```

#### Claude Desktop / Claude Web / Claude Code

Adicione o servidor ao arquivo de configuração:

No macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`  
No Windows: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "viacep": {
      "command": "/caminho/para/viacep-brasil-mcp-server/build/index.js"
    }
  }
}
```

#### Cursor

Adicione o seguinte ao seu arquivo `.cursor/mcp.json`:

```json
{
  "servers": {
    "viacep": {
      "command": "npx",
      "args": ["viacep-brasil-mcp-server"]
    }
  }
}
```

## Desenvolvimento

### Instalação de Dependências
```bash
npm install
```

### Construir o Servidor
```bash
npm run build
```

### Desenvolvimento com Auto-reconstrução
```bash
npm run watch
```

### Depuração

Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. Recomendamos usar o [MCP Inspector](https://github.com/modelcontextprotocol/inspector), que está disponível como um script de pacote:

```bash
npm run inspector
```

O Inspector fornecerá um URL para acessar ferramentas de depuração em seu navegador.

## Licença

Este projeto é licenciado sob os termos da licença MIT de código aberto.

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools perform reverse operations—one returns an address for a given CEP, the other returns CEPs for a given address. Their purposes are clearly distinct with no overlap.

Naming Consistency5/5

Both tools follow a consistent 'get<Target>By<Query>' pattern, e.g., 'getAddressByCEP' and 'getCEPByAddress'. The naming is symmetric and predictable.

Tool Count5/5

With exactly two tools, the set is minimal and perfectly scoped for bidirectional CEP-address lookup. Each tool provides a distinct, necessary function without redundancy.

Completeness5/5

The pair covers both directions of the CEP-address mapping, which is the complete domain for a ViaCEP service. No obvious missing operations.

Maintenance

ActivityInactive
ResponsivenessNo issues