【要約】全国215,000社の建設業データをAIから使えるMCPを1日で作った [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者が大規模なオープンデータをAI(LLM)から直接活用しようとする際、データの規模と形式が大きな障壁となる。具体的には、以下の課題に直面した。
- ・6GBに及ぶ巨大なXMLデータのメモリ消費問題。
- ・法人番号DBに業種情報が含まれず、建設業を特定する困難さ。
- ・AIが検索しやすい構造化されたインターフェースの欠如。
// Approach
大量のデータを効率的に処理し、AIが利用可能なMCPサーバーとして公開するために、以下の手順を採用した。
- ・Pythonの
iterparseを用いたストリーミング処理による、メモリ消費を抑えたXML解析。 - ・法人名に含まれる特定キーワード(「建設」「工務店」等)による業種推定と抽出。
- ・Supabase(PostgreSQL)へのデータ格納による検索性の確保。
- ・TypeScriptとMCP SDKを用いた、Cloudflare Workersへのサーバー実装とデプロイ。
// Result
わずか1日で、全国21.5万社の建設業データをAIから検索できる環境を構築した。これにより、以下の成果を得た。
- ・
search_companiesによる企業情報の検索機能を実現。 - ・
get_prefecture_statsによる都道府県別の統計情報の提供。 - ・全てのインフラを無料枠内で運用し、月額コスト0円を達成。
- ・「DBをMCP化する」という汎用的な開発パターンの確立。
Senior Engineer Insight
> 本件の真価は、単なるデータ公開ではなく「DBをMCP化する」という開発プロセスの抽象化にある。ストリーミング処理によるETLから、エッジでのサーバーレス運用に至る構成は、極めて低コストかつ高スケーラブルなプロトタイピング手法だ。ただし、キーワードマッチングによる業種判定は精度に課題を残す。実運用では、国土交通省の許可名簿等との突合によるデータクレンジングが不可欠となるだろう。