Model Context Protocol (MCP) 実践ガイド:ローカルDBとAIを接続する自作サーバー構築

当ページのリンクには広告が含まれています。
🚀
AI・機械学習スキルを身につけるなら

お疲れ様です!IT業界で働くアライグマです!

「GPTやClaudeに、自分のPC内にある売上データを見せたいけど、アップロードするのはセキュリティ的に怖い……」
「API経由でデータを送るコードを書くのが毎回面倒くさい……」

そんな悩みを解決する新しい標準プロトコル、「MCP (Model Context Protocol)」をご存知でしょうか?
これを使えば、LLM(AI)があなたのPCの中身を「安全」かつ「構造化」された状態で直接見に行けるようになります。

この記事では、Pythonを使って独自のMCPサーバーを構築し、ローカルのSQLiteデータベースをClaude Desktopから操作可能にする方法を完全ハンズオン形式で解説します。
APIに依存した古い開発フローから脱却し、AIとツールがシームレスにつながる未来の開発体験を手に入れましょう。

目次

MCP (Model Context Protocol) とは?

💡 プロトコルを制する者はAIを制す
最新技術へのキャッチアップが、あなたのエンジニアとしての市場価値を高めます

MCPは、AIモデル(Claudeなど)と、外部データやツール(ファイルシステム、DB、GitHubなど)を標準化された手順で接続するためのオープンプロトコルです。
これまでは、AIに外部データを見せるために都度「RAG(検索拡張生成)」の仕組みを作ったり、API連携コードを書く必要がありました。しかしMCPを使えば、一度「サーバー」を作っておくだけで、対応するあらゆるAIクライアントからその機能を利用できるようになります。

特にオンプレミス環境にある秘匿データを扱う場合、外部クラウドにデータを上げずに済むMCPは非常に相性が良いのです。

IT女子 アラ美
つまり、USBメモリを挿すみたいに、AIにツールを追加できるってことですか?

ITアライグマ
その通りです! 標準規格なので、今後のAIモデルの進化にも柔軟に対応できるのが最大の強みですね。

PythonによるMCPサーバー実装【完全コード】

では、実際に「ローカルのSQLiteデータベースから商品情報を検索するMCPサーバー」を作ってみましょう。
今回の実装では、Windows (WSL2) やMacなどのローカル環境を想定しています。
以下のグラフは、従来のAPI個別実装とMCPによる共通化の工数比較イメージです。

MCP導入による開発工数の変化(API個別実装 vs MCP共通化)

一度サーバーを作ってしまえば、クライアントが増えても工数がかさまないのがMCPのメリットです。

環境構築

まず、必要なライブラリをインストールします。UVなどのモダンなパッケージマネージャを使うのがおすすめです。

# プロジェクト作成と依存関係のインストール
mkdir my-mcp-server
cd my-mcp-server
uv init
uv add "mcp[cli]" sqlite3

サーバーコードの実装

次に、server.pyを作成し、以下のコードを記述します。
このコードは、AIに対して「私は search_products というツールを持っています」と自己紹介し、AIからのリクエストに応じてSQLを実行する役割を果たします。

from mcp.server.fastmcp import FastMCP
import sqlite3

# サーバーの初期化
mcp = FastMCP("SQLite Explorer")

DB_PATH = "./products.db"

@mcp.tool()
def search_products(keyword: str) -> str:
    """商品データベースから、指定されたキーワードを含む商品を検索します。"""

    conn = sqlite3.connect(DB_PATH)
    cursor = conn.cursor()

    # 簡易的なSQL実行(本番ではSQLインジェクション対策を徹底してください)
    query = "SELECT name, price, stock FROM products WHERE name LIKE ?"
    cursor.execute(query, (f"%{keyword}%",))
    results = cursor.fetchall()

    conn.close()

    if not results:
        return "該当する商品は見つかりませんでした。"

    # AIが読みやすい形式で返す
    response = []
    for r in results:
        response.append(f"商品名: {r[0]}, 価格: {r[1]}円, 在庫: {r[2]}")

    return "\n".join(response)

if __name__ == "__main__":
    mcp.run()

IT女子 アラ美
デコレータ @mcp.tool() をつけるだけでツール化できるんですね! シンプル!

ITアライグマ
そうなんです。関数のdocstring(説明文)がそのままAIへのプロンプトの一部になるので、わかりやすく書くのがコツですよ。

MCPサーバー運用の注意点とセキュリティ

