Registry / database / mysql-mcp-server

mysql-mcp-server

JSON →
library0.1.3jsnpmunverified

An MCP (Model Context Protocol) server providing read-only access to MySQL databases for AI assistants like Claude. Version 0.1.3, actively maintained. Enables LLMs to list databases, tables, describe schemas, and execute read-only SQL queries with security features including query validation, timeout, and row limits. Differentiates from direct database access by enforcing read-only operations and preventing modifications.

npm install mysql-mcp-server
INSTALL
IMPORT
SIG · MYSQL-MCP-SERVER
M
mysql-mcp-server
databasejavascriptv0.1.3
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default export
✓ import mysqlMcpServer from 'mysql-mcp-server'
✗ const mysqlMcpServer = require('mysql-mcp-server')
ESM-only package. CommonJS require() will fail unless using dynamic import.
Tool names
✓ import { listDatabases, listTables, describeTable, executeQuery } from 'mysql-mcp-server/tools'
✗ import { list_databases } from 'mysql-mcp-server'
Tools are exported from 'mysql-mcp-server/tools' subpath. Tool names are camelCase in exports, snake_case in JSON.
Server class
✓ import { McpServer } from 'mysql-mcp-server'
✗ import McpServer from 'mysql-mcp-server'
The main server class is a named export, not default.

Initializes and starts a MySQL MCP server with environment variable configuration for database connection.

import { McpServer } from 'mysql-mcp-server'; const server = new McpServer({ host: process.env.MYSQL_HOST ?? 'localhost', port: parseInt(process.env.MYSQL_PORT ?? '3306'), user: process.env.MYSQL_USER ?? '', password: process.env.MYSQL_PASSWORD ?? '', database: process.env.MYSQL_DATABASE ?? '' }); await server.start();
Debug
Known issues
breakingEnvironment variables renamed between versions
fix
Use MYSQL_HOST instead of DB_HOST, MYSQL_PORT instead of DB_PORT.
affects: <0.1.0
gotchaexecute_query tool is read-only only; any INSERT/UPDATE/DELETE will be rejected
fix
Ensure queries are SELECT, SHOW, DESCRIBE, or EXPLAIN. Use a separate write-capable server for modifications.
affects: >=0.0.0
gotchaQuery timeout and row limit may truncate results without warning
fix
Adjust timeout and row limit via server options or env vars if needed. Check results for truncation.
affects: >=0.0.0
deprecatedThe 'database' parameter in list_tables and describe_table is optional; omitting it uses the default database or errors if none set
fix
Always specify a database name to avoid ambiguity, or set MYSQL_DATABASE in env.
affects: >=0.1.0
Errors
Common errors & fixes
Error: Cannot find module 'mysql-mcp-server'
Package not installed or missing from node_modules
fix
Run 'npm install mysql-mcp-server' in your project directory.
Connection refused: connect ECONNREFUSED 127.0.0.1:3306
MySQL server not running or incorrect host/port
fix
Verify MySQL is started and MYSQL_HOST/MYSQL_PORT env vars are correct.
Access denied for user 'user'@'host' (using password: YES)
Invalid MySQL credentials or user lacks permissions
fix
Check MYSQL_USER and MYSQL_PASSWORD, and ensure user has SELECT privileges on target databases.
Query validation failed: Only read-only queries are allowed
Attempted a non-SELECT/SHOW/DESCRIBE/EXPLAIN query
fix
Modify the query to be read-only, or use a different server that allows writes.
Upgrade
Version history
0.1.3latest on npm
Audit
Dependencies
@modelcontextprotocol/sdkrequiredCore MCP SDK for implementing the server and tool interfaces
mysql2requiredMySQL database driver for executing queries and connecting to MySQL
Agent activity
5 hits · last 30 days
node
5
Resources
mysql-mcp-server — npm install mysql-mcp-server · libregistry