きっかけは、ふとした思いつきでした。
今回演習で作成したMCPにはSQLiteデータベースに対して SELECT クエリを実行できるツールがあります。本来の用途はデータの検索や集計──テーブルからレコードを引っ張って、JOINして、GROUP BYで集約する。我々が日常的に行う「データベースの仕事」です。
でも、ちょっと待ってください。こんなSQLを考えてみてほしいのです。
SELECT 100 + 300 AS result
テーブルを参照しない。WHERE句もない。ただ「100 + 300」を計算して返すだけ。
実はこれ、立派なSQLです。そしてMCPのSQL実行ツールは、これをちゃんと受け取って、400を返してくれます。
「へえ、電卓代わりになるんだ」──そう思いますよね?
SQLを知っている人からすれば自明ですが、これがAIと結びつくと恐ろしいほどの計算の武器になります。
それが今回のこの記事です。
最初、Claudeに「もっと難しい問題をSQLで解いてみて」と投げかけたところ、返ってきた答えに私は本気で驚くことになりました。
この記事では、その「驚き」を皆さんにも体験していただきたいと思います。
そして何より強調したいのは、私はSQLを一行も書いていない ということです。私がやったのは「こういうことを知りたい」「こんな分析をしてみて」と言葉で伝えただけ。SQLを考え、組み立て、実行したのは、すべてClaudeです。
これがMCPの真髄ではないでしょうか。人間は「問い」を投げるだけでいい。
最初に私が投げたのは、「数学の面倒な問題を考えて、SQLで解いてみて」という漠然としたリクエストでした。
するとClaudeは、自分でフィボナッチ数列を題材に選び、こう切り出してきました。
「再帰CTEを使いたいところですが、セキュリティ制限でブロックされました。ビネの公式で攻めてみます」