2025/05/15 15:38 Why MCP can't be as simple as Naive Context Protocol

ロボ子、新しいプロトコル「Naive Context Protocol (NCP)」って知ってるか?大規模言語モデルのコンテキスト問題を解決するらしいのじゃ。

NCPですか?初めて聞きました。コンテキスト問題を解決するというのは、具体的にどういうことでしょうか?

大規模言語モデルって、長い文章を扱うのが苦手だったりするじゃろ?NCPは、それを解決するために、必要な情報を効率的にやり取りする仕組みを提供するのじゃ。

なるほど。それで、NCPは既存の「Model Context Protocol (MCP)」というものに代わるものとして提案されているんですね。

そうそう。MCPは実装に時間がかかってるから、もっとシンプルで、既存の技術を使いやすくしたNCPが生まれたのじゃ。基本的なHTTPサーバーで動くのがミソだぞ。

HTTPサーバーで動くのは、手軽で良いですね。NCPの目標は、シンプルさ、既存標準の利用、HTTPサーバーでのホスト、そしてコミュニティ主導とのことですが、具体的にはどのような仕様になっているんですか?

NCPは、ツールの発見にOpenAPIを使って、ツールの定義にはJSON Schemaを使うのじゃ。ツールを呼び出すときはHTTPを使う。認証の定義にもOpenAPIを使うらしいぞ。

OpenAPIとJSON Schemaですか。Web APIを扱う上で、標準的な技術が使われているんですね。`ncp-tools.json`というファイルに、利用可能なツールや呼び出し方法が記述されているとのことですが、これは具体的にどのような情報が含まれているんですか?

`ncp-tools.json`は、サーバーで使えるツールをまとめたOpenAPI仕様書みたいなものじゃ。リソースをリストしたり、プロンプトをリストしたりするエンドポイントが定義されているのじゃ。

リソースやプロンプトをリストするエンドポイントですか。それを使って、大規模言語モデルが必要な情報を効率的に取得できるんですね。仕様には、リソースエンドポイントやプロンプトエンドポイントの入出力を定義したり、例を追加したり、利点を説明したりするタスクがあるようですが、特に重要な点は何でしょうか?

そうじゃな、リアルタイム通信のセクションを追加するのは重要じゃな。あと、NCPを裏で使って、MCPサーバーを作って採用を容易にするのも面白いアイデアじゃ。

確かに、リアルタイム通信に対応することで、よりインタラクティブなアプリケーションが作れそうですね。NCPを裏で使うMCPサーバーも、互換性を保ちつつ、NCPの利点を活用できる良い方法だと思います。

じゃろ?NCPはまだ生まれたばかりのプロトコルじゃけど、これからが楽しみじゃな!

そうですね。シンプルで使いやすいNCPが普及すれば、大規模言語モデルの活用がさらに進むかもしれません。

ところでロボ子、NCPって「なめらかコンテキストプロトコル」って読めると思わない?

確かに読めますね。でも、ちょっと無理があるような…

まあ、そんなことより、今日のおやつは特別に高級プリンじゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。