mcpField
S
SQLite MCP Server

SQLite MCP Server

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

SQLite MCP Server について

SQLite MCP Serverは、MCPクライアント経由でSQLiteデータベースにアクセスするPython製MCPサーバーです。読み取り専用SQLに加え、スキーマリソースと分析用プロンプトテンプレートを提供します。

主な機能

  1. 01テーブルスキーマをリソースとして公開
  2. 02読み取り専用SQLクエリの実行
  3. 03SELECT文のみ許可
  4. 04データ分析用プロンプトテンプレート
  5. 05STDIOによる通信

活用シーン

  1. 01SQLiteデータベースのデータ検索
  2. 02一部または全テーブルのスキーマ確認
  3. 03テーブル分析用プロンプトの生成
  4. 04SQLクエリの内容説明

MCP 対応

SQLiteのスキーマをリソース、読み取り専用クエリをツール、分析用テンプレートをプロンプトとして公開します。MCPクライアントとはSTDIOで通信します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

SQLite MCP Server

このリポジトリには、スタートアップの資金調達データを含む SQLite データベースに接続する、Python で記述された MCP(Model Context Protocol)サーバーが含まれています。このサーバーはテーブルスキーマをリソースとして公開し、読み取り専用の SQL クエリツールを提供するとともに、一般的なデータ分析タスク向けのプロンプトテンプレートを用意しています。MCP クライアントや言語モデル(LLM)との連携を想定しており、STDIO プロトコルで通信します。

目次


概要

この MCP サーバーは MCP Python SDK(CLI extras を含む)を使用して、次の機能を持つサーバーを実装します。

  • SQLite データベースに接続します(例:スタートアップの資金調達情報を含むデータベース)。
  • テーブルスキーマを MCP リソースとして公開します。
  • 読み取り専用の SQL クエリを実行するツールを提供します。
  • 言語モデルによるデータ分析の知見生成を支援するプロンプトテンプレートを用意します。
  • **STDIO プロトコルで通信します。**標準入力から JSON-RPC メッセージを読み取り、標準出力に応答を書き込みます。

機能

  • リソース

    • schema://sqlite/{table}:指定したテーブルの SQL スキーマを返します。
    • schema://sqlite/all:すべてのテーブルスキーマをマッピングした JSON を返します。
  • ツール

    • sql_query:読み取り専用の SQL クエリを実行します。許可されるのは SELECT 文のみです。
  • プロンプト

    • analyze_table_prompt:指定したテーブルの分析プロンプトを生成します。
    • describe_query_prompt:SQL クエリを説明するプロンプトを生成します。
  • STDIO プロトコル

    • stdin から読み取り、応答を stdout に書き込むため、簡単に連携できます。
  • ログ記録

    • Python の logging モジュールを使用して、動作の追跡やエラーのデバッグを行います。

セットアップとインストール

サンプル SQLite データベースの作成

次のスクリプトを create_db.py として保存します。

<same as earlier>

次のコマンドで実行します。

python create_db.py
仮想環境の作成
python -m venv venv

環境を有効化します。

  • macOS/Linux:

    source venv/bin/activate
    
  • Windows:

    venv\Scripts\activate
    

依存関係をインストールします。

pip install "mcp[cli]"
MCP サーバーの実行
  1. サーバーコードを sqlite_mcp_server.py として保存します。
  2. サーバーを実行します。
python sqlite_mcp_server.py

任意(uv を使用する場合):

uv run sqlite_mcp_server.py
Claude Desktop へのインストール

次の内容を install_to_claude.py として保存して実行します。

python install_to_claude.py

次の内容で Claude Desktop の設定を更新します。

{
  "mcpServers": {
    "sqlite_mcp_server": {
      "command": "python",
      "args": ["-u", "/absolute/path/to/sqlite_mcp_server.py"]
    }
  }
}

その後、Claude Desktop を再起動します。


使い方

  • リソースにアクセス:schema://sqlite/all、schema://sqlite/startups
  • ツールを呼び出す:
    SELECT * FROM startups WHERE funding_amount > 10000000;
    
  • プロンプトを使用する:SQL を生成したり、クエリを説明したりします。

テスト

テストスクリプトを実行します。

python sqlite_mcp_client_tests.py sqlite_mcp_server.py

このスクリプトでは、次の項目をテストします。

  • リソースの一覧表示
  • スキーマの取得
  • 有効なクエリと無効なクエリ
  • プロンプトテンプレート

ログ記録

ログ設定を変更します。

logging.basicConfig(
    filename='mcp_server.log',
    level=logging.DEBUG,
    format="[%(asctime)s] %(levelname)s - %(message)s",
    datefmt="%Y-%m-%d %H:%M:%S"
)

ログはデフォルトで stderr に出力されます。


ライセンス

このプロジェクトは MIT License のもとでライセンスされています。LICENSE ファイルを参照してください。


補足事項

  • インストールや設定のスクリプト内のパスは、必要に応じて調整してください。
  • サーバーを実行する前に、SQLite データベースが作成されていることを確認してください。
  • MCP Inspector または Claude Desktop と連携します。

コメント

MCP は初めてですか?

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

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