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?

Most database access work still happens through a UI a human drives. Insecure MCP Demo MCP server moves it into the conversation instead. # 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 client. It is designed for educational purposes to showcase potential.

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

The tools it exposes

The server publishes 1 tool. What each one is for:

  • Vulnerability — ** Prone to SQL injection due to direct string interpolation of user input into SQL queries

Getting it running

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.

How it compares

Among the database access options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Insecure MCP Demo's toolset — Vulnerability — is a fair guide to whether it matches your workflow. It is maintained by kenhuangus; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Insecure MCP Demo's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
Vulnerability** Prone to SQL injection due to direct string interpolation of user input into SQL queries.

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.