Skip to main content
Glama
bpinheiromg

DevReview MCP Server

by bpinheiromg

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)

Related MCP server: Azure DevOps MCP Server

Pré-requisitos

  • Node.js 20+

  • npm 10+

  • Supabase CLI (npm install -g supabase)

Como rodar

1. Frontend (React App)

# Instalar dependências
npm install

# Iniciar o Supabase local
npx supabase start

# Aplicar migrations e seed data
npx supabase db reset

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

# Iniciar o frontend
npm run dev

O app abre em http://localhost:5173. O Supabase Studio fica em http://localhost:54323.

2. MCP Server (DevReview MCP)

O MCP Server expõe ferramentas para code review via Model Context Protocol (STDIO).

# Entrar no diretório do MCP Server
cd apps/mcp-server

# Instalar dependências (se não feito via workspace)
npm install

# Build do TypeScript
npm run build

# Rodar o servidor manualmente (para testes)
node build/index.js

Variáveis de Ambiente (apps/mcp-server/.env)

SUPABASE_URL=http://localhost:54321
SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Use as credenciais do npx supabase start (Service Role Key).


🔍 MCP Inspector

O MCP Inspector é uma UI web para explorar e testar tools, resources e prompts do servidor MCP.

Como rodar

# Na raiz do projeto
npm run inspector

# Ou diretamente no mcp-server
cd apps/mcp-server
npx @modelcontextprotocol/inspector build/index.js

Acesso

  • Abre automaticamente em http://localhost:6274

  • Permite:

    • Listar e chamar Tools (mock_code_review, supabase_health, create_review, get_review_rules, get_review_history, cache_review, get_pr_diff, post_comment)

    • Ler Resources (mock://repo/{owner}/{repo})

    • Executar Prompts (code_review_prompt)

    • Ver logs de debug em tempo real

Testando Tools no Inspector

  1. Aba Tools → selecione uma tool → clique Call

  2. Para tools que precisam de Supabase (create_review, get_review_rules, etc.):

    • Certifique-se que npx supabase start está rodando

    • O .env tem as credenciais corretas

  3. Tools mock (mock_code_review, get_pr_diff com mock=true) funcionam sem Supabase


🛠️ VS Code Integration

O projeto já inclui configuração para a extensão MCP do VS Code.

Setup

  1. Instale a extensão: MCP (Model Context Protocol)

  2. O arquivo .vscode/mcp.json já configura o servidor:

{
  "servers": {
    "devreview-mcp": {
      "command": "node",
      "args": ["apps/mcp-server/build/index.js"],
      "env": {
        "SUPABASE_URL": "http://localhost:54321",
        "SUPABASE_SERVICE_KEY": "${env:SUPABASE_SERVICE_KEY}"
      }
    }
  }
}
  1. No VS Code: Ctrl+Shift+PMCP: Restart Servers

  2. As tools ficam disponíveis no Copilot Chat / Agent Mode


Estrutura do Projeto

devreview/
├── apps/
│   ├── web/              # Frontend React
│   └── mcp-server/       # MCP Server (curso)
│       ├── build/        # Compilado (gitignored)
│       ├── src/
│       │   ├── core/     # config, logger, supabase client
│       │   ├── tools/    # 8 MCP Tools
│       │   ├── resources/# 1 Resource (mock repo)
│       │   ├── prompts/  # 1 Prompt (code review)
│       │   └── types/    # Tipos Supabase gerados
│       ├── .env          # Variáveis locais
│       ├── package.json
│       └── tsconfig.json
├── supabase/             # Migrations, seed, config
│   └── migrations/
│       └── 00001_init_schema.sql
├── .vscode/
│   └── mcp.json          # Config MCP para VS Code
├── PRD_MCP_SERVER_MINIMO.md
├── README.md
└── package.json          # Workspace root

MCP Tools Disponíveis

Tool

Descrição

Requer Supabase

mock_code_review

Code review simulado com achados pré-definidos

supabase_health

Health check da conexão Supabase

create_review

Insere registro no review_history

get_review_rules

Busca regras de review do time

get_review_history

Histórico de reviews com paginação

cache_review

Upsert de review (team_id+repo+pr_number)

get_pr_diff

Diff do PR (mock mode disponível)

❌ (mock)

post_comment

Comentário em PR (salvo no histórico)


Scripts Úteis

# Raiz do projeto
npm run dev              # Frontend
npm run inspector        # MCP Inspector
npm run build            # Build all workspaces

# apps/mcp-server
npm run build            # Compila TypeScript
npm run start            # Build + roda servidor
npm run dev              # Watch mode (tsx)
npm run test             # Vitest
npm run lint             # ESLint
npm run typecheck        # tsc --noEmit

Comandos Supabase Úteis

npx supabase start           # Inicia Supabase local
npx supabase stop            # Para Supabase local
npx supabase status          # Status + credenciais
npx supabase db reset        # Reset DB + migrations + seed
npx supabase studio          # Abre Studio no browser
npx supabase migration new   # Cria nova migration

Roadmap do Curso

  • Módulo 1-3: MCP Server mínimo (tools, resources, prompts, Inspector, VS Code)

  • Módulo 4: Supabase-backed tools (create_review, get_review_rules, get_review_history, cache_review, get_pr_diff, post_comment)

  • 🔄 Módulo 5: GitHub API integration, PR analysis pipeline

  • 🔄 Módulo 6: Real AI code review (OpenRouter + Nemotron)

  • 🔄 Módulo 7: Webhooks, CI/CD integration

  • 🔄 Módulo 8: Multi-repo, teams, advanced features

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bpinheiromg/devreview'

If you have feedback or need assistance with the MCP directory API, please join our Discord server