Neurodev Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Neurodev Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
A powerful Model Context Protocol (MCP) server that supercharges your Python development workflow with AI-powered code review, intelligent test generation, and comprehensive test execution.
Features • Installation • Quick Start • Tools • Examples
</div>
<table> <tr> <td width="50%">
pylint - Code quality & PEP8flake8 - Style enforcementmypy - Type checkingbandit - Security scanningradon - Complexity metricsAST - Custom inspections</td> <td width="50%">
</td> </tr> <tr> <td width="50%">
</td> <td width="50%">
black - Opinionated styleautopep8 - PEP8 compliance</td> </tr> </table>
\\\`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</details>
<details open> <summary><b>🖥️ Claude Desktop</b></summary>
Edit ~/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"]
}
}
}💡 Tip: Replace /absolute/path/to/neurodev-mcp with your actual path</details>
<details> <summary><b>🔧 Cline (VSCode)</b></summary>
Add to your MCP settings:
{
"neurodev-mcp": {
"command": "python",
"args": ["-m", "neurodev_mcp.server"]
}
}</details>
<details> <summary><b>🐍 Standalone Usage</b></summary>
Run the server directly:
# Using the module
python -m neurodev_mcp.server
# Or as a command (if installed)
neurodev-mcp</details>
Restart Claude Desktop or reload VSCode to load the server.
Try these commands with your AI assistant:
NeuroDev MCP supports multiple transport protocols for different use cases:
Perfect for local development with MCP clients like Claude Desktop or Cline:
# Default STDIO transport
neurodev-mcp
# Or explicitly specify STDIO
neurodev-mcp --transport stdioConfiguration (Claude Desktop):
{
"mcpServers": {
"neurodev-mcp": {
"command": "neurodev-mcp",
"args": ["--transport", "stdio"]
}
}
}For web-based integrations and HTTP streaming:
# 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 3000Endpoints:
http://localhost:8000/ssehttp://localhost:8000/messages (POST)Web Client Example:
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'] }
}
})
});| Transport | Use Case | Best For |
|---|---|---|
| STDIO | Local CLI clients | Claude Desktop, Cline, local development |
| SSE | Web integrations | Browser apps, webhooks, remote clients |
🔍 Comprehensive code analysis with multiple static analysis tools
Input:
{
"code": "def calculate(x):\n return x * 2",
"analyzers": ["pylint", "flake8", "mypy", "bandit", "radon", "ast"]
}Output:
🧪 Intelligent pytest test generation using AST analysis
Input:
{
"code": "def add(a: int, b: int) -> int:\n return a + b",
"module_name": "calculator",
"save": false
}Output:
▶️ Execute pytest tests with coverage reporting
Input:
{
"test_code": "def test_add():\n assert add(1, 2) == 3",
"source_code": "def add(a, b):\n return a + b",
"timeout": 30
}Output:
🎨 Auto-format Python code to PEP8 standards
Input:
{
"code": "def messy( x,y ):\n return x+y",
"line_length": 88
}Output:
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]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 handledYou: "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| Package | Version | Purpose |
|---|---|---|
mcp | ≥0.9.0 | Model Context Protocol SDK |
pylint | ≥3.0.0 | Code quality analysis |
flake8 | ≥7.0.0 | Style checking |
mypy | ≥1.7.0 | Static type checking |
bandit | ≥1.7.5 | Security scanning |
radon | ≥6.0.1 | Complexity metrics |
black | ≥23.12.0 | Code formatting |
autopep8 | ≥2.0.4 | PEP8 formatting |
pytest | ≥7.4.3 | Testing framework |
pytest-cov | ≥4.1.0 | Coverage reporting |
pytest-timeout | ≥2.2.0 | Test timeouts |
Python: 3.8 or higher
# Run installation tests
python test_installation.py
# Run examples
python examples.py
# Run pytest (if you add tests)
pytestfrom 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)<details> <summary><b>Server not appearing in MCP client?</b></summary>
</details>
<details> <summary><b>Import or module errors?</b></summary>
# Reinstall the package
pip install -e .
# Verify installation
python -c "from neurodev_mcp import CodeAnalyzer; print('✓ OK')"
# Run installation tests
python test_installation.py</details>
<details> <summary><b>Tests failing?</b></summary>
source .venv/bin/activatepip install -e .python test_installation.py to diagnose</details>
<details> <summary><b>Performance issues?</b></summary>
"analyzers": ["flake8", "ast"]</details>
Contributions are welcome! Here's how:
git checkout -b feature/amazing-featurepython test_installation.pygit commit -m 'Add amazing feature'git push origin feature/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.
<div align="center">
Made with ❤️ by the NeuroDev Team
⭐ Star on GitHub • 🐛 Report Bug • ✨ Request Feature
</div>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.