read_queryLABSCO SUMMARY
drop_table needs a confirmation flag, which is the one place a database tool should be awkward.
Dropping a table takes both the name and a confirm flag that must be true, so it cannot happen as a side effect of a vague instruction. The other thing worth knowing before you plan around it: stored procedures and triggers are out of scope, and file operations and system commands are deliberately absent.
What it is
A database server for MCP clients covering four engines, with schema tools and a small notes feature for recording what you learn along the way.
What you get
- read_query and write_query — SELECT, and INSERT, UPDATE or DELETE
- create_table, alter_table and drop_table — the last requiring a confirm flag set to true
- list_tables and describe_table for schema exploration
- export_query — query results out as CSV or JSON
- append_insight and list_insights — business observations recorded to a memo as you analyse
- SQLite, SQL Server, PostgreSQL and MySQL from the same binary, chosen by flag
- AWS IAM database authentication for Amazon RDS MySQL, with SSL enabled automatically
Requirements
Node.js 18+. Install globally as @executeautomation/database-server, or run from source. SQLite takes a file path; the others take --server or --host plus --database, with --user and --password optional — SQL Server falls back to Windows Authentication without them. For RDS IAM auth, pass --aws-iam-auth with --user and --aws-region, and have AWS credentials available through the default provider chain. SQL Server 2012 or later, PostgreSQL 9.5 or later.
Setup effort
One command — npm install -g @executeautomation/database-server
USE CASES
Answering a question about data you have not modelled
List the tables, describe the interesting one, then write the SELECT.
Getting results to someone who does not have database access
Export the query as CSV or JSON instead of screenshotting a result grid.
Connecting to RDS without a stored password
Use AWS IAM database authentication with your region and IAM username; SSL is on automatically.
Keeping track of what an analysis session found
Append insights as you go and read the memo back at the end.
10 tools
Listed in project docs. Your client may show a different list.
write_querycreate_tablealter_tabledrop_tablelist_tablesdescribe_tableexport_queryappend_insightlist_insightsBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- npm on PATH
- Node.js 18+
- For SQL Server connectivity: SQL Server 2012 or later
- For PostgreSQL connectivity: PostgreSQL 9.5 or later
INSTALLATION
Connect your client
Server setup
npm install -g @executeautomation/database-serverMCP Clients
Claude Desktop — SQLite
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"<YOUR_PATH_TO_DATABASE>"
]
}
}
}Claude Desktop — SQL Server
{
"mcpServers": {
"sqlserver": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--sqlserver",
"--server",
"<YOUR_SERVER_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — PostgreSQL
{
"mcpServers": {
"postgresql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--postgresql",
"--host",
"<YOUR_HOST_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — MySQL
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--host",
"<YOUR_HOST_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--port",
"3306",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — MySQL AWS IAM
{
"mcpServers": {
"mysql-aws": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--aws-iam-auth",
"--host",
"<YOUR_RDS_ENDPOINT>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_AWS_USERNAME>",
"--aws-region",
"<YOUR_AWS_REGION>"
]
}
}
}<YOUR_RDS_ENDPOINT> is your instance's endpoint as the RDS console shows it (it ends in .rds.amazonaws.com), and <YOUR_AWS_REGION> the region it runs in, such as us-east-1.
Claude Desktop — local SQLite
Clone and build
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
npm install
npm run buildAdd it to Claude Desktop
<YOUR_PATH_TO_MCP_DATABASE_SERVER> is the folder you cloned into.
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_DATABASE_SERVER>/dist/src/index.js",
"<YOUR_PATH_TO_DATABASE>"
]
}
}
}Claude Desktop — local SQL Server
Clone and build
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
npm install
npm run buildAdd it to Claude Desktop
<YOUR_PATH_TO_MCP_DATABASE_SERVER> is the folder you cloned into.
{
"mcpServers": {
"sqlserver": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_DATABASE_SERVER>/dist/src/index.js",
"--sqlserver",
"--server",
"<YOUR_SERVER_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — local PostgreSQL
Clone and build
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
npm install
npm run buildAdd it to Claude Desktop
<YOUR_PATH_TO_MCP_DATABASE_SERVER> is the folder you cloned into.
{
"mcpServers": {
"postgresql": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_DATABASE_SERVER>/dist/src/index.js",
"--postgresql",
"--host",
"<YOUR_HOST_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — local MySQL
Clone and build
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
npm install
npm run buildAdd it to Claude Desktop
<YOUR_PATH_TO_MCP_DATABASE_SERVER> is the folder you cloned into.
{
"mcpServers": {
"mysql": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_DATABASE_SERVER>/dist/src/index.js",
"--mysql",
"--host",
"<YOUR_HOST_NAME>",
"--database",
"<YOUR_DATABASE_NAME>",
"--port",
"3306",
"--user",
"<YOUR_USERNAME>",
"--password",
"<YOUR_PASSWORD>"
]
}
}
}Claude Desktop — local MySQL IAM
Clone and build
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
npm install
npm run buildAdd it to Claude Desktop
<YOUR_PATH_TO_MCP_DATABASE_SERVER> is the folder you cloned into.
{
"mcpServers": {
"mysql-aws": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_DATABASE_SERVER>/dist/src/index.js",
"--mysql",
"--aws-iam-auth",
"--host",
"<YOUR_RDS_ENDPOINT>",
"--database",
"<YOUR_DATABASE_NAME>",
"--user",
"<YOUR_AWS_USERNAME>",
"--aws-region",
"<YOUR_AWS_REGION>"
]
}
}
}<YOUR_RDS_ENDPOINT> is your instance's endpoint as the RDS console shows it (it ends in .rds.amazonaws.com), and <YOUR_AWS_REGION> the region it runs in, such as us-east-1.