Metadata-Version: 2.4
Name: liev-sdlc-mcp
Version: 0.1.0
Summary: Model Context Protocol (MCP) server for SDLC API integrations
Author-email: Inmetrics Liev <gleison.souza@inmetrics.com.br>
License: MIT
Keywords: fastmcp,mcp,model-context-protocol,pypi,sdlc,stdio
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: fastmcp>=3.3.1
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0.1
Description-Content-Type: text/markdown

# Inmetrics Liev - SDLC MCP Server (`liev-sdlc-mcp`)

[![Python](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/)
[![FastMCP](https://img.shields.io/badge/framework-FastMCP-orange.svg)](https://gofastmcp.com/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

O **`liev-sdlc-mcp`** é um servidor compatível com o **Model Context Protocol (MCP)** projetado para integrar agentes de Inteligência Artificial (como o Antigravity, Claude Desktop, Cursor, etc.) com a API de SDLC (Software Development Life Cycle) da **Liev / Inmetrics**.

O servidor opera sobre o transporte **STDIO**, fornecendo ferramentas inteligentes para buscar projetos, consultar descobertas de arquitetura, fluxos e funcionalidades do sistema diretamente dos agentes.

---

## 🛠️ Funcionalidades Mapeadas (Tools)

O MCP expõe as seguintes ferramentas para o modelo de linguagem:

1. **`list_sdlc_projects`**: Lista todos os projetos disponíveis no SDLC.
2. **`get_project_discovery`**: Recupera dados históricos de descobertas (discoveries) para um projeto específico com paginação.
3. **`get_discovery_results`**: Recupera os resultados detalhados (como capacidades de negócio mapeadas, regras de negócio e infraestrutura) de uma descoberta específica.

---

## ⚙️ Configuração após a Publicação

Depois que você publicar o pacote no PyPI ou no seu registro privado, a configuração no arquivo `mcp_config.json` do seu cliente (Antigravity/Claude Desktop) ficará extremamente limpa e simples.

Aqui estão as duas abordagens recomendadas para os usuários finais:

### Opção A: Execução Efêmera sem Instalação Manual (Recomendado via `uvx`)

A melhor forma de rodar, pois o cliente baixa e gerencia a versão correta do pacote automaticamente do registro:

```json
{
  "mcpServers": {
    "liev-sdlc-mcp": {
      "command": "uvx",
      "args": [
        "liev-sdlc-mcp"
      ],
      "env": {
        "SDLC_TOKEN": "seu-token-pat-aqui",
        "SDLC_BASE_URL": "https://portal-url-backend.ai"
      }
    }
  }
}
```

> [!TIP]
> Se o pacote estiver em um **registro privado** (como Nexus ou Artifactory), basta passar a flag `--index` apontando para o seu repositório:
> `"args": ["--index", "https://seu-registro-privado/simple", "liev-sdlc-mcp"]`

---

### Opção B: Instalação Global (via `pipx` ou `pip`)

Se você ou seus usuários optarem por instalar o pacote globalmente no sistema:

```bash
# Instalação global isolada (Recomendado)
pipx install liev-sdlc-mcp

# Ou via pip padrão
pip install liev-sdlc-mcp
```

Uma vez instalado globalmente, o comando `liev-sdlc-mcp` fica disponível no PATH do sistema. O JSON de configuração reduz-se para:

```json
{
  "mcpServers": {
    "liev-sdlc-mcp": {
      "command": "liev-sdlc-mcp",
      "env": {
        "SDLC_TOKEN": "seu-token-pat-aqui",
        "SDLC_BASE_URL": "https://portal-url-backend.ai"
      }
    }
  }
}
```

---

## 💻 Desenvolvimento Local

Se você estiver modificando o servidor localmente, use estas diretrizes:

### Pré-requisitos
* Python 3.12 ou superior
* Gerenciador de pacotes **`uv`** (Recomendado) ou `pip`.

### Configurando o Ambiente de Desenvolvimento
Instale o projeto em modo editável para que suas alterações reflitam instantaneamente:

```bash
uv pip install -e .
```

Para testar localmente no Antigravity no modo de desenvolvimento, aponte diretamente para o seu diretório:

```json
{
  "mcpServers": {
    "liev-sdlc-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "c:/projects/MCPs/SDLC-MCP",
        "run",
        "liev-sdlc-mcp"
      ],
      "env": {
        "SDLC_TOKEN": "seu-token-pat-aqui",
        "SDLC_BASE_URL": "http://localhost:3000"
      }
    }
  }
}
```

---

## 📦 Compilação e Publicação

### 1. Limpeza e Build
Para compilar a distribuição em formatos Source Tarball (`.tar.gz`) e Wheel (`.whl`):

```bash
# Limpa builds antigos
Remove-Item -Path "dist/*" -Force

# Gera nova build limpa
uv build
```

### 2. Publicando

#### Publicar no PyPI Público:
```bash
uv publish
```

#### Publicar em um Registro Privado (ex: Nexus/Artifactory):
```bash
uv publish --publish-url https://seu-registro-privado/legacy/
```
