关于 MCPDatabases
MCPDatabases 是用于管理 PostgreSQL 数据并迁移表和记录到 SQLite 的 Python 服务。它提供 CRUD、表管理和自定义查询等 SQL 操作。
主要功能
- 01查询和修改 PostgreSQL 记录
- 02创建、修改和删除表
- 03运行自定义 SQL 查询
- 04将表和数据从 PostgreSQL 迁移到 SQLite
适用场景
- 01通过 MCP 工具执行数据库 CRUD 操作
- 02修改 PostgreSQL 表结构
- 03为分析或维护运行 SQL 查询
- 04将 PostgreSQL 表和数据复制到 SQLite
MCP 相关
该 MCP 服务提供查询和修改记录、管理表以及执行 SQL 语句的数据库工具。配置示例展示了 PostgreSQL 和 SQLite 连接方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🗄️ 数据库项目(PostgreSQL 与 SQLite 管理)
⚡ 本项目另有一个支持服务器发送事件(SSE)的版本: GitHub 上的 mcpDataBasesSSE
本项目旨在管理 PostgreSQL 与 SQLite 数据库之间的数据迁移,便于需要在不同数据库引擎间灵活切换的应用执行 CRUD 操作和数据库管理。
📁 主要结构
- main.py:🖥️ MCP 服务,提供用于查询、插入、更新、删除和修改 PostgreSQL 数据库中表的工具。
- connection.py:🔗 管理与 PostgreSQL 数据库的连接。
- migrate_postgres_to_sqlite.py:🔄 将所有表及其数据从 PostgreSQL 迁移到 SQLite 的脚本。
- ecommerce.db:🗃️ 迁移生成的 SQLite 数据库(可选)。
⚙️ 功能
- CRUD 操作:➕ 在 PostgreSQL 数据库表中创建、🔎 读取、✏️ 更新和 ❌ 删除记录。
- 表管理:🏗️ 轻松创建、🛠️ 修改和 🗑️ 删除表。
- 数据迁移:🔄 在 PostgreSQL 与 SQLite 之间自动迁移结构和数据。
- 高级查询:🧮 执行自定义 SQL 查询,用于分析或维护。
🚀 使用示例
1. MCP 服务(main.py)
- 运行 MCP 服务以提供数据库管理工具:
python3 main.py - 可用工具:
- 🔎
query_db(query):执行 SELECT 查询并返回结果。 - ➕
insert_db(query):执行 INSERT 语句。 - ✏️
update_db(query):执行 UPDATE 语句。 - ❌
delete_db(query):执行 DELETE 语句。 - 🏗️
create_table(query):执行 CREATE TABLE 语句。 - 🛠️
alter_table(query):执行 ALTER TABLE 语句。 - 🗑️
drop_table(query):执行 DROP TABLE 语句。
- 🔎
2. 在数据库之间迁移数据
- 运行迁移脚本,将所有表及其数据从 PostgreSQL 复制到 SQLite:
python3 migrate_postgres_to_sqlite.py - 你可以调整脚本,在两个方向之间或不同架构之间迁移数据。
3. CRUD 操作示例
- 创建记录: 📝
INSERT INTO users (email, password) VALUES ('[email protected]', 'secret'); - 读取记录: 🔍
SELECT * FROM products WHERE is_active = TRUE; - 更新记录: 🔄
UPDATE categories SET name = 'New Technologies' WHERE id = 1; - 删除记录: 🚮
DELETE FROM carts WHERE created_at < '2024-01-01';
📊 MCP 配置(mcp_config.json 或 claude_desktop_config.json)
为确保 MCP 工具正常运行,请在配置文件中定义每项服务(例如,~/.codeium/windsurf/mcp_config.json 或 ~/.config/Claude/claude_desktop_config.json)。示例:
{
"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"
]
}
}
- 根据你的环境修改路径、凭据和端口。
- PostgreSQL 默认使用端口 5432。如果该端口上已有数据库,可以指定其他端口(例如,5433)。
- 请勿在配置文件中填写真实密码;将
user和password替换为相应的值。 - 你可以为其他引擎或数据库添加更多服务。
- 区块名称(例如,
SqliteManagement)将作为 MCP 工具标识符。
📈 依赖项
- Python 3.8+
- psycopg2-binary
- sqlite3
- PostgreSQL(服务端和已配置的数据库)
📝 注意事项
- 请按照上述示例,在
mcp_config.json(或claude_desktop_config.json)文件中正确配置 MCP 服务。 - 还要根据你的环境和数据库,在
connection.py中配置连接凭据。 - 修改数据库结构后,请重启 MCP 服务,以避免连接问题。
- 你可以根据需要调整脚本,以迁移或管理其他目录。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。