This MCP (Model Context Protocol) server provides database access capabilities to Claude, supporting SQLite, SQL Server, and PostgreSQL databases.
- Clone the repository:
git clone https://github.com/executeautomation/database-server.git
cd database-server
- Install dependencies:
npm install
- Build the project:
npm run build
There are two ways to use this MCP server with Claude:
- Direct usage: Install the package globally and use it directly
- Local development: Run from your local development environment
The easiest way to use this MCP server is by installing it globally:
npm install -g @executeautomation/database-server
This allows you to use the server directly without building it locally.
If you want to modify the code or run from your local environment:
- Clone and build the repository as shown in the Installation section
- Run the server using the commands in the Usage section below
To use with an SQLite database:
node dist/src/index.js /path/to/your/database.db
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)
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)
If you installed the package globally, configure Claude Desktop with:
{
"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"
]
}
}
}
For local development, configure Claude Desktop to use your locally built version:
{
"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"
]
}
}
}
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
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 tableconfirm : 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 statementformat : "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.
- SQL Server Setup Guide: Details on connecting to SQL Server databases
- PostgreSQL Setup Guide: Details on connecting to PostgreSQL databases
- Usage Examples: Example queries and commands to use with Claude
To run the server in development mode:
npm run dev
To watch for changes during development:
npm run watch
- Node.js 18+
- For SQL Server connectivity: SQL Server 2012 or later
- For PostgreSQL connectivity: PostgreSQL 9.5 or later
MIT