Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How I use AI and MCP to Scrape Data

2025年09月08日に「Dev.to」が公開したITニュース「How I use AI and MCP to Scrape Data」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIコーディング支援ツールは通常、外部サイトにアクセスできない制約を持つ。PythonでAI用のカスタムツールを作成し、WebスクレイピングAPIと連携させることで、保護されたWebサイトからも情報を取得可能に。これにより、AIがデータ抽出など高度なタスクを実行できるようになる。(119文字)

出典: How I use AI and MCP to Scrape Data | Dev.to公開日:

ITニュース解説

GitHub CopilotのようなAIコーディングアシスタントは、プログラムの作成を支援する非常に強力なツールである。しかし、その能力には制約が存在する。AIは通常、セキュリティ上の理由から「サンドボックス」と呼ばれる隔離された環境で動作しており、インターネット上の特定のWebサイトに自由にアクセスしたり、企業内の独自システムや特定の外部サービスと直接連携したりすることはできない。この制約により、AIは手元のコードを分析して記述することはできても、外部からリアルタイムの情報を取得して利用するような、より高度な作業は苦手としている。

この課題を解決し、AIアシスタントの能力を飛躍的に向上させる方法として、AI自身に外部のプログラムを「ツール」として使わせる仕組みを構築するアプローチがある。これは、AIに対して特定の機能を持つ自作のプログラムを道具として提供し、AIが対話を通じてその道具を使いこなせるようにする考え方である。具体的には、Python言語と「MCP(Machine Conversation Protocol)」という通信規約を用いて、AIが呼び出し可能なツールサーバーを自分で立ち上げることで実現できる。

この仕組みの構築は、まず簡単な例から理解することができる。例えば、二つの数値を足し算するだけの単純な関数をPythonで作成する。そして、その関数の定義の前に「@mcp.tool」という特別な目印(デコレータ)を付けるだけで、この関数はAIが利用できるツールとして登録される。次に、このツールサーバーの存在をAIアシスタントに知らせるための設定ファイルを作成し、開発環境に配置する。この準備が整うと、開発者はチャットでAIに「ツールを使って5と6を足して」と指示するだけで、AIは自作の足し算関数を呼び出し、その実行結果である「11」を返す。これにより、AIと自作プログラムが正しく連携していることを確認できる。

この基本的な仕組みを応用することで、はるかに強力で実践的な機能を作り出すことが可能になる。その代表的な例が、Webサイトから情報を自動収集する「Webスクレイピング」の能力をAIに与えることである。通常、多くのWebサイトはプログラムによる自動アクセスを検知してブロックする仕組みを備えているため、AIアシスタントが直接情報を取得しようとしても失敗に終わる。しかし、この問題を専門的に解決する「Zyte API」のような外部サービスが存在する。このサービスは、高度な技術を用いてアクセスブロックを回避し、Webページの情報を安定して取得することができる。

そこで、先ほど作成したツールサーバーに、指定されたURLの情報をZyte API経由で取得する新しい関数を追加する。この関数も同様にツールとしてAIに登録する。この際、Zyte APIの利用に必要な認証情報(APIキー)は、プログラムコード内に直接書き込むのではなく、「環境変数」という仕組みを用いて安全に管理することが重要である。この新しいツールが完成すると、AIはこれまでアクセスできなかった保護されたWebサイトからでも、HTMLコンテンツ(Webページの構造や内容を記述したデータ)を確実に入手できるようになる。

この能力がもたらす価値は、単にWebページを取得できるという点にとどまらない。開発のワークフローそのものを大きく変える力を持つ。例えば、あるECサイトの商品情報を分析したい場合を考える。まず、開発者はAIに「Zyteツールを使って、この商品ページのHTMLを取得して」と指示する。AIは指示に従って自作のツールを起動し、対象ページの完全なHTMLデータを取得してコンテキスト内に保持する。次に、開発者は続けて「今取得したHTMLの中から、商品名、価格、説明文を抜き出すためのPythonコードを生成して」と依頼する。AIは、実際のHTMLデータを手元で確認しながら、そのページの構造に完全に合致した、正確なCSSセレクタ(HTML内の特定要素を指定するための記述)や、データ解析ライブラリを使った具体的なプログラムコードを生成する。このツールがなければ、AIはWebページにアクセスできないため、推測に基づいた不正確なコードしか提示できなかっただろう。

このように、AIアシスタントにカスタムツールを提供することは、AIの能力を限定的なものから、プロジェクト固有の課題を解決できる専門的なものへと拡張する行為である。外部の高度なAPIとの連携や、社内システムとの接続など、開発者が作り出すツールの数だけAIの能力は拡張されていく。これにより、AIは単なるコード生成アシスタントではなく、開発者の指示に応じて複雑なタスクを自律的に実行する、より強力なパートナーへと進化するのである。

関連コンテンツ

関連IT用語

関連ITニュース

【ITニュース解説】How I use AI and MCP to Scrape Data | いっしー@Webエンジニア