ラボ 4分で読了

【爆速15分】MCPサーバーでMCPサーバーを作る!「いい感じにアレしとくアプリ」開発秘話

LT中止の絶望から生まれた奇跡。Claude DesktopとClaude Codeで実現した究極のvibe coding体験記

Terisuke

この記事をシェア:
YouTube LIVEの企画

【爆速15分】MCPサーバーでMCPサーバーを作る!「いい感じにアレしとくアプリ」開発秘話

岩盤浴でほかほかしていた気持ちが一瞬で冷め切った7月最終日の夕方。60週目のLTイベントが急遽中止になった瞬間から、この物語は始まる。 LT中止にショックを受けるツイート

絶望からの大逆転劇

毎週欠かさず続けてきたLT登壇。記念すべき60週目を目前にして、まさかの中止通知。しかし諦めるわけにはいかない。年末年始に大爆死したYouTube LIVEのリベンジマッチとして、とんでもない企画を緊急開催することにした。

「2時間でAIツールを駆使してお題をもとにvibeコーディングしてデプロイまで行い、最後の30分でスライドを作ってLTをするYouTube LIVE」

YouTube LIVEの企画

Xでお題を募集すると、続々と集まる無茶振りの数々。順調に2つのお題を消化し、21時のスライド作成開始まで残り15分。最後にもう一度ルーレットを回した瞬間、運命のお題が表示された。

「『いい感じにアレしといて』とお願いすると、デスクトップ上の何かをランダムに選んでいい感じにアレしといてくれる(不可逆)アプリ」

一瞬脳がフリーズしてしまった。残り15分でこれをどう実装するのか。

MCPサーバーでMCPサーバーを作るという禁断の技

絶望的な状況の中、ふと閃いた。Claude DesktopにはMCPサーバーとして「Claude Code」を登録している。そして今必要なのもMCPサーバー。つまり…

MCPサーバーを使ってMCPサーバーを作ればいい。

この入れ子構造の実装に挑戦することにした。YouTube LIVEは止められない。視聴者が見守る中、一か八かの賭けに出た。

// 実際に生成されたコードの一部
const randomElements = {
  folders: [
    '秘密の花園',
    '迷子の思い出',
    '月曜日の憂鬱',
    '金曜日の解放感',
    '開かずの間',
    'なんとなく大事そう'
  ],
  
  actions: [
    'createRandomFolder',
    'createArtFolder',
    'renameRandomFile',
    'hideSecretFile',
    'createTimeCapule'
  ]
};

15分で完成した奇跡のアプリ

Claude Codeは期待を裏切らなかった。コードを一行も書くことなく、対話だけで以下の機能を持つMCPサーバーが完成した:

実装された7つのランダムアクション

  1. ランダムフォルダ作成: 「月曜日の憂鬱」「金曜日の解放感」などの詩的な名前のフォルダを生成
  2. ランダムファイル作成: 俳句、運勢、買い物メモなどを自動生成
  3. ファイル整理: 画像ファイルを「見つけた宝物」フォルダに避難
  4. ファイルリネーム: スクリーンショットを「たぶん重要.png」などに改名
  5. デスクトップ美術館: ASCIIアートの現代アート作品を展示
  6. 秘密ファイル作成: .secret_treasure.txtという隠しファイルを生成
  7. タイムカプセル: 1年後の自分へのメッセージを作成

生成されるコンテンツの例

// 俳句
デスクトップに
散らばるファイル
夏の空

// 買い物メモ
- 牛乳
- パン
- 整理整頓の本
- やる気(売ってたら)
- 時間(これも売ってたら)

// デスクトップ哲学
「完璧に整理されたデスクトップは、
 使われていないデスクトップである」
- 誰か偉い人(たぶん)

謎のHTML UI実装事件

最も笑えたのは、Claude Codeが勝手にHTML UIを実装してきたことだ。「アプリ」と依頼したからか、見た目は動的に動く立派なWebインターフェースが完成。しかし、このMCPサーバーはClaude Desktop経由でしか使えない。結局UIは全く使われることなく、ただそこに存在している。

なぜ実装したのか、AIに聞いても答えは返ってこない。

実戦投入の結果

完成したMCPサーバーをClaude Desktopに登録して実行。驚くべきことに、一発で完璧に動作した。

第1回実行:デスクトップ美術館の開館

