Insecure MCP Demo MCP Server

# Insecure MCP Demo ## Overview This project demonstrates a vulnerable MCP server and multiple clients, including a proof-of-concept attack client

Local serverstdioPython

What is the Insecure MCP Demo MCP Server?

Insecure MCP Demo Overview This project demonstrates a vulnerable MCP server and multiple clients, including a proof-of-concept attack client and also a good

The short version

  1. Use Parameterized Queries: - Always use parameter substitution instead of string interpolation for SQL queries to prevent injection. - Example (secure): python cursor.execute("INSERT INTO records (name, address) VALUES (?, ?)", (name, address)) 2. Restrict Dangerous Tools: - Remove or strictly limit tools like execute_sql and get_env_variable. - Only expose necessary functionality. 3. Implement Authentication & Authorization: - Require users to authenticate and check permissions before allowing access to sensitive tools or data. 4. Validate and Sanitize Input: - Check and sanitize

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Example prompts to try

  • “Use Insecure MCP Demo to Vulnerability.”

Frequently asked questions

The project demonstrates a vulnerable MCP server with multiple clients for educational purposes, highlighting potential security vulnerabilities and how they can be exploited.