The coding server provides a tool to execute software tests specifically using the Pytest framework, enabling automated test runs and validation of code changes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Foundation Templateshow me how to add a new tool"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Monorepo
A collection of Model Context Protocol (MCP) servers built with FastMCP, providing specialized tools for coding assistance and penetration testing.
Overview
This monorepo contains multiple MCP servers, each providing domain-specific tools that can be used by Claude and other AI assistants:
Coding Server: Code review, testing, and formatting tools
Pentest Server: Security assessment and penetration testing tools
Repository Structure
mcp/
├── README.md # This file - overview and setup guide
├── servers/
│ ├── coding/ # Coding assistance server
│ │ ├── server.py # FastMCP server implementation
│ │ ├── requirements.txt # Python dependencies
│ │ └── README.md # Server-specific documentation
│ └── pentest/ # Penetration testing server
│ ├── server.py # FastMCP server implementation
│ ├── requirements.txt # Python dependencies
│ └── README.md # Server-specific documentation
└── shared/ # Shared utilities (placeholder)
└── __init__.pyQuick Start
Prerequisites
Python 3.8 or higher
pip (Python package manager)
Virtual environment (recommended)
Installation
Clone or navigate to this repository:
cd mcpSet up each server you want to use:
For Coding Server:
cd servers/coding
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtFor Pentest Server:
cd servers/pentest
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtTesting Servers
Test servers individually using the MCP Inspector:
# Test coding server (stdio)
npx @modelcontextprotocol/inspector python servers/coding/server.py
# Test pentest server (stdio)
npx @modelcontextprotocol/inspector python servers/pentest/server.py
# Test with SSE transport
python servers/coding/server.py --transport sse --port 8000
# Then connect inspector to http://localhost:8000/sseTransport Options
Each server supports two transport mechanisms:
stdio (Standard Input/Output)
Use for: Claude Desktop, VS Code, local IDE integrations
Pros: Simple, secure, no network configuration needed
Cons: One client per server instance
Default: Yes
python servers/coding/server.py
# or explicitly
python servers/coding/server.py --transport stdioSSE (HTTP with Server-Sent Events)
Use for: Multiple clients, remote access, service deployment
Pros: Multiple concurrent clients, network accessible
Cons: Requires port management, network security considerations
Default: No
# Coding server (port 8000)
python servers/coding/server.py --transport sse --host 127.0.0.1 --port 8000
# Pentest server (port 8001)
python servers/pentest/server.py --transport sse --host 127.0.0.1 --port 8001
# Bind to all interfaces (use with caution)
python servers/coding/server.py --transport sse --host 0.0.0.0 --port 8000Security Note: When using SSE transport, especially for pentest tools, be cautious about binding to 0.0.0.0 or exposing servers to untrusted networks.
Configuration
Claude Desktop
To use these servers with Claude Desktop, add them to your configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
stdio Transport (Recommended for Desktop)
{
"mcpServers": {
"coding": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/coding/server.py"],
"env": {}
},
"pentest": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/pentest/server.py"],
"env": {}
}
}
}SSE Transport (For Shared Services)
If running servers separately as services:
{
"mcpServers": {
"coding": {
"url": "http://localhost:8000/sse"
},
"pentest": {
"url": "http://localhost:8001/sse"
}
}
}Important:
Use absolute paths, not relative paths (stdio)
On Windows, use double backslashes:
C:\\Users\\...\\mcp\\servers\\coding\\server.pyFor SSE, ensure servers are running before starting Claude Desktop
Restart Claude Desktop after configuration changes
VS Code with Claude Extension
If using VS Code or Cursor with Claude Code, add to your settings:
Open Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
Search for "Preferences: Open Settings (JSON)"
Add MCP server configuration:
stdio Transport
{
"mcp.servers": {
"coding": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/coding/server.py"]
},
"pentest": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/pentest/server.py"]
}
}
}SSE Transport
{
"mcp.servers": {
"coding": {
"url": "http://localhost:8000/sse"
},
"pentest": {
"url": "http://localhost:8001/sse"
}
}
}Cline (VS Code Extension)
For Cline in VS Code:
Open Cline settings
Navigate to MCP Servers section
Add each server:
stdio: Command:
python, Args:/absolute/path/to/mcp/servers/[server-name]/server.pySSE: URL:
http://localhost:8000/sse(or appropriate port)
Continue.dev
For Continue.dev, edit ~/.continue/config.json:
stdio Transport
{
"mcpServers": {
"coding": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/coding/server.py"]
},
"pentest": {
"command": "python",
"args": ["/absolute/path/to/mcp/servers/pentest/server.py"]
}
}
}SSE Transport
{
"mcpServers": {
"coding": {
"url": "http://localhost:8000/sse"
},
"pentest": {
"url": "http://localhost:8001/sse"
}
}
}Other Platforms
Most MCP-compatible platforms support both transports:
stdio Pattern
{
"server-name": {
"command": "python",
"args": ["path/to/server.py"],
"env": {}
}
}SSE Pattern
{
"server-name": {
"url": "http://localhost:PORT/sse"
}
}Running Servers as Services
When using SSE transport, you may want to run servers as persistent background services.
Using screen/tmux (Quick Method)
# Start in screen
screen -S mcp-coding
python servers/coding/server.py --transport sse --port 8000
# Detach: Ctrl+A, D
# Start in tmux
tmux new -s mcp-coding
python servers/coding/server.py --transport sse --port 8000
# Detach: Ctrl+B, DUsing nohup (Simple Background)
cd servers/coding
nohup python server.py --transport sse --port 8000 > coding.log 2>&1 &
cd ../pentest
nohup python server.py --transport sse --port 8001 > pentest.log 2>&1 &Using systemd (Linux)
Create service files in /etc/systemd/system/:
mcp-coding.service:
[Unit]
Description=MCP Coding Server
After=network.target
[Service]
Type=simple
User=yourusername
WorkingDirectory=/absolute/path/to/mcp/servers/coding
ExecStart=/usr/bin/python server.py --transport sse --host 127.0.0.1 --port 8000
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.targetEnable and start:
sudo systemctl daemon-reload
sudo systemctl enable mcp-coding
sudo systemctl start mcp-coding
sudo systemctl status mcp-codingUsing Docker (Advanced)
Create a Dockerfile in each server directory:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY server.py .
CMD ["python", "server.py", "--transport", "sse", "--host", "0.0.0.0", "--port", "8000"]Build and run:
docker build -t mcp-coding ./servers/coding
docker run -d -p 8000:8000 --name mcp-coding mcp-codingServer Documentation
Each server has detailed documentation in its respective directory:
code_review: Automated code review with multiple review types
run_tests: Execute tests with pytest, unittest, or nose
format_code: Format code with black, autopep8, or isort
port_scan: TCP port scanning and service detection
enum_subdomains: Subdomain enumeration via DNS
check_cve: CVE database queries (mock implementation)
Development
Adding New Servers
Create a new directory under
servers/:
mkdir servers/new-server
cd servers/new-serverCreate the server structure:
touch server.py requirements.txt README.mdImplement your server using FastMCP:
from fastmcp import FastMCP
mcp = FastMCP("server-name")
@mcp.tool()
def example_tool(param: str) -> str:
"""Tool description"""
return f"Result: {param}"
if __name__ == "__main__":
mcp.run()Document your tools in the README.md
Update this main README with the new server
Adding Tools to Existing Servers
Navigate to the server directory
Edit
server.pyAdd a new function decorated with
@mcp.tool()Include proper type hints and docstrings
Update the server's README.md
Test with MCP Inspector
Shared Utilities
The shared/ directory is available for common code used across servers:
# In your server.py
import sys
sys.path.append('../..')
from shared import your_utilityTroubleshooting
Server Not Appearing
Check that the path in your config is absolute and correct
Verify Python is in your PATH:
python --versionTest the server standalone:
python servers/coding/server.pyCheck for syntax errors in the configuration JSON
Import Errors
Ensure you activated the virtual environment
Install dependencies:
pip install -r requirements.txtCheck Python version:
python --version(3.8+ required)
Permission Errors
On Unix systems, make server.py executable:
chmod +x server.pyEnsure you have read permissions on the server directory
Tool Execution Errors
Check tool-specific dependencies (pytest, black, etc.)
Review error messages in Claude's output
Test tools standalone using MCP Inspector
Check file paths are accessible
Resources
Security Notes
Coding Server
Code review tools read files on your system
Test execution runs code with your user permissions
Code formatters modify files in-place
Pentest Server
Port scanning may trigger IDS/IPS alerts
Only use on authorized systems
Subdomain enumeration generates DNS traffic
Always obtain proper authorization before testing
Contributing
To contribute to this monorepo:
Test your changes with MCP Inspector
Update relevant README files
Follow existing code style and patterns
Add proper error handling and docstrings
Document security considerations
License
[Add your license here]
Support
For issues or questions:
Check server-specific README files
Review troubleshooting section above
Test with MCP Inspector for debugging
Check FastMCP documentation
Version History
0.1.0 (Initial Release)
Coding server with code_review, run_tests, format_code tools
Pentest server with port_scan, enum_subdomains, check_cve tools
Basic monorepo structure
Documentation for all servers
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.