# Guia de Configuração - MCP Server Portainer
## Pré-requisitos
- Node.js 18 ou superior
- npm ou yarn
- Acesso a uma instância Portainer
- Chave de API do Portainer
## 1. Obter Chave de API do Portainer
### Passo a Passo:
1. Acesse sua instância Portainer (ex: `http://localhost:9000`)
2. Faça login com suas credenciais
3. Clique no seu nome de usuário no canto superior direito
4. Selecione **"My account"**
5. Role até a seção **"Access tokens"**
6. Clique em **"Add access token"**
7. Dê um nome descritivo (ex: "MCP Server")
8. Clique em **"Add access token"**
9. **IMPORTANTE**: Copie o token gerado imediatamente - ele só será exibido uma vez!
### Obter Endpoint ID:
1. No Portainer, vá para **"Endpoints"** no menu lateral
2. Identifique o endpoint Docker que deseja gerenciar
3. O ID do endpoint aparece na coluna **"ID"** (geralmente é `1` para instalação local)
## 2. Instalar Dependências
```bash
cd /home/alfreire/MCP-SERVER
npm install
```
## 3. Configurar Variáveis de Ambiente
```bash
# Copiar template
cp .env.example .env
# Editar arquivo .env
nano .env
```
Preencha com suas informações:
```env
# URL base do Portainer (sem barra no final)
PORTAINER_URL=http://localhost:9000
# Chave de API obtida no passo 1
PORTAINER_API_KEY=ptr_sua_chave_aqui
# ID do endpoint Docker (geralmente 1 para local)
PORTAINER_ENDPOINT_ID=1
```
## 4. Build do Projeto
```bash
npm run build
```
## 5. Testar Conexão
```bash
# Executar teste de conexão
npm run test:connection
```
Se tudo estiver configurado corretamente, você verá a lista de containers.
## 6. Integração com Claude Desktop
### Para Linux:
Edite o arquivo de configuração do Claude Desktop:
```bash
nano ~/.config/Claude/claude_desktop_config.json
```
Adicione a configuração do MCP Server:
```json
{
"mcpServers": {
"portainer": {
"command": "node",
"args": ["/home/alfreire/MCP-SERVER/dist/index.js"],
"env": {
"PORTAINER_URL": "http://localhost:9000",
"PORTAINER_API_KEY": "ptr_sua_chave_aqui",
"PORTAINER_ENDPOINT_ID": "1"
}
}
}
}
```
### Para macOS:
```bash
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
Use a mesma configuração JSON acima.
### Para Windows:
Edite: `%APPDATA%\Claude\claude_desktop_config.json`
## 7. Reiniciar Claude Desktop
Feche completamente o Claude Desktop e abra novamente para carregar o MCP Server.
## 8. Verificar Funcionamento
No Claude Desktop, você pode testar com comandos como:
- "Liste todos os containers Docker"
- "Mostre as imagens disponíveis"
- "Inicie o container nginx"
- "Crie uma network chamada minha-rede"
## Troubleshooting
### Erro de Conexão
Se você receber erro de conexão:
1. Verifique se o Portainer está rodando
2. Confirme a URL do Portainer no `.env`
3. Teste acessar a URL no navegador
### Erro de Autenticação (401)
1. Verifique se a chave de API está correta
2. Confirme que a chave não expirou
3. Gere uma nova chave se necessário
### MCP Server não aparece no Claude
1. Verifique se o caminho no `claude_desktop_config.json` está correto
2. Confirme que o build foi executado (`npm run build`)
3. Verifique os logs do Claude Desktop
### Permissões
Se houver erro de permissões:
```bash
chmod +x /home/alfreire/MCP-SERVER/scripts/*.sh
```
## Desenvolvimento
Para desenvolvimento com hot reload:
```bash
npm run dev
```
## Logs
Os logs do MCP Server aparecem no console do Claude Desktop. Para debug:
1. Feche o Claude Desktop
2. Execute via terminal para ver logs:
```bash
node /home/alfreire/MCP-SERVER/dist/index.js
```
## Próximos Passos
Consulte:
- [API Reference](API_REFERENCE.md) - Lista completa de ferramentas disponíveis
- [Architecture](ARCHITECTURE.md) - Entenda como o sistema funciona