【Claude + MCP】個人サイトのルーティーン(コピペ)作業を完全自動化した話

こんにちは!
九保すこひです(フリーランスのITコンサルタント、エンジニア)

さてさて、私はかれこれ20年近く個人サイトをつくってきましたんですが、どうしても「うーん、だるいなー😥」と思うことがあります。

それは・・・・・・

定期的な単純作業😫

です。

たとえば、個人サイト「街角コレクション」はデザインマンホールや、珍しい郵便ポストを探索するためのサイトですが、対象スポットが定期的に増えるんです(マンホールカード関連は特に!)

サイト開発とか実際に行くのは好きなんですが、OCRも必要となると、めっちゃ面倒なんですよね。仕事が忙しい時とか。

なので、これまでは週1で、

  1. (プロンプト+画像を含む)PDFを自分にメール送信
  2. ダウンロードしたPDFを生成AIに食わせて実行
  3. 回答をコピペしてデータ追加

って工夫してました。
これだけでも時短になりました。でも、

やっぱし、単純なルーティーンワークは地獄…😫

なのです。

そこで「Claude + MCP」をつかって、このダルーーーい作業を完全自動化してみました。
AI時代なので楽できるところは、とことんやってやります👍

なので、今回は、以下のような人に向けて記事を書きました。

  • 「ルーティーンワーク、マジだッる!!😫」
  • 「うん、後にしよっか(一生やらんけど😂)」
  • 「仕事 + 個人サイト、手が回らん…😥」
  • 「オラ、毎日おなじことする才能無ぇ!!💪」
  • 「ルーティーン作業、もう放ったらかしで四半世紀。😉」

「小説読むときは、
登場人物になりながら読むと、
他人の視点をもてて、いいですよ✨」

自動化したいコピペ作業

まず、コピペしていたのはマンホールカードと呼ばれる公共カードの情報です。実はこのカード、レアなものは、メルカリで高額販売されたりします。

※そういうの、やめてほしいんですけどねー😥

で、カードには、

  • 実際のマンホールがある都道府県、自治体の名前
  • シリアル番号
  • 位置情報

が掲載されています。

引用:下水道広報プラットフォーム

なので、毎回この情報を目でみてコピペしてました

でも、さすがに面倒になってきたので、冒頭で書いたように生成AIに投げてたわけです。

つまり、「スクレイピング」だけでは駄目で、画像からの「OCR(テキストの読み取り)」が必要。

APIをつかえばサーバー内で実装できますが、趣味のサイトにランニングコストをかけたくないから、しかたなくメール送信で対応してました。

今回はこの作業を「追加費用なしで、完全自動化した」っていう話です。

コピペ作業を完全自動化した3ステップ

コピペ地獄→自動化天国へ行くためには、以下2つの条件が必要でした。

  • 定期的にタイマー実行できること
  • 画像からテキストを読み取れること

これはどちらも、Claudeで実行できます。

なぜなら「スケジュール済みタスク(つまり、タイマー実行)」がありますし、テキストの読み取りもバッチリだからですね。

そのため、手順としては、以下の作業を任せることにしました。

  1. (街角コレクションの)MCPから、画像URLを取得(※1)
  2. OCRでテキスト抽出して、データ加工
  3. 別のMCPをつかって、新データを保存

※1:実際には登録されていないデータだけ取得するフィルタリングなどもありますが、省略してます。昔からの名残でこうしてますが、スクレイピングもAIでできると思います。jinaでHTML→マークダウン化すると、より精度があがるでしょう。

MCPをつかってデータ保存(※最重要ポイント)

一番の問題はここです!
まず、Laravelには「Laravel MCP」があるので、比較的かんたんにMCP化できます。

ベータ版ながら、すでにステートレスな最新版にも対応済み!

ただし、誰でも勝手にデータ登録されては困りますよね🙅

なので、Laravel Passportをつかって認証を必須にしないといけません。
たとえば、ルートで言うとこんなカンジです。

/routes/ai.php

