$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

Claude Code + Opus 4でmysql-schema-explorer-mcpの機能改善をしてみた

一度ClaudeのMax Planで定額課金状態で、Claude Code + Opus 4を体験してみようと思い、https://github.com/shibayu36/mysql-schema-explorer-mcp で以下の2つをVibe codingしてみた。

  • e2eテスト作成
  • データベース固定モード機能開発

結論としては、この規模での開発の場合、ほぼほぼ自分がエディター上で開発をしなくても壁打ちしているだけで開発が終わった。

e2eテスト作成

github.com

機能開発する前にe2eテストがあれば安心できそうなので、まずはe2eテストをVibe codingした。ざっくりと「MCPサーバーをgo runでテスト内で起動し、それに対してstdioでMCP Protocolに沿ったJSONRPCリクエストを投げればテストできそう」ということを伝えた上で開発してもらった。ほぼコードに手を入れずに完成している。

やり取りのスクショも撮っているので公開する。 https://drive.google.com/file/d/1umUK8HMgDCm2U3U2dtEFZvILH0Zvy_Cf/view?usp=sharing

このやり取りの後、さらにClaude Codeセッションを立ち上げ直してリファクターをしていったが、すべてClaude Codeで完結した。

データベース固定モード機能開発

github.com

特定プロジェクトでデータベースが1つしかないなら、MCPサーバー立ち上げ時に指定して毎回指定しなくても良いほうが楽だな〜と思ったので開発した。

前にやったやり方と似たように、次の手順で行った。

  • 最初はClaude Codeのultrathinkモード(参考)で、UXについて相談
  • さらにClaude Codeのultrathinkモードで実装の設計させる
  • この段階で docs/onetime/20250130-db-specific-server_ja.md にUXと設計を書き出す
  • その後、そのまま実装を進めていく

READMEへの反映も含めて大体2時間ほどで実装が終わったので、自分の中ではかなり素早く開発できた。エディターで多少触った部分もあるが、大体1割くらいで、残り9割はClaude Codeにお任せできた。

そのほかの活用

感想

以前 MySQLのスキーマ情報を返すMCPサーバーをVibe Codingで作った具体的な流れ - $shibayu36->blog; で実装していた時は

  • Gemini 2.5 Proを活用していて、賢いがコードにムダにコメントを入れるので修正が必要だった
  • Claude 3.7 Sonnetはそこまで意図を理解してくれなかった

と、まだまだこの規模でも手を加える必要があるなという印象だったが、Claude Code + Opus 4だとだいぶ改善していた。小さい規模の開発ならかなりお任せができそうだ。

ただし今の所、壁打ちの時には自分がちゃんと技術への理解があった方が素早くAIエージェントを良い方向へ向かわせられた。人間とペアで開発する時に自分と相手のレベルが離れすぎていると建設的な議論ができないのと同様で、自分が深い知識を身につけていなかったらAIエージェントも使いこなせないのは変わらない。