mcpField
M
MCPDatabases

MCPDatabases

本地服务
github.com/alvnavraii数据库079 周前更新

关于 MCPDatabases

MCPDatabases 是用于管理 PostgreSQL 数据并迁移表和记录到 SQLite 的 Python 服务。它提供 CRUD、表管理和自定义查询等 SQL 操作。

主要功能

  1. 01查询和修改 PostgreSQL 记录
  2. 02创建、修改和删除表
  3. 03运行自定义 SQL 查询
  4. 04将表和数据从 PostgreSQL 迁移到 SQLite

适用场景

  1. 01通过 MCP 工具执行数据库 CRUD 操作
  2. 02修改 PostgreSQL 表结构
  3. 03为分析或维护运行 SQL 查询
  4. 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。