What is Vulnerable MCP Server?
The Vulnerable MCP Server is an intentionally insecure application designed for security research, specifically to test SQL Injection (SQLi) and Remote Code Execution (RCE) vulnerabilities.
How to use Vulnerable MCP Server?
To use the Vulnerable MCP Server, clone the repository from GitHub, navigate to the project directory, and run the application using Docker. Ensure to use it only in isolated environments or for research purposes.
Key features of Vulnerable MCP Server?
- LLM-based decision logic for routing commands (SQL or CLI)
- Native execution of SQL and terminal commands
- Auto-initializing SQLite database with sample data
- Simple, pluggable JSON-RPC methods
- Designed to be vulnerable for testing purposes
Use cases of Vulnerable MCP Server?
- Testing SQL Injection vulnerabilities in a controlled environment.
- Conducting research on Remote Code Execution vulnerabilities.
- Educational purposes in Capture The Flag (CTF) competitions.
FAQ from Vulnerable MCP Server?
- Is this server safe to use in production?
No! This server is intentionally insecure and should not be used in production environments.
- Can I use this for learning about security vulnerabilities?
Yes! This server is designed for educational purposes and security research.
Vulnerable MCP Server
This project is an intentionally vulnerable MCP (Model Context Protocol) app, designed for security research.
DO NOT use in production environments.
It executes raw SQL and system commands with no authentication or restrictions.
⚙️ MCP SERVER
A command execution server that combines:
- FastAPI for the HTTP interface
- SQLite as a persistent database
- Ollama LLM to interpret natural language queries
- JSON-RPC as the main API protocol
This system routes natural language input to either SQL queries or shell commands, using a locally running LLM via Ollama.
Built to test SQL Injection (SQLi) and Remote Code Execution (RCE) vulnerabilities
via FastAPI, JSON-RPC, and LLM-based decision logic.
⚙️ WARNING: Security Notice
This app is intentionally insecure:
- ❗ No authentication or access control
- ❗ Accepts and executes raw SQL queries and shell commands
- ❗ No input validation
- ❗ LLM responses are blindly executed
Use only in isolated environments, CTFs, or research labs.
⚙️ Features
- LLM-based decision logic for command routing (SQL or CLI)
- Native execution of SQL and terminal commands
- Auto-initializing SQLite database with sample data
- Simple, pluggable JSON-RPC methods
- Vulnerable by design — suitable for offensive/defensive testing
⚙️ Installation
git clone https://github.com/your-repo/mcp-vulnerable-app.git
cd mcp-vulnerable-app
docker-compose up --build
docker network connect mcplab ollama
docker network connect mcplab mcp_internal
docker network connect mcplab mcp_remote