What is the purpose of this project?
The project demonstrates a vulnerable MCP server with multiple clients for educational purposes, highlighting potential security vulnerabilities and how they can be exploited.
@kenhuangus
Basic information
No overview available yet
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcp-vulnerable-server-demo": {
"command": "python",
"args": [
"good-mcp-client.py",
"vuln-mcp.py"
]
}
}
}Tool list not available yet
This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Insecure MCP Demo is an educational project that demonstrates a deliberately vulnerable MCP server along with both a good client and a proof‑of‑concept attack client. It is designed to showcase common security vulnerabilities in MCP servers and to teach secure implementation practices.
Install the Python dependencies with pip install -r requirements.txt. Start the server and good client by running python good-mcp-client.py vuln-mcp.py in one terminal. Run the attack client with python attack-mcp-client.py vuln-mcp.py in another terminal to see automatic exploitation of the vulnerabilities.
insert_record tool is prone to SQL injection.query_records tool exposes all data without authentication.execute_sql tool allows arbitrary SQL commands.get_env_variable tool leaks sensitive environment variables.The project demonstrates a vulnerable MCP server with multiple clients for educational purposes, highlighting potential security vulnerabilities and how they can be exploited.
The server showcases SQL injection, arbitrary code execution (via `execute_sql`), sensitive data exposure (via `get_env_variable`), and lack of access control.
Open a second terminal and run `python attack-mcp-client.py vuln-mcp.py` after installing the dependencies. The client will automatically attempt SQL injection, execute arbitrary SQL queries, and read common environment variables.
No. The README explicitly states, “Do not deploy this code in production environments.” It is intended only for education and demonstration.
The README suggests using parameterized queries, restricting dangerous tools, implementing authentication and authorization, validating input, limiting environment variable access, auditing usage, and applying the principle of least privilege.
不止于 CSS

A free remote MCP server for The Living Bread. Bible passages read word for word from a stored public domain text with an evidence label, keyword search and cross references, real churches, gatherings and prayer groups w

Health by Dr Brad works out a health plan from your own results: which screening is due at your age, and evidence-based suggestions, each with the reason and the published guideline or study behind it. Your record is one
Painless E2E Automation for Mobile and Web
🚀 The fast, Pythonic way to build MCP servers and clients.
Comments