Skip to main content
Glama
LucasViana1

DevReview MCP Server

by LucasViana1
README.md
# DevReview

Ferramenta de code review assistida por IA — projeto base do Curso 5: MCP, Conectando o Agent ao Mundo Real.

## Stack

- **Frontend:** React 18, TypeScript, Vite, TailwindCSS, shadcn/ui, Redux Toolkit
- **Backend (construído durante o curso):** Node.js, @modelcontextprotocol/sdk, Zod
- **Banco de dados:** Supabase (PostgreSQL)

## Pré-requisitos

- Node.js 20+
- npm 10+
- Um projeto na Supabase (o banco roda na nuvem, não localmente)

## Como rodar

```bash
# 1. Instalar dependências
npm install

# 2. Copiar variáveis de ambiente
cp apps/web/.env.example apps/web/.env

# 3. Preencher apps/web/.env com a URL do projeto e a publishable key
#    (Supabase → Project Settings → API)

# 4. Iniciar o frontend
npm run dev
```

O app abre em `http://localhost:5173`.

O schema vive em `supabase/migrations/` e os dados de demonstração em `supabase/seed.sql` —
são a fonte da verdade, aplicados no projeto da nuvem pelas tools do MCP da Supabase.

## Configuração de MCP

`.mcp.json` na raiz configura os servidores MCP no escopo deste projeto, sem mexer no seu
config global. Ele é **gitignored**, porque é onde entram os segredos dos módulos seguintes:

```bash
cp .mcp.json.example .mcp.json   # e troque <SEU_PROJECT_REF>
```

Três servidores ficam registrados:

| Servidor    | Transporte                                  | Autenticação       |
| ----------- | ------------------------------------------- | ------------------ |
| `supabase`  | HTTP — `mcp.supabase.com`                   | OAuth no navegador |
| `github`    | HTTP — `api.githubcopilot.com/mcp/readonly` | OAuth no navegador |
| `devreview` | STDIO — `apps/mcp-server/build/index.js`    | nenhuma (local)    |

Nenhum token fica em disco. O do GitHub está na variante `/readonly`, que bloqueia as tools
de escrita; para liberar (abrir issue, comentar PR), remova o `/readonly` da url.

## Estrutura

```
devreview/
├── apps/
│   ├── web/          # Frontend React
│   └── mcp-server/   # MCP Server (construído durante o curso)
├── supabase/         # Configuração, migrations e seed data
└── docs/             # Documentação do curso (gitignored)
```

## Team id de exemplo

11111111-1111-1111-1111-111111111111