mcpdatabases
MCP Server to manage PostGress and SQLite. In fact, you could use any Database Engine
Documentation
๐๏ธ DataBase Project (PostgreSQL & SQLite Management)
> โก There is an alternative version of this project with Server-Sent Events (SSE) support:
This project is designed to manage and migrate data between PostgreSQL and SQLite databases, making it easier to perform CRUD operations and administration for applications that require flexibility between database engines.
๐ Main Structure
- main.py: ๐ฅ๏ธ MCP server with tools to query, insert, update, delete, and modify tables in the PostgreSQL database.
- connection.py: ๐ Manages the connection to the PostgreSQL database.
- migrate_postgres_to_sqlite.py: ๐ Script to migrate all tables and their data from PostgreSQL to SQLite.
- ecommerce.db: ๐๏ธ SQLite database generated from the migration (optional).
โ๏ธ Features
- CRUD operations: โ Create, ๐ Read, โ๏ธ Update, and โ Delete records in PostgreSQL database tables.
- Table management: ๐๏ธ Easily create, ๐ ๏ธ alter, and ๐๏ธ drop tables.
- Data migration: ๐ Automatically transfer structure and data between PostgreSQL and SQLite.
- Advanced queries: ๐งฎ Run custom SQL queries for analysis or maintenance.
๐ Usage Examples
1. MCP Server (`main.py`)
- Run the MCP server to expose database management tools:
python3 main.py- Available tools:
- ๐ `query_db(query)`: Executes SELECT queries and returns results.
- โ `insert_db(query)`: Executes INSERT statements.
- โ๏ธ `update_db(query)`: Executes UPDATE statements.
- โ `delete_db(query)`: Executes DELETE statements.
- ๐๏ธ `create_table(query)`: Executes CREATE TABLE statements.
- ๐ ๏ธ `alter_table(query)`: Executes ALTER TABLE statements.
- ๐๏ธ `drop_table(query)`: Executes DROP TABLE statements.
2. Data migration between databases
- Run the migration script to copy all tables and data from PostgreSQL to SQLite:
python3 migrate_postgres_to_sqlite.py- You can adapt the script to migrate data in both directions or between different schemas.
3. CRUD operation examples
- Create a record: ๐
INSERT INTO users (email, password) VALUES ('user@domain.com', 'secret');- Read records: ๐
SELECT * FROM products WHERE is_active = TRUE;- Update records: ๐
UPDATE categories SET name = 'New Technologies' WHERE id = 1;- Delete records: ๐ฎ
DELETE FROM carts WHERE created_at < '2024-01-01';๐ MCP Configuration (`mcp_config.json` or `claude_desktop_config.json`)
To ensure MCP tools work properly, define each service in your configuration file (e.g., `~/.codeium/windsurf/mcp_config.json` or `~/.config/Claude/claude_desktop_config.json`). Example:
{
"SqliteManagement": {
"command": "/home/slendy/MCPProjects/DataBase/.venv/bin/python",
"args": [
"/home/slendy/MCPProjects/DataBase/main.py",
"--engine", "sqlite",
"--url", "sqlite:////home/slendy/MCPProjects/DataBase/ecommerce.db"
]
},
"PostgressManagement": {
"command": "/home/slendy/MCPProjects/DataBase/.venv/bin/python",
"args": [
"/home/slendy/MCPProjects/DataBase/main.py",
"--engine", "postgresql",
"--url", "postgresql://user:password@localhost:5432/ecommerce"
]
}
}- Change the paths, credentials, and ports according to your environment.
- By default, PostgreSQL uses port 5432. If you already have a database on that port, you can specify another (e.g., 5433).
- Do not include real passwords in the configuration file; replace `user` and `password` with the appropriate values.
- You can add more services for other engines or databases.
- The block name (e.g., `SqliteManagement`) will be the MCP tool identifier.
๐ Dependencies
- Python 3.8+
- psycopg2-binary
- sqlite3
- PostgreSQL (server and configured database)
๐ Notes
- Make sure to properly configure the MCP services in your `mcp_config.json` (or `claude_desktop_config.json`) file following the example above.
- Also configure the connection credentials in `connection.py` according to your environment and database.
- After changes to the database structure, restart the MCP server to avoid connection issues.
- You can adapt the scripts to migrate or manage other catalogs as needed.
Frequently asked questions
What is mcpdatabases?
mcpdatabases is MCP Server to manage PostGress and SQLite. In fact, you could use any Database Engine
How do I install mcpdatabases?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcpdatabases open source?
Yes โ it is hosted on GitHub at https://github.com/alvnavraii/mcpDataBases.
Related MCP tools
Damn Vulnerable MCP Server Python-based implementation. Trusted by 1200+ developers. Trusted by 1200+ developers. Trusted by 1200+ developers.
A Model Context Protocol (MCP) server that enables secure interaction with MySQL databases Python-based implementation. Trusted by 900+ developers.
Query MCP enables end-to-end management of Supabase via chat interface: read & write query executions, management API support, automatic migration versioning...
Model Context Protocol with Neo4j Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers. Trusted by 700+ developers.
An MCP server that provides control over Android devices via adb Python-based implementation. Trusted by 500+ developers.
A Model Context Protocol (MCP) server for PostgreSQL databases with enhanced capabilities for AI agents. Python-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP