f4ww4z/mcp-mysql-server

Databases

A Model Context Protocol server that provides MySQL database operations.

Python codebaseLocal Service

Installation

Claude Desktop

Installation Command

npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude

README

@f4ww4z/mcp-mysql-server

Permalink: @f4ww4z/mcp-mysql-server

smithery badge

A Model Context Protocol server that provides MySQL database operations. This server enables AI models to interact with MySQL databases through a standardized interface.

mcp-mysql-server MCP server

Installation

Permalink: Installation

Installing via Smithery

Permalink: Installing via Smithery

To install MySQL Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude

Manual Installation

Permalink: Manual Installation

npx @f4ww4z/mcp-mysql-server

Configuration

Permalink: Configuration

The server requires the following environment variables to be set in your MCP settings configuration file:

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@f4ww4z/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

Available Tools

Permalink: Available Tools

1. connect_db

Permalink: 1. connect_db

Establish connection to MySQL database using provided credentials.

use_mcp_tool({
  server_name: "mysql",
  tool_name: "connect_db",
  arguments: {
    host: "localhost",
    user: "your_user",
    password: "your_password",
    database: "your_database"
  }
});

2. query

Permalink: 2. query

Execute SELECT queries with optional prepared statement parameters.

use_mcp_tool({
  server_name: "mysql",
  tool_name: "query",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?",
    params: [1]
  }
});

3. execute

Permalink: 3. execute

Execute INSERT, UPDATE, or DELETE queries with optional prepared statement parameters.

use_mcp_tool({
  server_name: "mysql",
  tool_name: "execute",
  arguments: {
    sql: "INSERT INTO users (name, email) VALUES (?, ?)",
    params: ["John Doe", "john@example.com"]
  }
});

4. list_tables

Permalink: 4. list_tables

List all tables in the connected database.

use_mcp_tool({
  server_name: "mysql",
  tool_name: "list_tables",
  arguments: {}
});

5. describe_table

Permalink: 5. describe_table

Get the structure of a specific table.

use_mcp_tool({
  server_name: "mysql",
  tool_name: "describe_table",
  arguments: {
    table: "users"
  }
});

Features

Permalink: Features

  • Secure connection handling with automatic cleanup
  • Prepared statement support for query parameters
  • Comprehensive error handling and validation
  • TypeScript support
  • Automatic connection management

Security

Permalink: Security

  • Uses prepared statements to prevent SQL injection
  • Supports secure password handling through environment variables
  • Validates queries before execution
  • Automatically closes connections when done

Error Handling

Permalink: Error Handling

The server provides detailed error messages for common issues:

  • Connection failures
  • Invalid queries
  • Missing parameters
  • Database errors

Contributing

Permalink: Contributing

Contributions are welcome! Please feel free to submit a Pull Request to https://github.com/f4ww4z/mcp-mysql-server

License

Permalink: License

MIT

About

A Model Context Protocol server for MySQL database operations

Resources

Readme

License

MIT license

Activity

Stars

20\nstars

Watchers

1\nwatching

Forks

4\nforks

Report repository

Releases

No releases published

Packages\ 0

No packages published

Contributors\ 3

Languages