Skip to main content
Glama

Project Data Standardization MCP

by 999luan
README.md6.87 kB
# 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 ## 📦 Instalação 1. **Clone ou baixe os arquivos:** ```bash git clone <seu-repositorio> cd mcp ``` 2. **Instale as dependências:** ```bash pip install -r requirements.txt ``` 3. **Teste o MCP:** ```bash 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:** ```python # ✅ 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:** ```python # ✅ 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:** ```python 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:** ```python # 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: ```json { "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: ```json { "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 ```bash python demo.py ``` ### Testes Completos ```bash 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!**

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/999luan/mcp'

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