Skip to main content
Glama

MIAI — Made In AI

Gateway open-source e gratuito de respostas validadas para consultas de IA: scaffolds (boilerplates) e, via OpenMatch, qualquer pergunta que já tenha resposta validada no ecossistema MIAI. Servido via API REST e via Model Context Protocol (MCP).

Evita o desperdício de tokens gerado por ferramentas de IA (Cursor, v0, Bolt.new, Claude) recriando do zero, a cada prompt, a mesma estrutura de Dockerfile, CI/CD, configs, ou até a mesma resposta a uma pergunta já feita antes — servindo conteúdo oficial, versionado e testado pela comunidade.

OpenMatch: se a pergunta recebida bate ≥95% de similaridade com uma pergunta já validada no catálogo, a resposta em cache é retornada em milissegundos, sem custo de chamada a uma IA. Abaixo do limiar, não há match — o consumidor segue pro caminho normal (perguntar a uma IA de verdade). Ver GET /api/v1/match?q=... ou a tool MCP match_query.

Início rápido

Com Docker (mais simples — não precisa instalar Bun):

docker compose up --build

Ou usando a imagem já publicada, sem clonar nada:

docker run -p 3001:3001 ghcr.io/zanarellidev/miai:latest

Sem Docker, direto com Bun:

bun install
bun run build:index      # gera data/index.sqlite a partir de scaffolds/
bun run dev:server        # API + MCP em http://localhost:3001
bun run dev:web            # dashboard em http://localhost:4321

Testar o servidor MCP com o inspector oficial:

bunx @modelcontextprotocol/inspector bun run apps/server/src/index.ts

Related MCP server: ContextForge MCP Gateway

Estrutura

  • apps/server — API REST + servidor MCP (mesmo processo Hono/Bun).

  • apps/web — dashboard Astro (catálogo navegável).

  • packages/schema — schemas Zod (scaffold, answer, similaridade do OpenMatch) — fonte única de verdade.

  • packages/indexer — validação e build do índice a partir de scaffolds/ e answers/.

  • scaffolds/ — catálogo de boilerplates; cada pasta é um scaffold.

  • answers/ — catálogo do OpenMatch; cada pasta é uma pergunta validada com resposta.

  • infra/ — Caddyfile, unit systemd e script de deploy.

Veja PLAN.md para a arquitetura completa e CONTRIBUTING.md para como propor um novo scaffold.

Deploy

Todo push na main que toca apps/server/**, apps/web/**, packages/**, scaffolds/** ou answers/** dispara .github/workflows/docker-build.yml, que:

  1. Builda e publica a imagem do servidor em ghcr.io/zanarellidev/miai:latest (job build).

  2. Faz deploy da API via SSH (docker pull + restart do container miai-api, job deploy).

  3. Builda o dashboard Astro estático (apps/web) com PUBLIC_API_BASE apontando para a API em produção e sincroniza apps/web/dist/ para /var/www/miai/web na instância via rsync (job deploy-web), de onde o Caddy já serve os arquivos estáticos (ver infra/Caddyfile).

Os três jobs dependem dos secrets MIAI_HOST, MIAI_SSH_USER e MIAI_SSH_KEY já configurados no repositório; sem eles o CI builda normalmente mas pula a etapa de deploy (log explícito, não quebra o pipeline).

Deploy manual do dashboard (se precisar rodar fora do CI):

cd apps/web
PUBLIC_API_BASE=http://3.19.72.95/api/v1 bun run build
rsync -avz --delete -e "ssh -i <chave.pem>" dist/ ec2-user@3.19.72.95:/tmp/miai-web-new/
ssh -i <chave.pem> ec2-user@3.19.72.95 "sudo rm -rf /var/www/miai/web && sudo mv /tmp/miai-web-new /var/www/miai/web && sudo chown -R ec2-user:ec2-user /var/www/miai/web"

Licença

Apache License 2.0.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    A powerful gateway for the Model Context Protocol (MCP) that unifies AI toolchains by federating multiple MCP servers, wrapping REST APIs as MCP tools, and supporting multiple transport methods with an admin dashboard.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A feature-rich gateway and proxy that federates MCP, REST, and gRPC services into a unified endpoint for AI clients. It enables virtualization of legacy APIs as MCP-compliant tools while providing built-in security, rate-limiting, and OpenTelemetry observability.
    Apache 2.0