Mcp::web('/mcp/*****/******', ********::class)->middleware(['auth:api');

※これはサンプルです。具体的な手順はAIに聞いてください👍

Claudeから独自MCPにアクセスできるようにする

次にClaudeの設定「パネル > カスタマイズ > コネクタ」から新規登録します。

これで、Claudeから認証つきでMCPにアクセスできるようになりました。

※ちなみに、GitHubとの連携を済ませておくと、Claude Code(ウェブ版)からエージェントコーディングして、自動でプルリクエストを作成できるようになります👍

Claudeにスケジュールタスクを登録する

あとは、プロンプトをスケジュールタスクに登録するだけです。
今回はこんなカンジです。

※セキュリティの懸念があるため、ところどころ伏せ字にしてます🙇

# プロンプト名
マンホールカードのスクレイピング用プロンプト

## 目的
サイトに登録されてないマンホールカードのデータを登録する

## 利用するデータソース
街角コレクション:管理者MCP

## 手順
1. データ取得
MCPから最大5件、まだ登録されていないマンホールカードのデータ(JSON)を取得する
2. ループ処理(保存データを貯めていく)
取得したデータ(配列)の1件ずつに対して以下の処理をする
1. ['******']の画像をウェブ上から取得する
2. その画像から3つのデータを読み取る
1. 右上にあるシリアル番号
2. 左下にある位置情報。ただし、出力のフォーマットは「(lat), (lng)」の10進数表記。
3. カード上部中央にある都道府県名&自治体名(もし自治体名が「流域下水道」だった場合は都道府県名をつかう)
3. 該当データの検索
都道府県名やシリアル番号をつかって、該当する***********.idを検索する(もしデータがなければ処理をスキップして、次のデータに進む)
4. 取得したデータをMCPで保存する
フォーマットは次の通り
```
****************************
```
3. ループ処理の結果を出力
例:
```
1. (タイトル)(シリアル番号): 成功(************のIDをここに書く)
2. (タイトル)(シリアル番号): 失敗(失敗した理由をここに書く)
(つづく...)
```

ここで注目してほしいのが、ループ処理の部分です。

プログラムに慣れ親しんだ人なら、for()やforeach()とかで簡単に書けますが、いざ自然言語で書くとなると「うーん、どうすれば・・・」ってなってAIに教えてもらいました(笑)

つまり、タイトルを「ループ処理」にして詳細ブロックにその手順を書けばいいわけです。

というか、意図が伝わればいいんだから、プロンプトだけどforループとかbreakとか、そのままコードを書いてもいいんでしょうね、この場合。今気づきました。

実際にやってみた結果

では、実際にやってみた結果です。

時間になったら、しっかりメールが届いてました👍
↓↓↓

もちろん、取得データも正確です。
今後は自動でデータ追加ができそうです。

MCPをつかえば、簡単にいろんな面倒くさいルーティーン作業を自動化できそうですね😊

ちなみに:エラー処理すべきです!

今回の記事を読んだだけだと「なーんだ、全部AIにやらせりゃいいじゃーん!」と思ったかもしれませんが、それは「夜道を目をつぶりながら歩く」ぐらい危険です😨

というのも、今回で言うと、以下のような

  • (サイト側で)途中なにかしらの失敗があったらメール通知
  • データ登録にはバリデーション(入力チェック)
  • DB登録時のトランザクション処理

やはり、このあたりはプログラマとしてのスキルが重要です。

さっき読んだCodeZineにも

ソフトウェアの脆弱性発見数が急増し、2026年9月時点でNational Vulnerability Database(NVD)は60,475件を記録している。

引用:Cloudflare、OpenAIと連携したAIセキュリティサービスを発表

と書かれています。AI時代のひとつの重要ポイントがセキュリティであるのは間違いなさそうですね…🤔

おわりに

ということで、今回は「Claude + MCP」を使って面倒なルーティーン作業を完全自動化してみました。

こうやって1つ1つ自動化していくと、もっと重要な作業に時間を使えるようになるので、ぜひやるべきですね👍

ただ、これがすべての仕事現場で適用できるかというと、話は別だと思います。

おまけの中でも書いた、セキュリティ問題ですね。

今回は個人サイトだったので何が起こっても私の責任だけで済みますし、何より流出して困るのは私のメールアドレスぐらいだから、気軽に実装できました。

そして、どこまで行ってもAIの実戦投入は「ハルシネーション」の問題がついて回ります。

また、話題になったavexの松浦勝人 会長のnoteには「AIは、人間の空白を全部埋めにくる。」という(正確には、AIが書いて会長が確認した)文章があります。

つまり「AIを使うと、むしろ忙しくなる」んです。

これは雑感で私も同じ。たとえば、

  • ご飯食べてる間は、AIにアイキャッチ画像だけつくらせる(つまり返ってきても確認作業がある)
  • YouTubeでReHacQとかPIVOTみてるとき「あ、これAIにやらせよ!」てなる
  • ベッドに入った瞬間、アイデアを思いついてまた電気をつけて指示する

これ、「あるある」です。

この辺のワークバランスも課題の1つですね。
みなさんも気をつけてください(沼に引き込まれますよ…)

ではでは〜😊✨

「ふと、YouTubeで流れてきたziggyに
ハマリ中。Stay Gold!」

このエントリーをはてなブックマークに追加       follow us in feedly  
お問い合わせ、お待ちしております。
開発のご依頼はこちら: お問い合わせ
どうぞよろしくお願いいたします! by 九保すこひ