Skip to main content
Glama
README.md
# sdd-mcp-server

Servidor MCP que expoe specs e skills de um esquema de Spec-Driven
Development (SDD) para qualquer cliente MCP (Claude Code, Claude Desktop,
VS Code + Copilot, etc).

## Estrutura

```
sdd-mcp-server/
├── pyproject.toml
├── server.py
├── specs/
│   └── checkout-flow.md      # exemplo de spec
└── skills/
    └── api-rest.md           # exemplo de skill
```

- `specs/*.md` — cada arquivo e uma especificacao: contrato de entrada/saida
  e criterios de aceite. E a fonte de verdade do que deve ser construido.
- `skills/*.md` — cada arquivo e um conjunto de convencoes reutilizaveis
  (padroes de codigo, erro, testes). Nao descreve o que construir, so o como.

## Instalacao

Com `uv` (recomendado):

```bash
cd sdd-mcp-server
uv venv
uv pip install -e .
```

Ou com `pip`:

```bash
cd sdd-mcp-server
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .
```

## Rodar

```bash
python server.py
```

## Testar com o MCP Inspector

```bash
npx @modelcontextprotocol/inspector python server.py
```

Isso abre uma interface web onde voce pode chamar `list_specs`,
`list_skills`, `get_skill`, `validate_spec` e `prepare_generation_context`
manualmente antes de conectar num cliente real.

## Conectar ao Claude Code / Claude Desktop

No arquivo de configuracao MCP do cliente, adicione:

```json
{
  "mcpServers": {
    "sdd-server": {
      "command": "python",
      "args": ["/caminho/absoluto/para/sdd-mcp-server/server.py"]
    }
  }
}
```

## Conectar ao VS Code

Crie `.vscode/mcp.json` no seu workspace:

```json
{
  "servers": {
    "sddServer": {
      "type": "stdio",
      "command": "python",
      "args": ["/caminho/absoluto/para/sdd-mcp-server/server.py"]
    }
  }
}
```

Depois, na Command Palette: `MCP: List Servers` → Start. Abra o Copilot
Chat em Agent Mode e peca, por exemplo, "liste as specs disponiveis".

## Fluxo de uso tipico

1. Escreva uma nova spec em `specs/nova-feature.md` seguindo o formato do
   exemplo `checkout-flow.md` (secoes `## Contrato` e `## Criterios de
   aceite` sao obrigatorias).
2. Rode a tool `validate_spec` para confirmar que a spec esta completa.
3. Rode `list_skills` para ver quais skills existem, e `get_skill` para
   ler a mais relevante.
4. Rode `prepare_generation_context` passando o id da spec e o dominio da
   skill — isso retorna um bloco de texto pronto para ser usado como prompt
   do agente gerador de codigo.
5. Depois do codigo gerado, escreva testes que cubram cada criterio de
   aceite da spec (a skill `api-rest.md` tem a convencao de nomenclatura).

## Adicionando novas specs e skills

Basta criar novos arquivos `.md` em `specs/` ou `skills/` — o servidor os
descobre automaticamente, sem precisar reiniciar codigo algum alem do
proprio processo do servidor.
# Solution