mcpField
M
MS Access MCP Explorer

MS Access MCP Explorer

ローカル
github.com/sub-arjunデータベース1267 週間前に更新

MS Access MCP Explorer について

MS Access MCP Explorer は、Microsoft Access データベースを調査・検索する MCP サーバーです。スキーマ確認や SQL 検証、複数データベース間のクエリを行うユーザー向けです。

主な機能

  1. 01登録済みデータベースの一覧
  2. 02データベーススキーマの確認
  3. 03データベース間の SQL 実行
  4. 04Access SQL 構文の検証
  5. 05クエリ例と制約の確認

活用シーン

  1. 01クエリ作成前のテーブル確認
  2. 02複数の Access データベースの検索
  3. 03実行前の SQL 構文チェック
  4. 04データベース接続の診断

MCP 対応

データベース一覧、スキーマ確認、クエリ実行、SQL 検証、接続診断のツールを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"OMNI-MS-Access-MCP": {
"command": "uvx",
"args": [
"omni-ms-access-mcp"
]
}
}
}
起動コマンドuvx omni-ms-access-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiomni-ms-access-mcp

ツール

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

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

詳細

MS Access MCP Explorer

MCP(Model-Command-Procedure)を使用して、Microsoft Access データベースを探索およびクエリするツールです。

インストール

UV を使用してインストールします。

uv pip install omni-ms-access-mcp

または、pip を使用します。

pip install omni-ms-access-mcp

使用方法

コマンドライン

Access データベースのパスを指定して、MCP サーバーを起動します。

ms-access-mcp --db-path "C:\path\to\your\database.accdb"
Python API
from omni_ms_access_mcp.server import AccessMCP

# Initialize the MCP server
mcp_server = AccessMCP(db_path="C:/path/to/your/database.accdb")

# Run the server
mcp_server.run()

利用可能なツール

  1. list_databases - 利用可能なすべてのデータベースを一覧表示します

    • パラメーターは不要です
    • 説明とともに、登録済みのすべてのデータベースを表示します
  2. get_schema_tool - データベースのスキーマ情報を取得します

    • 必須パラメーター:database - 調査するデータベース名
    • 例:get_schema_tool(database="sales_db")
  3. query_data - 複数のデータベースに対して SQL クエリを実行します

    • 必須パラメーター:sql - [database].[table] 構文を使用した SQL クエリ
    • 例:query_data(sql="SELECT TOP 10 * FROM [sales_db].[Customers]")
  4. test_cross_db_connectivity - データベース接続とクロスデータベース機能をテストします

    • パラメーターは不要です
    • 接続の問題の診断に役立ちます
  5. query_builder_help - Access SQL クエリの作成例を取得します

    • 必須パラメーター:query_type - 必要なクエリのヘルプの種類
    • オプション:simple_select、cross_database_join、union、aggregation、date_filtering、boolean_filtering
    • 例:query_builder_help(query_type="cross_database_join")
  6. validate_query_syntax - 実行前に Access SQL の構文を検証します

    • 必須パラメーター:sql - 検証するクエリ
    • よくある Access SQL の誤りをチェックします
  7. query_limitations - Access の制限事項と回避策を確認します

    • 必須パラメーター:topic - 制限事項のトピック
    • オプション:joins、performance、data_types、functions、best_practices、all
    • 例:query_limitations(topic="joins")

クロスデータベースクエリのサポート

このツールは、特別な構文を使用して複数の Access データベースにまたがるクエリをサポートします。

-- Always use [database_name].[table_name] format
SELECT [c].[CustomerName], [o].[OrderTotal]
FROM [sales_db].[Customers] AS [c], [orders_db].[Orders] AS [o]
WHERE [c].[CustomerID] = [o].[CustomerID]
AND [o].[OrderDate] > #2024-01-01#
Access SQL の重要なルール
  • 日付:引用符ではなく、#YYYY-MM-DD# 形式を使用します
  • ブール値:True/False ではなく、1/0 を使用します
  • 文字列の連結:+ ではなく、& を使用します
  • 結果の制限:LIMIT ではなく、TOP N を使用します
  • 条件分岐:CASE WHEN ではなく、IIF() を使用します

既知の制限事項

クロスデータベースの JOIN

データベース間の直接 JOIN は失敗することがよくあります。以下の回避策を使用してください。

  • WHERE 句によるフィルタリング:FROM [db1].[t1], [db2].[t2] WHERE [t1].[id]=[t2].[id]
  • UNION 操作で結果を結合します
  • データベースごとにクエリを実行し、アプリケーションコードで結果を結合します
パフォーマンス
  • データベースファイルのサイズは 2GB に制限されています
  • レコード数が 100k を超えると、クエリの速度が大幅に低下します
  • 結果を制限するには、必ず TOP N または WHERE 句を使用してください
データ型
  • ブール型フィールドには、1/0 または -1/0 が使われる場合があります
  • テキストフィールドは 255 文字に制限されています(より大きな値には Memo を使用します)
  • 変換関数を使用してください:CInt()、CDbl()、CStr()、CDate()
ベストプラクティス
  1. すべてのテーブルで、必ず [database].[table] 構文を使用します
  2. まず小さなデータセットでテストします
  3. 複雑なクエリを実行する前に、validate_query_syntax を使用します
  4. 制約を把握するために、query_limitations ツールを実行します
  5. 可能な限り、関連するデータは同じデータベースに保存します

トラブルシューティング

エラーが発生した場合:

  1. test_cross_db_connectivity を実行して、すべてのデータベースにアクセスできることを確認します
  2. get_schema_tool を使用して、テーブル名と列名を確認します
  3. 正しい構文の例については、query_builder_help を確認します
  4. 既知の問題と回避策については、query_limitations を確認します

開発

開発環境のセットアップ
uv venv
.venv\Scripts\activate.bat
uv pip install -e .
パッケージのビルド
publish.bat
パッケージインデックスへの公開
uv pip install -U twine
uv python -m twine upload dist/*

要件

  • システムに Microsoft Access Driver がインストールされている必要があります
  • Python 3.7 以降

コメント

MCP は初めてですか?

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

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