loading…
Search for a command to run...
loading…
Enables AI agents to query and explore databases including SQLite, PostgreSQL, MySQL, and SQL Server through a secure, read-only workflow. It provides tools for
Enables AI agents to query and explore databases including SQLite, PostgreSQL, MySQL, and SQL Server through a secure, read-only workflow. It provides tools for listing connections, inspecting table schemas, and executing SELECT statements directly within VS Code.
An MCP (Model Context Protocol) server that lets a VS Code AI agent query databases through a structured, step-by-step workflow.
sqlite3 (always available)psycopg2 (optional — install psycopg2-binary)mysql-connector-python (optional)pyodbc (optional — requires ODBC drivers)Note: Only SQLite support is required to get started. The server loads database adapters lazily — missing optional drivers won't prevent the server from starting.
pip install -r requirements.txt
Edit config.json to add your database connections:
{
"connections": [
{
"name": "My Postgres",
"type": "postgres",
"host": "localhost",
"port": 5432,
"database": "mydb",
"username": "user",
"password": "pass"
},
{
"name": "Local SQLite",
"type": "sqlite",
"database": "./data/local.db"
}
]
}
python seed_sample_db.py
This creates data/sample.db with sample customers, products, orders, and order items.
Add the server to your VS Code MCP settings (.vscode/mcp.json in the workspace root):
{
"servers": {
"database-query": {
"command": "python",
"args": ["server.py"],
"cwd": "${workspaceFolder}"
}
}
}
Important:
${workspaceFolder}must resolve to the directory containingserver.py. If this project is inside a subfolder of your workspace, adjust to"${workspaceFolder}/MCP Server".
The server needs to be started by VS Code before the tools become available:
Ctrl+Shift+P)database-queryAlternatively, run "MCP: Restart Server" and pick database-query.
Once the server is running, the prompt and tools (get_connections, list_tables, get_table_schema, query_table) will be available to the AI agent.
The server exposes four tools, designed to be used in order:
| # | Tool | Purpose |
|---|---|---|
| 1 | get_connections |
List available database connections (no passwords exposed) |
| 2 | list_tables |
List all user tables in a database |
| 3 | get_table_schema |
Get column details for a specific table |
| 4 | query_table |
Execute a read-only SELECT query |
SELECT / WITH / EXPLAIN statements are allowed — all write and DDL operations are rejected.MCP Server/
├── config.json # Database connection configuration
├── prompt.md # Design / prompt spec
├── seed_sample_db.py # Creates sample SQLite database
├── server.py # Main MCP server entry point
├── requirements.txt
├── README.md
├── data/
│ └── sample.db # Sample SQLite database (created by seed script)
├── db/
│ ├── __init__.py
│ ├── connection.py # Connection factory (lazy-loads adapters)
│ ├── postgres.py # PostgreSQL adapter
│ ├── mysql.py # MySQL adapter
│ ├── sqlite_adapter.py # SQLite adapter
│ └── mssql.py # MSSQL adapter
└── tools/
├── __init__.py
├── get_connections.py
├── list_tables.py
├── get_table_schema.py
└── query_table.py
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-database-query-server": {
"command": "npx",
"args": []
}
}
}