mcpField
M
MCPDatabases

MCPDatabases

ローカル
github.com/alvnavraiiデータベース079 週間前に更新

MCPDatabases について

MCPDatabasesは、PostgreSQLのデータ管理とSQLiteへのテーブル・レコード移行を行うPythonサーバーです。CRUD、テーブル管理、カスタムクエリのSQL操作を公開します。

主な機能

  1. 01PostgreSQLレコードの照会と変更
  2. 02テーブルの作成、変更、削除
  3. 03カスタムSQLクエリの実行
  4. 04PostgreSQLからSQLiteへテーブルとデータを移行

活用シーン

  1. 01MCPツールでデータベースのCRUD操作
  2. 02PostgreSQLのテーブル構造を変更
  3. 03分析や保守のためにSQLクエリを実行
  4. 04PostgreSQLのテーブルとデータをSQLiteへコピー

MCP 対応

レコードの照会・変更、テーブル管理、SQL実行のためのデータベースツールを公開します。設定例ではPostgreSQLとSQLiteへの接続を示しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🗄️ データベースプロジェクト(PostgreSQL と SQLite の管理)

⚡ Server-Sent Events(SSE)に対応した、このプロジェクトの代替バージョンもあります: GitHub の mcpDataBasesSSE

このプロジェクトは、PostgreSQL と SQLite のデータベース間でデータを管理および移行するために設計されており、データベースエンジン間の柔軟性を必要とするアプリケーションで、CRUD 操作と管理を簡単に実行できます。

📁 主な構成

  • main.py:🖥️ PostgreSQL データベースのテーブルに対するクエリ、挿入、更新、削除、変更を行うツールを備えた MCP サーバー。
  • 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 サーバーを再起動してください。
  • 必要に応じて、スクリプトを調整して他のカタログを移行または管理できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。