Skip to main content
Glama
julionet

mcp-gestao-os

by julionet

MCP — Gestão de Serviços e Ordens de Serviço

Servidor MCP em Python que expõe CRUD de Serviços (catálogo) e Ordens de Serviço (OS) para uso conversacional via Claude Desktop / Claude Code. Implementa o SPEC.md com o SDK oficial MCP (low-level Server, sem FastMCP), transporte streamable HTTP e persistência em SQLite.

Arquitetura (camadas)

src/gestao_os/
├── main.py                  # Entrypoint: ASGI (Starlette + uvicorn), streamable HTTP em /mcp
├── server.py                # Montagem do Server MCP: instructions, list_tools, call_tool
├── database.py              # SQLite: schema e transações (FKs ativas)
├── errors.py                # AppError + códigos do contrato de erros (seção 7)
├── textutil.py              # Normalização case/accent-insensitive (RN01, RN13)
├── models/                  # Entidades: Servico, OrdemServico, OrdemServicoItem
├── repositories/            # Acesso a dados (SQL puro por entidade)
├── services/                # Regras de negócio (RN01–RN10)
└── tools/
    ├── definitions.py       # As 13 tools MCP com inputSchema e descriptions (seções 5 e 6)
    ├── handlers.py          # Validação de argumentos (RN12/RN15) e delegação aos services
    └── validation.py        # Helpers de validação: tipos, paginação (RN14), confirmação (RN12)

Fluxo de uma tool call: server.call_toolhandlers (presença/tipo/confirmação) → services (regras de negócio, transação) → repositories (SQL) → JSON estruturado de volta ao cliente. Erros de negócio retornam {"erro": "<CODIGO>", "mensagem": "<pt-BR>"}.

Requisitos

  • Python 3.11+

  • Dependências: mcp>=1.27, starlette, uvicorn

Instalação e execução

pip install -e ".[dev]"

# inicia em http://127.0.0.1:8000/mcp (SQLite: .\gestao_os.db)
mcp-gestao-os

# opções
mcp-gestao-os --host 0.0.0.0 --port 8000 --db C:\dados\gestao_os.db

(Equivalente: python -m gestao_os.main.)

Conectando o cliente

Claude Code:

claude mcp add --transport http gestao-os http://127.0.0.1:8000/mcp

Claude Desktop: adicionar em Settings → Connectors (integração remota) apontando para http://127.0.0.1:8000/mcp, ou via proxy stdio no claude_desktop_config.json:

{
  "mcpServers": {
    "gestao-os": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "http://127.0.0.1:8000/mcp"]
    }
  }
}

Testes

python -m pytest

A suíte cobre as regras de negócio RN01–RN14: unicidade case/accent-insensitive, snapshot de preço, recálculo de valor_total, imutabilidade de OS concluída/cancelada, mínimo de 1 item, confirmação de operações destrutivas, paginação etc.

Tools expostas (13)

Grupo

Tools

Serviços

criar_servico, alterar_servico, excluir_servico, listar_servicos, buscar_servicos

Ordens de Serviço

criar_ordem_servico, alterar_ordem_servico, excluir_ordem_servico, listar_ordens_servico, consultar_ordem_servico

Itens da OS

adicionar_item_os, remover_item_os, alterar_quantidade_item_os

Regras conversacionais (desambiguação por busca, confirmação de destrutivas, nunca presumir dados) estão embutidas nas instructions do servidor e nas descriptions das tools, conforme a seção 6 do SPEC.

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

0Maintainers
No issuesResponse time
0Releases (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.

Related MCP Connectors

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/julionet/projeto-mcp-python'

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