NeuroDev MCP Server
Um poderoso servidor Model Context Protocol (MCP) que potencializa seu fluxo de trabalho de desenvolvimento Python com revisão de código baseada em IA, geração inteligente de testes e execução abrangente de testes.
Documentação
🧠 NeuroDev MCP Server
Análise Inteligente de Código, Geração e Execução de Testes
Um poderoso servidor Model Context Protocol (MCP) que potencializa seu fluxo de trabalho de desenvolvimento Python com revisão de código assistida por IA, geração inteligente de testes e execução abrangente de testes.
Recursos • Instalação • Início Rápido • Ferramentas • Exemplos
✨ Recursos
🔍 Revisão de Código
|
🧪 Geração de Testes
|
▶️ Execução de Testes
|
🎨 Formatação de Código
|
📦 Instalação
Instalação Rápida
\`bash
# Clone the repository
git clone https://github.com/ravikant1918/neurodev-mcp.git
cd neurodev-mcp
# Create virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\\Scripts\\activate
# Install the package
pip install -e .
\`\`\`
### **Verify Installation**
\`\`\`bash
# Run tests (should show 15/15 passing)
python test_installation.py
# Test the server
python -m neurodev_mcp.server
\`\`\`
<details>
<summary><b>📁 Project Structure</b> (click to expand)</summary>
\`\`\`
neurodev-mcp/
├─ neurodev_mcp/ # 📦 Main package
│ ├─ __init__.py # Package exports
│ ├─ server.py # MCP server entry point
│ ├─ analyzers/ # 🔍 Code analysis
│ │ ├─ __init__.py
│ │ └─ code_analyzer.py # Multi-tool static analysis
│ ├─ generators/ # 🧪 Test generation
│ │ ├─ __init__.py
│ │ └─ test_generator.py # AST-based test creation
│ └─ executors/ # ▶️ Test execution
│ ├─ __init__.py
│ └─ test_executor.py # Test running & formatting
├─ pyproject.toml # Project configuration
├─ README.md # This file
├─ test_installation.py # Installation validator
├─ examples.py # Usage examples
└─ requirements.txt # Dependencies
🚀 Início Rápido
Passo 1: Configure Seu Cliente MCP
🖥️ Claude Desktop
Edite ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"neurodev-mcp": {
"command": "/absolute/path/to/neurodev-mcp/.venv/bin/python",
"args": ["-m", "neurodev_mcp.server"]
}
}
}
💡 Dica: Substitua
/absolute/path/to/neurodev-mcppelo seu caminho real
🔧 Cline (VSCode)
Adicione às suas configurações de MCP:
{
"neurodev-mcp": {
"command": "python",
"args": ["-m", "neurodev_mcp.server"]
}
}
🐍 Uso Autônomo
Execute o servidor diretamente:
# Using the module
python -m neurodev_mcp.server
# Or as a command (if installed)
neurodev-mcp
Passo 2: Reinicie Seu Cliente
Reinicie o Claude Desktop ou recarregue o VSCode para carregar o servidor.
Passo 3: Comece a Usar! 🎉
Experimente estes comandos com seu assistente de IA:
- "Revise este código Python em busca de problemas"
- "Gere testes unitários para esta função"
- "Execute estes testes com cobertura"
- "Formate este código para os padrões PEP8"
🌐 Opções de Transporte
O NeuroDev MCP suporta múltiplos protocolos de transporte para diferentes casos de uso:
STDIO (Padrão) - CLI Local
Perfeito para desenvolvimento local com clientes MCP como Claude Desktop ou Cline:
# Default STDIO transport
neurodev-mcp
# Or explicitly specify STDIO
neurodev-mcp --transport stdio
Configuração (Claude Desktop):
{
"mcpServers": {
"neurodev-mcp": {
"command": "neurodev-mcp",
"args": ["--transport", "stdio"]
}
}
}
SSE (Server-Sent Events) - Integração Web
Para integrações baseadas na web e streaming HTTP:
# Run with SSE on default port (8000)
neurodev-mcp --transport sse
# Custom host and port
neurodev-mcp --transport sse --host 0.0.0.0 --port 3000
Endpoints:
- Stream SSE:
http://localhost:8000/sse - Mensagens:
http://localhost:8000/messages(POST)
Exemplo de Cliente Web:
const sse = new EventSource('http://localhost:8000/sse');
sse.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Received:', data);
};
// Send message
fetch('http://localhost:8000/messages', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
method: 'tools/call',
params: {
name: 'code_review',
arguments: { code: 'def test(): pass', analyzers: ['pylint'] }
}
})
});
Comparação de Transportes
| Transporte | Caso de Uso | Melhor Para |
|---|---|---|
| STDIO | Clientes CLI locais | Claude Desktop, Cline, desenvolvimento local |
| SSE | Integrações web | Aplicativos de navegador, webhooks, clientes remotos |
🛠️ Ferramentas Disponíveis
1. code_review
🔍 Análise abrangente de código com múltiplas ferramentas de análise estática
Entrada:
{
"code": "def calculate(x):\n return x * 2",
"analyzers": ["pylint", "flake8", "mypy", "bandit", "radon", "ast"]
}
Saída:
- Relatórios detalhados de problemas de cada analisador
- Vulnerabilidades de segurança
- Métricas de complexidade
- Pontuações de qualidade de código
- Sugestões linha por linha
2. generate_tests
🧪 Geração inteligente de testes pytest usando análise de AST
Entrada:
{
"code": "def add(a: int, b: int) -> int:\n return a + b",
"module_name": "calculator",
"save": false
}
Saída:
- Suíte completa de testes pytest
- Múltiplos casos de teste (caminho feliz, casos extremos, exceções)
- Testes de validação de tipos
- Código de teste pronto para execução
3. run_tests
▶️ Execute testes pytest com relatório de cobertura
Entrada:
{
"test_code": "def test_add():\n assert add(1, 2) == 3",
"source_code": "def add(a, b):\n return a + b",
"timeout": 30
}
Saída:
- Status de aprovação/reprovação
- Percentual de cobertura
- Detalhes de cobertura de linha
- Tempo de execução
- stdout/stderr detalhados
4. format_code
🎨 Formate automaticamente código Python para os padrões PEP8
Entrada:
{
"code": "def messy( x,y ):\n return x+y",
"line_length": 88
}
Saída:
- Código lindamente formatado
- Conformidade com PEP8
- Estilo consistente
- Detecção de alterações
💡 Exemplos de Uso
Exemplo 1: Fluxo de Trabalho Completo de Revisão de Código
You: "Review this code for issues and security problems"
[paste code]
AI: [Uses code_review tool]
→ Finds 3 style issues
→ Detects 1 security vulnerability
→ Suggests complexity improvements
You: "Fix those issues and show me the updated code"
AI: [Provides fixed code with explanations]
Exemplo 2: Geração e Execução de Testes
You: "Generate tests for this function and run them"
def divide(a: float, b: float) -> float:
if b == 0:
raise ValueError("Cannot divide by zero")
return a / b
AI: [Uses generate_tests tool]
→ Creates 5 test cases
→ Includes edge cases (zero, negative numbers)
→ Tests exception handling
[Uses run_tests tool]
→ 5/5 tests passing ✓
→ 100% code coverage
→ All edge cases handled
Exemplo 3: Formatação de Código
You: "Format this messy code"
def calculate( x,y,z ):
result=x+y+z
if result>10:
return True
return False
AI: [Uses format_code tool]
→ Applies black formatting
→ Returns clean, PEP8-compliant code
def calculate(x, y, z):
result = x + y + z
if result > 10:
return True
return False
📋 Requisitos
| Pacote | Versão | Finalidade |
|---|---|---|
mcp | ≥0.9.0 | SDK do Model Context Protocol |
pylint | ≥3.0.0 | Análise de qualidade de código |
flake8 | ≥7.0.0 | Verificação de estilo |
mypy | ≥1.7.0 | Verificação estática de tipos |
bandit | ≥1.7.5 | Varredura de segurança |
radon | ≥6.0.1 | Métricas de complexidade |
black | ≥23.12.0 | Formatação de código |
autopep8 | ≥2.0.4 | Formatação PEP8 |
pytest | ≥7.4.3 | Framework de testes |
pytest-cov | ≥4.1.0 | Relatório de cobertura |
pytest-timeout | ≥2.2.0 | Timeouts de teste |
Python: 3.8 ou superior
🧪 Desenvolvimento
Executando Testes
# Run installation tests
python test_installation.py
# Run examples
python examples.py
# Run pytest (if you add tests)
pytest
Usando como Biblioteca
from neurodev_mcp import CodeAnalyzer, TestGenerator, TestExecutor
import asyncio
# Analyze code
code = "def hello(): print('world')"
result = asyncio.run(CodeAnalyzer.analyze_ast(code))
# Generate tests
tests = TestGenerator.generate_tests(code, "mymodule")
# Run tests
output = TestExecutor.run_tests(test_code, source_code)
❓ Solução de Problemas
Servidor não aparecendo no cliente MCP?
- ✅ Verifique se o caminho na configuração é absoluto
- ✅ Garanta que o caminho do executável Python está correto
- ✅ Reinicie o Claude Desktop ou o VSCode completamente
- ✅ Verifique os logs do servidor para erros
Erros de importação ou módulo?
# Reinstall the package
pip install -e .
# Verify installation
python -c "from neurodev_mcp import CodeAnalyzer; print('✓ OK')"
# Run installation tests
python test_installation.py
Testes falhando?
- ✅ Garanta que Python 3.8+ está instalado
- ✅ Ative o ambiente virtual:
source .venv/bin/activate - ✅ Reinstale as dependências:
pip install -e . - ✅ Execute:
python test_installation.pypara diagnosticar
Problemas de desempenho?
- Alguns analisadores (pylint, mypy) podem ser lentos em arquivos grandes
- Use analisadores específicos:
"analyzers": ["flake8", "ast"] - Aumente o timeout para suítes de teste grandes
- Considere armazenar resultados em cache (recurso futuro)
🤝 Contribuindo
Contribuições são bem-vindas! Veja como:
- Faça um fork do repositório
- Crie um branch de recurso:
git checkout -b feature/amazing-feature - Faça suas alterações
- Execute os testes:
python test_installation.py - Faça o commit:
git commit -m 'Add amazing feature' - Faça o push:
git push origin feature/amazing-feature - Abra um Pull Request
Melhorias Futuras
- Analisadores adicionais (pydocstyle, vulture)
- Cache de resultados para desempenho
- Suporte a arquivos de configuração
- Painel web
- Suporte a múltiplos idiomas
- Pipeline CI/CD
📄 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
🙏 Agradecimentos
- Construído com o Model Context Protocol
- Desenvolvido com pylint, flake8, mypy, bandit, radon
- Testes com pytest
- Formatação com black
📞 Suporte
- 📖 Documentação: Você está lendo!
- 🐛 Problemas: GitHub Issues
- 💬 Discussões: GitHub Discussions
- 📧 E-mail: team@neurodev.io
Pronto para potencializar seu desenvolvimento Python! 🚀
Feito com ❤️ pela equipe NeuroDev