- Mysql Mcp Server For Java
Mysql Mcp Server For Java
A stdio MCP server that connects MCP-compatible Agents to MySQL for database discovery, table inspection, safe SELECT queries, controlled INSERT/UPDATE operations, EXPLAIN plans, and table status metadata. Part of MCP Java SDK, a Java toolkit for building custom MCP Servers.
Overview
MySQL MCP Server 使用手册
中文 | English
MySQL MCP Server 通过 stdio 将数据库发现、安全查询和受控数据修改暴露为 MCP 工具。
构建
mvn package -pl mcp-server-collection/mcp-server-mysql -am -DskipTests
可执行 jar 生成位置:
mcp-server-collection/mcp-server-mysql/target/mcp-server-mysql-0.1.1.jar
配置
环境变量:
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
MYSQL_HOST | 否 | localhost | MySQL 地址 |
MYSQL_PORT | 否 | 3306 | MySQL 端口 |
MYSQL_DATABASE | 否 | test | 默认数据库 |
MYSQL_USERNAME | 否 | root | MySQL 用户名 |
MYSQL_PASSWORD | 否 | 空 | MySQL 密码 |
Agent 配置
{
"mcpServers": {
"mysql": {
"type": "stdio",
"command": "java",
"args": [
"-jar",
"/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-mysql/target/mcp-server-mysql-0.1.1.jar"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_DATABASE": "mcp_demo",
"MYSQL_USERNAME": "root",
"MYSQL_PASSWORD": "your_password"
}
}
}
}
示例数据库
CREATE DATABASE IF NOT EXISTS mcp_demo;
USE mcp_demo;
CREATE TABLE IF NOT EXISTS users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(64) NOT NULL,
age INT NOT NULL
);
工具
| 工具 | 说明 |
|---|---|
query(sql) | 执行只读 SELECT 查询,并以 JSON 返回数据行 |
execute(sql) | 执行安全的 INSERT 或 UPDATE 语句 |
list_databases() | 列出可见数据库 |
list_tables(database?) | 列出当前或指定数据库中的表 |
describe_table(table, database?) | 查看表字段和类型 |
explain_query(sql) | 返回 SELECT 查询的 MySQL EXPLAIN 执行计划 |
get_table_status(database?) | 返回表状态元数据 |
示例 Prompt
List tables in the current MySQL database.
Describe the users table, then insert 3 test users.
Query the first 10 rows from users and summarize them.
安全行为
- 读查询必须是单条
SELECT语句;允许末尾分号,但拒绝多语句 SQL。 - 写操作仅允许单条
INSERT或UPDATE语句。 - 拒绝
DELETE、DROP、ALTER、CREATE、TRUNCATE、权限变更、LOAD、存储过程调用、OUTFILE、DUMPFILE和LOAD_FILE等危险操作。 - 数据库名和表名必须是
users或mcp_demo这类简单标识符;服务会校验并加反引号后再使用。 - 在类生产环境中建议使用最小权限数据库账号。
Server Config
{
"mcpServers": {
"mysql": {
"type": "stdio",
"command": "java",
"args": [
"-jar",
"/absolute/path/to/mcp-java/mcp-server-collection/mcp-server-mysql/target/mcp-server-mysql-0.1.1.jar"
],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_DATABASE": "mcp_demo",
"MYSQL_USERNAME": "root",
"MYSQL_PASSWORD": "your_password"
}
}
}
}Project Info
Created At
2 hours agoUpdated At
2 hours agoAuthor Name
6000fishStar
-Language
-License
-Tags
Recommend Servers
View AllHellogrowthcrm
13 minutes ago
Playwright Mcp
@microsoft
Playwright MCP server
TypeScript
10 months ago
Tavily Mcp
@tavily-ai
JavaScript
a year ago
Hartrace
@rafsanbasunia
3 hours ago
Mcp Server Chatsum
@chatmcp
summarize chat message
typescript
a year ago
Test
@modelcontextprotocol
test
6 months ago