adila-sh

🚀 adila-mcp

Community adila-sh
Updated

🚀 adila-mcp

Servidor MCP da Adila — opere sua plataforma por linguagem natural.

Conecte Claude, Cursor ou qualquer cliente de IA ao seu control plane e gerenciedeploys conversando: "faz deploy da branch main do acme/api", "mostra os logsde build do service web", "como está meu uso do plano esse mês?".

npmnodeMCPlicense

✨ Visão geral

adila-mcp é um sidecar fino (stdio, JSON-RPC 2.0) que expõe um conjunto detools (deploy, leitura de projetos/services/deploys/builds/logs/métricas/uso/auditoriae mutação de infraestrutura) para clientes de IA. Ele não contém lógica de negócio:apenas traduz o protocolo MCP em chamadas HTTP autenticadas ao control plane da Adila.

  • 🪶 Zero dependências de runtime — bundle único, roda em Node 18+ ou Bun.
  • 🔐 Autorização ao vivo — a chave resolve usuário/org a cada chamada; revogar tem efeito imediato.
  • Sem instalação manualnpx baixa e executa sob demanda.
  • 🤖 Plug-and-play — funciona com Claude Desktop, Claude Code, Cursor e afins.

🧭 Arquitetura

┌──────────────┐   stdio (JSON-RPC)   ┌───────────┐   HTTPS (Bearer)   ┌──────────────────┐
│ Cliente de IA│ ───────────────────▶ │ adila-mcp │ ─────────────────▶ │   /api/* control │
│  (Claude…)   │ ◀─────────────────── │ (sidecar) │ ◀───────────────── │       plane      │
└──────────────┘    resultado MCP     └───────────┘    deploy + dados  └──────────────────┘

A chave de API resolve o usuário/organização ao vivo a cada chamada nocontrol plane: revogar a chave ou remover o usuário da org desativa o acessoimediatamente, e a chave nunca concede mais que o papel atual do usuário.

🚀 Início rápido

1. Gere uma chave

No dashboard, vá em Integrações → Servidor MCP → Gerar chave. A chave(adila_sk_...) é exibida uma única vez — copie e guarde com segurança.

2. Configure o cliente

Adicione ao arquivo de MCP servers do seu cliente (ex.: claude_desktop_config.json):

{
  "mcpServers": {
    "adila": {
      "command": "npx",
      "args": ["-y", "adila-mcp"],
      "env": {
        "ADILA_API_URL": "https://api-dash.adila.co",
        "ADILA_API_KEY": "adila_sk_xxxxxxxx"
      }
    }
  }
}

💡 Quem usa Bun pode trocar por "command": "bunx", "args": ["adila-mcp"].

3. Converse

Reinicie o cliente e peça um deploy em linguagem natural. Pronto. 🎉

⚙️ Variáveis de ambiente

Variável Obrigatória Descrição
ADILA_API_URL URL base do control plane (ex.: https://api-dash.adila.co).
ADILA_API_KEY Chave de API no formato adila_sk_....

🛠️ Tools

Todos os tools são escopados pela organização da chave e respeitam o papel dousuário no control plane. Cada tool anuncia suas annotations MCP:os de leitura vêm com readOnlyHint, e os de mutação só funcionam se a chaveherdar um papel com permissão de escrita — os destrutivos ainda trazemdestructiveHint para o cliente poder pedir confirmação antes de executar.

Deploy

Tool O que faz Argumentos principais
deploy Dispara build do repositório + deploy automático de um service. serviceId ou repo, branch?, commitSha?

Leitura (read-only)

Tool O que faz Argumentos principais
list_projects Lista os projetos da organização. limit?
list_services Lista os services de um projeto, agrupados por ambiente. projectId
get_service Detalha um service (tipo, status, repositório, start, imagem). serviceId
list_deployments Histórico de deploys de um service (status, branch/commit, URL). serviceId, limit?
get_deployment Detalha um deploy (imagem, réplicas, erro, timestamps). deploymentId
list_builds Histórico de builds (construção da imagem) de um service. serviceId, limit?
get_logs Lê logs de deploy (runtime) ou build do deploy atual. serviceId, type?, limit?, filter?, since?
get_metrics Métricas de uso (CPU, memória, disco, uptime) dos recursos. serviceId, limit?
list_resources Recursos gerenciados (Postgres, Redis…) de um service. serviceId
get_resource Detalha um recurso gerenciado (provedor, status, região). resourceId
list_audit_logs Trilha de auditoria da org (quem fez o quê), com filtros. limit?, action?, targetType?, actorUserId?, from?, to?
get_usage Consumo vs. cota do plano por dimensão, com excedentes.
get_project_usage Uso (RAM/disco) de um projeto, por recurso. projectId

Mutação de infraestrutura

Tool O que faz Argumentos principais
create_service Cria um service num ambiente. environmentId, name, type, …
update_service Atualiza a configuração de um service. serviceId, campos opcionais
delete_service ⚠️ Exclui um service (irreversível). serviceId
create_resource Provisiona um recurso gerenciado (assíncrono). serviceId, region?
delete_resource ⚠️ Desprovisiona um recurso e seus dados (irreversível). resourceId
create_environment Cria um ambiente num projeto. projectId, name, type, …
update_environment Atualiza um ambiente. environmentId, campos opcionais
delete_environment ⚠️ Exclui um ambiente e tudo dentro dele (irreversível). environmentId

deploy

Informe exatamente um entre serviceId e repo. Quando repo mapeia paramais de um service, o control plane responde pedindo o serviceId específico.

{ "serviceId": "svc_abc123" }
{ "repo": "acme/api", "branch": "main" }

Fluxo típico de descoberta

list_projectslist_services (com o projectId) → list_deployments /get_logs (com o serviceId) → deploy. Os IDs retornados por um toolalimentam os argumentos do próximo.

🔐 Segurança

  • A chave de API só trafega no header Authorization: Bearer ...nunca é logada.
  • O stdout é reservado ao protocolo MCP; todo log vai para o stderr.
  • .env está no .gitignore; não versione a chave.
  • Revogue chaves comprometidas no dashboard — o efeito é imediato.

💻 Desenvolvimento

bun install

# Execução direta (debug)
ADILA_API_URL=... ADILA_API_KEY=... bun run src/index.ts

bunx tsc --noEmit   # type-check
bun run build       # gera dist/index.js (bundle Node)

📦 Publicação (npm)

O bin aponta para dist/index.js; prepublishOnly roda o build automaticamente.

npm login
npm publish --access public   # ou --dry-run para ensaiar

Depois de publicado, npx -y adila-mcp passa a funcionar em qualquer máquina.

📄 Licença

MIT © Adila

MCP Server · Populars

MCP Server · New

    patsnap

    PatSnap MCP Servers

    MCP server for 200M+ patents, scientific literature, chemistry and pharma records. Search prior art and R&D intelligence powered by PatSnap's proprietary databases via Claude, Cursor and MCP-compatible clients.

    Community patsnap
    ghost-in-the-droid

    Ghost in the Droid

    Open-source Android device automation framework — control real phones via ADB with Python skills, a Vue dashboard, and LLM-powered tooling

    Community ghost-in-the-droid
    VoidNullable

    lific

    Local-first, lightweight issue tracker. Single Rust binary, SQLite-backed, MCP-native.

    Community VoidNullable
    ghost-in-the-droid

    Ghost in the Droid

    Open-source Android device automation framework — control real phones via ADB with Python skills, a Vue dashboard, and LLM-powered tooling

    Community ghost-in-the-droid
    squirrelscan

    squirrelscan

    The website QA tool for your coding agent. 270+ audit rules across SEO, performance, security, accessibility and agent experience.

    Community squirrelscan