✨ いい感じにアレしておきました!

🎨 「デスクトップ美術館」を開館しました!芸術作品も展示済みです

デスクトップに突如現れた美術館フォルダ。中にはASCIIアートの現代アート作品が鎮座していた。

第2回実行:スクリーンショットの運命

✨ いい感じにアレしておきました!

🏷️ 「スクリーンショット_2024-08-01.png」を「たぶん重要.png」にリネームしました!

大量のスクリーンショットフォルダが一瞬で「たぶん重要.png」に。確かに重要かもしれないし、そうでもないかもしれない。

技術的な学び

一見ふざけているようで、実は重要な発見がいくつもあった。

1. MCP(Model Context Protocol)の可能性

MCPサーバーは想像以上にシンプルに実装できる。今回のような「デスクトップをいじる」程度なら、15分あれば十分だ。

2. AIによるAI開発の実現

Claude CodeでMCPサーバーを作るという入れ子構造は、AIがAIを作る未来を垣間見せてくれた。人間はアイデアを出すだけで、実装は全てAIに任せられる。

3. 締切駆動開発の威力

残り15分という極限状態が、逆に創造性を爆発させた。時間があれば「ちゃんとした」ものを作ろうとして、きっとつまらないものになっていただろう。

実装のポイント

class IikanjiServer {
  async handleIikanjini(args) {
    const desktopPath = args.desktopPath || path.join(os.homedir(), 'Desktop');
    
    // ランダムなアクションを選択
    const action = randomElements.actions[
      Math.floor(Math.random() * randomElements.actions.length)
    ];
    
    // 各アクションを実行
    switch (action) {
      case 'createArtFolder':
        result = await this.createArtFolder(desktopPath);
        break;
      // ... 他のアクション
    }
    
    return {
      content: [{
        type: 'text',
        text: `✨ いい感じにアレしておきました!\n\n${result}`,
      }],
    };
  }
}

シンプルな構造だが、これだけでClaude Desktopから呼び出せる立派なMCPサーバーになる。

vibe codingが生み出す創造性

今回の経験で確信した。技術的な正確性や完成度を追求するより、その場のノリと勢いで作る「vibe coding」には独特の魅力がある。

  • 制約が創造性を生む: 15分という時間制限が斬新なアイデアを生んだ
  • 完璧を求めない: 「いい感じ」という曖昧さが、逆に面白さを生む
  • 楽しさ優先: 実用性より「作っていて楽しい」を重視

まとめ:ぶっ飛んだものを作る楽しさ

「いい感じにアレしとくアプリ」は、技術的には極めてシンプルなMCPサーバーだ。しかし、その発想と実装過程、そして生み出される結果の予測不可能性が、このアプリを特別なものにしている。

LTイベントの中止という絶望から生まれたこのアプリは、締切駆動開発の可能性とAI時代の新しい開発スタイルを示してくれた。MCPサーバーはAIで作れる。そして、ぶっ飛んだものを作るのは、やっぱり楽しい。

次回あなたのデスクトップが散らかっていたら、「いい感じにアレしといて」とお願いしてみてはどうだろうか。きっと予想もしない形で、いい感じにアレしてくれるはずだ。

ただし、結果は不可逆なので、大切なファイルがある場合は要注意。でも、それもまた人生である。


実際のYouTube LIVE配信の様子はこちら。残り15分からの奇跡の開発過程をぜひご覧いただきたい。

ちなみに作ったいい感じにアレしとくMCPサーバーはこちら

ぜひお試しあれ。

この記事を応援

この記事が役に立ったら、投げ銭で応援してください。お好きな金額を選択いただけます。

Stripeで安全に決済

関連記事

記事を読む
ラボ

完全マークダウンガイド:ブログ記事作成のすべて

Cor.incブログで使用できるマークダウン記法とリッチコンテンツ機能の完全ガイド。リンクカード、数式、コードハイライトなど、美しい記事を作成するためのすべての機能を網羅

#Markdown #ブログ +3
記事を読む
ラボ

【Marp×VOICEVOX×VTubeStudio】ずんだもんにLT発表してもらった話

技術の創造的活用!Marp、VOICEVOX、VTubeStudioを組み合わせて、ずんだもんによる自動LT発表システムを構築した実験プロジェクト

#Marp #VOICEVOX +3