非常に便利なMCPですが、ローカルデータを扱う以上、セキュリティには細心の注意が必要です。
特にTrail of Bitsのセキュリティ監査でも指摘されるような、予期せぬデータ漏洩リスクを防ぐ設計が求められます。

読み取り専用(ReadOnly)の原則徹底

最初はデータの参照(SELECT)のみを許可し、更新・削除機能は実装しないようにしましょう。
特に DROP TABLEDELETE などの危険なクエリが実行されないよう、接続ユーザーの権限をDB側で絞るのがベストプラクティスです。

ネットワーク分離と接続制限

MCPサーバーをインターネットに公開せず、必ずローカルネットワーク内(localhost)でのみ動作させる設定にします。
もし社内LANで共有する場合は、Firewall設定を行い、許可されたIPアドレス以外からの接続を遮断してください。
また、認証トークンを実装し、Claude Desktop側での設定時にトークン必須にするのも有効です。

実行ログの監視による監査

AIがどのようなクエリを実行したかをログに残し、予期しないデータアクセスがないか定期的に確認してください。
ログはローカルファイルに出力するだけでなく、Dockerコンテナの標準出力として管理し、監視ツールでアラート設定をしておくと安心です。

IT女子 アラ美
AIが勝手にデータを消したりしたら怖いですもんね。

ITアライグマ
その通りです。だからこそ「ツール定義」の段階で、できることを明確に制限しておくのが重要なんです。

ケーススタディ:在庫管理業務の劇的効率化

ここでは、SIerからWeb系へ転職せずとも、今の現場で技術導入を進めた成功事例を紹介します。

実際に、このMCPサーバー導入によって業務フローが改善した事例を紹介します。
あるECサイト運営チーム(3名)では、これまで在庫確認のためにエンジニアにSQL発行を依頼していました。

  • Before: 営業担当が「この商品の在庫ある?」とSlackで質問し、エンジニアが作業を中断してSQLを実行するフローでした。このやり取りが1日平均15件発生し、エンジニアの作業時間が毎日約1時間削られていました。
  • Action: 上記のMCPサーバーを社内LAN内のRaspberry Piに構築し、営業チーム全員のClaude Desktop(チームプラン)に接続設定を行いました。エンジニアは「商品DB参照ツール」として機能を公開し、検索クエリのみを許可する設定を施しました。
  • After: 導入翌日からエンジニアへの問い合わせ件数は0件になり、月間で20時間以上の工数削減を達成しました。営業担当も「顧客との電話中にその場で在庫回答できるようになった」と喜び、成約率が15%向上するという副次効果も生まれました。

IT女子 アラ美
非エンジニアとAIを接続するだけで、ここまで効果が出るんですね。

ITアライグマ
データへのアクセス権限を「チャット経由」に限定することで、安全性と利便性を両立できるのがポイントです。

サービス比較:AI学習プラットフォーム

最後に、PythonやAI活用スキルをより深く学ぶためのプラットフォームを紹介します。上流工程へのキャリアシフトを目指す上でも、技術の基礎体力は必須です。

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 DMM 生成AI CAMP Aidemy Premium
目的・ゴール ビジネス活用・効率化非エンジニア向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎プロンプト作成中心 中級者〜コード記述あり
補助金・給付金 最大70%還元リスキリング補助金対象 最大70%還元教育訓練給付金対象
おすすめ度 S今の仕事に活かすなら AAIエンジニアになるなら
公式サイト 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・AIを活用したいならDMM 生成AI CAMPがおすすめです!プロンプト中心で初心者でも取り組みやすいですよ。

まとめ

MCPは、まだ登場したばかりの技術ですが、そのポテンシャルは計り知れません。
Pythonを使えば、わずか数十行のコードで「自分だけのAIアシスタント」を強化できます。

  • セキュリティ: データはローカル(または自社サーバー)に残したまま活用できる
  • 拡張性: 一度サーバーを作れば、様々なAIクライアントから使い回せる
  • 手軽さ: Pythonのデコレータ一つでツール化が可能

ぜひ、まずは手元の小さな便利ツールをMCP化して、モダンな開発体験を味わってみてください。

IT女子 アラ美
さっそく、自分のタスク管理メモを検索できるMCPサーバーを作ってみます!

ITアライグマ
いいですね! 自分専用のAIツールを作る楽しさは格別ですよ。ぜひ挑戦してみてください!

厳しめIT女子 アラ美による解説ショート動画はこちら

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次