mcp-db-server-stateless

Query and manage MySQL, PostgreSQL, SQLite, SQL Server, Oracle, and H2 databases through MCP tools.

7|2|Updated May 16, 2026
One-click install
npx skills add https://github.com/reason-machines/mcp-skills --skill mcp-db-server-stateless-reason-machines
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mcp-db-server-stateless
Source: https://github.com/reason-machines/mcp-skills/tree/main/skills/mcp-db-server-stateless
Command: npx skills add https://github.com/reason-machines/mcp-skills --skill mcp-db-server-stateless-reason-machines

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Connecting AI agents to relational databases usually requires storing credentials server-side or writing custom integration code. This Skill runs a stateless Spring Boot MCP server where the AI client passes connection parameters with every request, so agents can inspect schemas and execute SQL without any credential persistence. ## Core Features & Use Cases - Schema Exploration: List tables, describe columns, and inspect indexes across six database types (MySQL, PostgreSQL, SQLite, SQL Server, Oracle, H2). - SQL Execution: Run read-only queries with row limits via executeQuery, or perform INSERT, UPDATE, DELETE, and DDL operations via executeUpdate. - Zero Credential Storage: Connection pools are cached in memory with a 5-minute TTL and never persisted to disk. - Use Case: Ask your AI assistant to compare user counts between a dev MySQL database and a production PostgreSQL database—the agent calls executeQuery twice with different connection parameters and reports the difference. ## Quick Start Start the server with ./mvnw spring-boot:run, add http://localhost:8088/sse to your Claude Desktop MCP configuration, then ask the AI to list all tables in your local MySQL database.

Frequently Asked Questions about mcp-db-server-stateless

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect Claude Desktop to a MySQL database with MCP?▼

Run the server with ./mvnw spring-boot:run, then add an mcpServers entry in claude_desktop_config.json with type "sse" and url "http://localhost:8088/sse". Claude passes MySQL host, port, database, username, and password with each tool call.

What databases does the MCP database server support?▼

It supports MySQL (port 3306), PostgreSQL (port 5432), H2 (embedded), SQLite (file-based), SQL Server (port 1433), and Oracle (port 1521). The database type is passed as a parameter on every tool invocation.

Does the server store database credentials?▼

No. The server is stateless and never persists credentials—connection parameters are supplied by the AI client on every request. Connection pools are cached only in memory with a 5-minute TTL for performance.

Can I execute INSERT or UPDATE statements through the MCP tools?▼

Yes. The executeUpdate tool handles INSERT, UPDATE, DELETE, and DDL statements, while executeQuery is restricted to read-only SQL such as SELECT, SHOW, DESCRIBE, and EXPLAIN with an optional row limit.

Why do I get ClassNotFoundException for the MySQL JDBC driver?▼

The driver dependency is missing from pom.xml. Add the mysql-connector-j dependency (com.mysql, version 8.0.33) and rebuild the project so the JDBC driver is available on the classpath.

How do I fix connection pool exhausted errors?▼

Increase the HikariCP maximum-pool-size (for example to 20) and connection-timeout in application.yml or via Java system properties. Pools are created per unique connection, so high concurrency across many databases can exhaust defaults.