Registry / database / mysql-mcp-readonly

mysql-mcp-readonly

JSON →
library0.1.2jsnpmunverified

A read-only MySQL MCP server for AI agents (Claude, etc.) that provides safe, restricted access to MySQL databases. Version 0.1.2, stable. Supports DDL (schema inspection) but only SELECT queries — INSERT/UPDATE/DELETE are blocked. Released as an npm package, designed for integration with MCP-compatible AI tools. Key differentiator: strict read-only enforcement at the server level, not just SQL parsing.

npm install mysql-mcp-readonly
INSTALL
IMPORT
SIG · MYSQL-MCP-READONLY
M
mysql-mcp-readonly
databasejavascriptv0.1.2
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.

Server
import { Server } from '@modelcontextprotocol/sdk/server/index.js'
import { Server } from 'mysql-mcp-readonly'
The package is not meant to be imported; it's a CLI tool. Server is from MCP SDK.
mysql2
import mysql from 'mysql2/promise'
const mysql = require('mysql2')
Use promise-based API with mysql2 for async/await support.
CallToolRequestSchema
import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'
import { CallToolRequestSchema } from '@modelcontextprotocol/sdk'
Explicit path to types module ensures correct import.

Shows how to instantiate and start the read-only MySQL MCP server using environment variables for configuration.

const mysql_readonly = require('mysql-mcp-readonly'); const server = new mysql_readonly.Server({ host: process.env.MYSQL_HOST || 'localhost', port: parseInt(process.env.MYSQL_PORT || '3306'), user: process.env.MYSQL_USER || 'root', password: process.env.MYSQL_PASSWORD ?? '', database: process.env.MYSQL_DATABASE || 'test' }); server.start(); // Then configure MCP client to connect to the server
Debug
Known issues
gotchaThe server only allows SELECT statements; INSERT/UPDATE/DELETE are rejected.
fix
Use a separate write-enabled server if write access is needed.
affects: >=0.1.0
gotchaDDL queries (e.g., CREATE TABLE, ALTER) are allowed; they are not filtered out.
fix
Consider the implications: though read-only for data, schema changes are permitted. Restrict network access accordingly.
affects: >=0.1.0
gotchaPackage version 0.1.2; API may change without major version bump before 1.0.
fix
Pin exact version in production and monitor updates.
affects: <1.0.0
gotchaNo built-in authentication or authorization beyond MySQL credentials.
fix
Use a dedicated MySQL user with limited privileges for this server.
affects: >=0.1.0
Errors
Common errors & fixes
Error: Cannot find module '@modelcontextprotocol/sdk'
Missing peer dependency @modelcontextprotocol/sdk.
fix
Run: npm install @modelcontextprotocol/sdk
Error: Connection refused - mysql2
MySQL server not running or wrong host/port.
fix
Ensure MySQL is running and MYSQL_HOST/MYSQL_PORT environment variables are correct.
Error: ER_ACCESS_DENIED_ERROR: Access denied for user
Invalid MySQL credentials.
fix
Check MYSQL_USER and MYSQL_PASSWORD environment variables.
Upgrade
Version history
0.1.2latest on npm
Audit
Dependencies
@modelcontextprotocol/sdkrequiredRequired for MCP protocol implementation
mysql2requiredMySQL database driver for Node.js
Agent activity
5 hits · last 30 days
node
4
Resources
mysql-mcp-readonly — npm install mysql-mcp-readonly · libregistry