Skip to main content
Glama

MCP Server MySQL

by nilsir
README.md3.49 kB
# MCP Server MySQL A Model Context Protocol (MCP) server that provides MySQL database operations. This server enables LLMs to interact with MySQL databases through a standardized protocol. ## Features - **Database Management**: Create, drop, list, and switch databases - **Table Operations**: Create, alter, drop, describe, and list tables - **Data Queries**: Execute SELECT queries and retrieve results - **Data Modification**: Execute INSERT, UPDATE, DELETE statements - **Index Management**: Create and drop indexes ## Installation ```bash npm install npm run build ``` ## Configuration Set environment variables for database connection: ```bash export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=root export MYSQL_PASSWORD=your-password export MYSQL_DATABASE=your-database # optional ``` ### Permission Controls Control which write operations are allowed (all default to `true`): ```bash export MYSQL_ALLOW_INSERT=true # Set to "false" to disable INSERT export MYSQL_ALLOW_UPDATE=true # Set to "false" to disable UPDATE export MYSQL_ALLOW_DELETE=false # Set to "false" to disable DELETE ``` Or use the `connect` tool at runtime to specify connection parameters. ## Usage with Claude Desktop ### Using npx (Recommended) Add to your `claude_desktop_config.json`: ```json { "mcpServers": { "mysql": { "command": "npx", "args": ["-y", "@nilsir/mcp-server-mysql"], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "your-password", "MYSQL_DATABASE": "your-database", "MYSQL_ALLOW_INSERT": "true", "MYSQL_ALLOW_UPDATE": "true", "MYSQL_ALLOW_DELETE": "false" } } } } ``` ### Using Local Installation ```json { "mcpServers": { "mysql": { "command": "node", "args": ["/absolute/path/to/mcp-server-mysql/dist/index.js"], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "your-password", "MYSQL_DATABASE": "your-database", "MYSQL_ALLOW_INSERT": "true", "MYSQL_ALLOW_UPDATE": "true", "MYSQL_ALLOW_DELETE": "false" } } } } ``` ## Available Tools | Tool | Description | |------|-------------| | `connect` | Connect to a MySQL database | | `query` | Execute SELECT queries | | `execute` | Execute INSERT/UPDATE/DELETE queries | | `list_databases` | List all databases | | `list_tables` | List tables in a database | | `describe_table` | Get table structure | | `create_table` | Create a new table | | `alter_table` | Modify table structure | | `drop_table` | Drop a table | | `create_database` | Create a new database | | `drop_database` | Drop a database | | `use_database` | Switch to a database | | `create_index` | Create an index | | `drop_index` | Drop an index | ## Examples ### Query data ``` Use the query tool with sql: "SELECT * FROM users WHERE active = ?" and params: [true] ``` ### Create a table ``` Use the create_table tool with: - table: "users" - columns: [ {"name": "id", "type": "INT", "primaryKey": true, "autoIncrement": true}, {"name": "email", "type": "VARCHAR(255)", "nullable": false}, {"name": "created_at", "type": "TIMESTAMP", "default": "CURRENT_TIMESTAMP"} ] ``` ### Insert data ``` Use the execute tool with sql: "INSERT INTO users (email) VALUES (?)" and params: ["user@example.com"] ``` ## License MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nilsir/mcp-server-mysql'

If you have feedback or need assistance with the MCP directory API, please join our Discord server