Content
[](https://mseep.ai/app/executeautomation-mcp-database-server)
# MCP Database Server
This MCP (Model Context Protocol) server provides database access capabilities to Claude, supporting SQLite, SQL Server, PostgreSQL, and MySQL databases.
## Installation
1. Clone the repository:
```
git clone https://github.com/executeautomation/mcp-database-server.git
cd mcp-database-server
```
2. Install dependencies:
```
npm install
```
3. Build the project:
```
npm run build
```
## Usage Options
There are two ways to use this MCP server with Claude:
1. **Direct usage**: Install the package globally and use it directly
2. **Local development**: Run from your local development environment
### Direct Usage with NPM Package
The easiest way to use this MCP server is by installing it globally:
```bash
npm install -g @executeautomation/database-server
```
This allows you to use the server directly without building it locally.
### Local Development Setup
If you want to modify the code or run from your local environment:
1. Clone and build the repository as shown in the Installation section
2. Run the server using the commands in the Usage section below
## Usage
### SQLite Database
To use with an SQLite database:
```
node dist/src/index.js /path/to/your/database.db
```
### SQL Server Database
To use with a SQL Server database:
```
node dist/src/index.js --sqlserver --server <server-name> --database <database-name> [--user <username> --password <password>]
```
Required parameters:
- `--server`: SQL Server host name or IP address
- `--database`: Name of the database
Optional parameters:
- `--user`: Username for SQL Server authentication (if not provided, Windows Authentication will be used)
- `--password`: Password for SQL Server authentication
- `--port`: Port number (default: 1433)
### PostgreSQL Database
To use with a PostgreSQL database:
```
node dist/src/index.js --postgresql --host <host-name> --database <database-name> [--user <username> --password <password>]
```
Required parameters:
- `--host`: PostgreSQL host name or IP address
- `--database`: Name of the database
Optional parameters:
- `--user`: Username for PostgreSQL authentication
- `--password`: Password for PostgreSQL authentication
- `--port`: Port number (default: 5432)
- `--ssl`: Enable SSL connection (true/false)
- `--connection-timeout`: Connection timeout in milliseconds (default: 30000)
### MySQL Database
#### Standard Authentication
To use with a MySQL database:
```
node dist/src/index.js --mysql --host <host-name> --database <database-name> --port <port> [--user <username> --password <password>]
```
Required parameters:
- `--host`: MySQL host name or IP address
- `--database`: Name of the database
- `--port`: Port number (default: 3306)
Optional parameters:
- `--user`: Username for MySQL authentication
- `--password`: Password for MySQL authentication
- `--ssl`: Enable SSL connection (true/false or object)
- `--connection-timeout`: Connection timeout in milliseconds (default: 30000)
#### AWS IAM Authentication
For Amazon RDS MySQL instances with IAM database authentication:
**Prerequisites:**
- AWS credentials must be configured (the RDS Signer uses the default credential provider chain)
- Configure using one of these methods:
- `aws configure` (uses default profile)
- `AWS_PROFILE=myprofile` environment variable
- `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` environment variables
- IAM roles (if running on EC2)
```
node dist/src/index.js --mysql --aws-iam-auth --host <rds-endpoint> --database <database-name> --user <aws-username> --aws-region <region>
```
Required parameters:
- `--host`: RDS endpoint hostname
- `--database`: Name of the database
- `--aws-iam-auth`: Enable AWS IAM authentication
- `--user`: AWS IAM username (also the database user)
- `--aws-region`: AWS region where RDS instance is located
Note: SSL is automatically enabled for AWS IAM authentication
## Configuring Claude Desktop
### Direct Usage Configuration
If you installed the package globally, configure Claude Desktop with:
```json
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"/path/to/your/database.db"
]
},
"sqlserver": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--sqlserver",
"--server", "your-server-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"postgresql": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--postgresql",
"--host", "your-host-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"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"
]
},
"mysql-aws": {
"command": "npx",
"args": [
"-y",
"@executeautomation/database-server",
"--mysql",
"--aws-iam-auth",
"--host", "your-rds-endpoint.region.rds.amazonaws.com",
"--database", "your-database-name",
"--user", "your-aws-username",
"--aws-region", "us-east-1"
]
}
}
}
```
### Local Development Configuration
For local development, configure Claude Desktop to use your locally built version:
```json
{
"mcpServers": {
"sqlite": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"/path/to/your/database.db"
]
},
"sqlserver": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--sqlserver",
"--server", "your-server-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"postgresql": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--postgresql",
"--host", "your-host-name",
"--database", "your-database-name",
"--user", "your-username",
"--password", "your-password"
]
},
"mysql": {
"command": "node",
"args": [
"/absolute/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"
]
},
"mysql-aws": {
"command": "node",
"args": [
"/absolute/path/to/mcp-database-server/dist/src/index.js",
"--mysql",
"--aws-iam-auth",
"--host", "your-rds-endpoint.region.rds.amazonaws.com",
"--database", "your-database-name",
"--user", "your-aws-username",
"--aws-region", "us-east-1"
]
}
}
}
```
The Claude Desktop configuration file is typically located at:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
## Available Database Tools
The MCP Database Server provides the following tools that Claude can use:
| Tool | Description | Required Parameters |
|------|-------------|---------------------|
| `read_query` | Execute SELECT queries to read data | `query`: SQL SELECT statement |
| `write_query` | Execute INSERT, UPDATE, or DELETE queries | `query`: SQL modification statement |
| `create_table` | Create new tables in the database | `query`: CREATE TABLE statement |
| `alter_table` | Modify existing table schema | `query`: ALTER TABLE statement |
| `drop_table` | Remove a table from the database | `table_name`: Name of table<br>`confirm`: Safety flag (must be true) |
| `list_tables` | Get a list of all tables | None |
| `describe_table` | View schema information for a table | `table_name`: Name of table |
| `export_query` | Export query results as CSV/JSON | `query`: SQL SELECT statement<br>`format`: "csv" or "json" |
| `append_insight` | Add a business insight to memo | `insight`: Text of insight |
| `list_insights` | List all business insights | None |
For practical examples of how to use these tools with Claude, see [Usage Examples](docs/usage-examples.md).
## Additional Documentation
- [SQL Server Setup Guide](docs/sql-server-setup.md): Details on connecting to SQL Server databases
- [PostgreSQL Setup Guide](docs/postgresql-setup.md): Details on connecting to PostgreSQL databases
- [Usage Examples](docs/usage-examples.md): Example queries and commands to use with Claude
## Development
To run the server in development mode:
```
npm run dev
```
To watch for changes during development:
```
npm run watch
```
## Requirements
- Node.js 18+
- For SQL Server connectivity: SQL Server 2012 or later
- For PostgreSQL connectivity: PostgreSQL 9.5 or later
## License
MIT
You Might Also Like
MarkItDown MCP
markitdown-mcp is a lightweight MCP server for converting various URIs to Markdown.
Github
GitHub MCP Server connects AI tools to GitHub for code management and automation.

apisix
Apache APISIX is an API Gateway for managing APIs and microservices.
kmcp
kmcp is an MCP Server designed for efficient management and deployment.
mcp-graphql
MCP server enabling LLMs to interact with GraphQL APIs dynamically.
deep-research-mcp
An AI research assistant for deep topic exploration and report generation.