Skip to main content
Glama
999luan

Project Data Standardization MCP

by 999luan

MCP - Padronização de Dados do Projeto

Este MCP garante que o modelo sempre siga a padronização de dados do projeto, evitando confusões em nomes de variáveis, tabelas e colunas do banco de dados.

🚀 Funcionalidades

🔍 Validação de Variáveis

  • Verifica se nomes de variáveis seguem a convenção do projeto

  • Suporta camelCase, snake_case e PascalCase

  • Valida prefixos obrigatórios por tipo

  • Identifica nomes proibidos

🗄️ Validação de Banco de Dados

  • Valida nomes de tabelas e colunas

  • Mantém registro da estrutura do banco

  • Verifica consistência na nomenclatura

📁 Validação de Estrutura de Arquivos

  • Valida nomes de arquivos e pastas

  • Verifica extensões apropriadas

  • Sugere melhorias na organização

💡 Sugestões Inteligentes

  • Gera nomes de variáveis baseados em descrições

  • Segue os padrões configurados do projeto

  • Aplica prefixos automaticamente

Related MCP server: mcp-rules-server

📦 Instalação

  1. Clone ou baixe os arquivos:

git clone <seu-repositorio>
cd mcp
  1. Instale as dependências:

pip install -r requirements.txt
  1. Teste o MCP:

python demo.py

🛠️ Ferramentas Disponíveis

validate_variable_name

Valida se um nome de variável segue os padrões do projeto.

Parâmetros:

  • variable_name (obrigatório): Nome da variável a ser validada

  • variable_type (opcional): Tipo da variável para verificar prefixos

Exemplo:

# ✅ Válido
userName = "João"
isActive = True
handleSubmit = () => {}

# ❌ Inválido
user_name = "João"  # Não segue camelCase
data = []  # Nome proibido
submit = () => {}  # Falta prefixo 'handle'

validate_database_structure

Valida estrutura de tabelas e colunas do banco de dados.

Parâmetros:

  • table_name (obrigatório): Nome da tabela

  • columns (opcional): Lista de colunas da tabela

Exemplo:

# ✅ Válido
user_profiles: ["id", "user_id", "first_name", "last_name", "email", "created_at"]

# ❌ Inválido
UserProfiles: ["ID", "UserID", "FirstName", "LastName"]

set_project_standards

Define os padrões de nomenclatura do projeto.

Parâmetros:

  • variable_naming: Padrão (camelCase, snake_case, PascalCase)

  • forbidden_names: Lista de nomes proibidos

  • required_prefixes: Prefixos obrigatórios por tipo

Exemplo:

set_project_standards({
    "variable_naming": "snake_case",
    "forbidden_names": ["data", "temp", "user"],
    "required_prefixes": {
        "boolean": "has",
        "function": "process"
    }
})

get_project_standards

Retorna os padrões atuais do projeto.

suggest_variable_name

Sugere um nome de variável seguindo os padrões.

Parâmetros:

  • description (obrigatório): Descrição do que a variável representa

  • variable_type (opcional): Tipo da variável

Exemplo:

# Entrada: "nome completo do usuário"
# Saída: "nomeCompletoDoUsuário" (camelCase)

# Entrada: "usuário está ativo" (boolean)
# Saída: "isUsuárioEstáAtivo" (com prefixo)

validate_file_structure

Valida a estrutura de arquivos e pastas do projeto.

Parâmetros:

  • file_path (obrigatório): Caminho do arquivo a ser validado

⚙️ Configuração

Padrões Padrão

O MCP vem com configurações padrão que você pode personalizar:

  • Convenção de variáveis: camelCase

  • Nomes proibidos: data, temp, tmp, var, obj

  • Prefixos obrigatórios:

    • boolean: is

    • function: handle

    • event: on

Personalização

Edite o arquivo config.json para personalizar os padrões:

{
  "project_standards": {
    "variable_naming": "camelCase",
    "forbidden_names": ["data", "temp", "tmp", "var", "obj"],
    "required_prefixes": {
      "boolean": "is",
      "function": "handle",
      "event": "on"
    }
  }
}

🔧 Integração com Clientes MCP

Configuração do Cliente

Adicione ao seu cliente MCP:

{
  "mcpServers": {
    "project-standards": {
      "command": "python",
      "args": ["project_standards_mcp.py"],
      "env": {
        "PYTHONPATH": "."
      }
    }
  }
}

Uso no Cursor/VS Code

  1. Configure o MCP no seu cliente

  2. Use as ferramentas diretamente no chat

  3. O modelo automaticamente validará e sugerirá nomes

🧪 Testando

Demonstração Rápida

python demo.py

Testes Completos

python test_examples.py

Exemplo de Saída

🎯 MCP - Padronização de Dados do Projeto
==================================================

📋 Ferramentas disponíveis:
  • validate_variable_name: Valida se um nome de variável segue os padrões do projeto
  • validate_database_structure: Valida estrutura de tabelas e colunas do banco de dados
  • set_project_standards: Define os padrões de nomenclatura do projeto
  • get_project_standards: Retorna os padrões atuais do projeto
  • suggest_variable_name: Sugere um nome de variável seguindo os padrões do projeto
  • validate_file_structure: Valida a estrutura de arquivos e pastas do projeto

🔍 Exemplo 1: Validação de Variáveis
------------------------------
  userName (string): ✅ Nome 'userName' é válido!
  user_name (string): ❌ Nome 'user_name' não é válido!
  isActive (boolean): ✅ Nome 'isActive' é válido!
  active (boolean): ⚠️  Variáveis do tipo 'boolean' devem começar com 'is'
  data (array): ❌ Nome 'data' está na lista de nomes proibidos!

💡 Exemplo 2: Sugestões de Nomes
------------------------------
  'nome completo do usuário' → nomeCompletoDoUsuário
  'usuário está ativo' → isUsuárioEstáAtivo
  'enviar formulário de login' → handleEnviarFormulárioDeLogin

🎯 Benefícios

  1. Consistência: Garante que todos os nomes sigam o mesmo padrão

  2. Prevenção de Erros: Evita confusões entre variáveis similares

  3. Manutenibilidade: Código mais limpo e organizado

  4. Produtividade: Sugestões automáticas de nomes

  5. Documentação: Mantém registro da estrutura do projeto

🔄 Fluxo de Trabalho

  1. Configure os padrões do seu projeto

  2. Valide variáveis antes de usar

  3. Use sugestões para nomes consistentes

  4. Mantenha o banco organizado

  5. Valide arquivos para estrutura limpa

🤝 Contribuição

Para adicionar novas funcionalidades ou melhorar o MCP:

  1. Fork o projeto

  2. Crie uma branch para sua feature

  3. Implemente as mudanças

  4. Teste as funcionalidades

  5. Envie um pull request

📄 Licença

MIT License - veja o arquivo LICENSE para detalhes.

🆘 Suporte

Se encontrar problemas:

  1. Verifique se todas as dependências estão instaladas

  2. Execute python demo.py para testar

  3. Consulte os exemplos em test_examples.py

  4. Abra uma issue no repositório


🎉 Agora seu modelo sempre seguirá os padrões do projeto!

Related MCP Connectors

Related MCP Servers