java-spring-mysql-mcp-server
The project is a Spring Boot application integrated with MySQL and HikariCP, enabling efficient database connectivity. It supports running on Model Context Protocol (MCP) clients with customizable configurations.
Spring Boot MySQL Project
This is a Spring Boot project configured with MySQL and HikariCP connection pool.
Prerequisites
- Java 17 or later
- Maven 3.6 or later
- MySQL 8.0 or later
Setup
- Create a MySQL database named
demo
:
CREATE DATABASE demo;
- Update the database credentials in
src/main/resources/application.properties
if they differ from the defaults:
- username: root
- password: root
Running the Application
- Build the project:
mvn clean install
- Run the application:
mvn spring-boot:run
OR
java -jar path/to/jar/java-mysql-mcp-0.0.1-SNAPSHOT.jar
The application will start on http://localhost:8080
Configuration
The application uses the following main configurations:
- Server port: 8080
- HikariCP connection pool size: 10
- Hibernate ddl-auto: update (automatically updates database schema)
You can modify these settings in src/main/resources/application.properties
spring.main.web-application-type: none
is mandatory for connect to server via stdio, otherwise this error will be thrown:
2025-03-25T09:21:30.352-03:00 WARN 25352 --- [main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'
Usage on MCP clients
db.hostenv value is the host and port of the database server, for example: host:port
, eg: localhost:3306
{
"mcpServers": {
"blue-hero-database": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dserver.port=8080",
"-Ddb.hostenv=host:port",
"-Ddb.schema=/demo",
"-Ddb.user=username",
"-Ddb.passwordenv=password",
"-jar",
"/path/to/java-mysql-mcp/target/java-mysql-mcp-0.0.1-SNAPSHOT.jar"
]
}
}
}
Debug
You can use the mcp inspector for testing and debugging with the following command:
npx @modelcontextprotocol/inspector java -Dspring.ai.mcp.server.stdio=true -jar /path/to/project/target/java-mysql-mcp-0.0.1-SNAPSHOT.jar
The logs output will be created in ./mcp-mysql-stdio-server.log