いろいろな体系だった知識があると物事の理解が簡単になるときがよくあります。私は1年前くらいからneovimを使用しており、使用し始めるときにLSP(Language Server Protocol)を本格的に学びました。
そのときには、面白いなあ...くらいで終わらせていたんですが、ここ最近になってMCP(Model Context Protocol)というプロトコルが出たことでこの学びが役に立ちました。そこら辺を解説して、「体系だった知識をつけるのはいいことだよ」というか、学ぶ中での伏線回収的な楽しさを紹介できたらなと思います。
「あ、これ〇〇ゼミで見たやつだ!」
MCPが有名になったあたりで思わずそう思ってしまいました。
「JSON-RPCベースで、クライアントサーバ方式で...」
といった公式ドキュメントを流し読みしているときの話です。
1年前にneovimに入門したとき、設定をこれでもかと頑張ったLSPの仕組みがそのままAIの中にきたなぁと感じました。あのときは「面白いけどVS Codeが勝手にやってくれるものだしみんな興味ないんだろうな」と思っていた技術がまさかこんな感じで再利用されるとは思ってもいませんでした。
LSPを学んでいた頃
VS Codeから移行した理由は一つしかなくて、「黒い画面でコーディングするのカッコよくね?」でした。
ただ、neovimを本格的に使用するとなると避けて通れないのがLSPです。VS Codeでは裏で勝手に動いていたコード補完や定義ジャンプが、neovimだと自分で設定しなければなりません。
「nvim-lspconfig」「mason.nvim」といったプラグインと格闘しながら、1ヶ月くらいの時間をかけてLSPを学んでいました。ここら辺の技術は個人開発者しか作っていないことが多く、ソースコードが安全かどうかもしっかりと確認をしなければいけませんでした。
LSPとは?はこの記事の中では扱いません。また別の記事で書くと思います。
MCP登場
私がMCPを初めて知ったのは2025/4とかだったと思います。そのときの仕様を読み始めて、「LSPやん」って声が出ました。
通信プロトコルやトランスポートなどほとんどが同じで解決している問題も同じ構造でした。
MCPの仕様を知るのは驚くほど簡単でした。新しい概念の仕様を読んでいるはずですが、頭の中では全てがLSPの言葉と結びついていきます。「伏線回収」的な面白さがそこにはありました。
1年前は「面白いけど、、、」くらいの気持ちで学んでいましたが、その技術が最新のAI分野で応用として出てくることに面白さを感じました。
終わりに
私が書く記事は基本的に技術的な内容が多いのですが、今回は初めてのお気持ちよりの記事でした。自分が学びたいものは貪欲に学んでしまうのは、時間がかかるし案件などでやるには非効率かもしれませんが、趣味でやるにはとても面白いものです。
「興味はあるけど」と躊躇していることに、時間がある年末年始などで挑戦してみてはいかがでしょうか?(できれば、面白かったよ!的なブログ記事を書いて私のTwitter(@_chiaoi)まで連絡して欲しいです。。面白技術を知りたいので、、、)