oatpp-mcp について
oatpp-mcp は、C++ Web フレームワーク Oat++ 向けの Model Context Protocol 実装です。Oat++ アプリケーションを MCP サーバーとして公開したい開発者に向けたものです。ApiController の定義からツールを自動生成できます。
主な機能
- 01ApiController からのツール自動生成
- 02STDIO トランスポートへの対応
- 03HTTP SSE トランスポートへの対応
- 04サーバー機能としてのプロンプト、リソース、ツール
活用シーン
- 01Oat++ ベースの API を LLM からツール経由で照会する
- 02C++ プロジェクトに MCP サーバー機能を追加する
MCP 対応
MCP サーバーの実装であり、プロンプト、リソース、ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
oatpp-mcp
Oat++ 向け Anthropic の Model Context Protocol 実装
詳細はこちら:
サポートされている機能
API 向け自動生成ツール
:tada: oatpp-mcp は ApiController からツールを自動生成できるため、LLM を使って API にクエリを送信できます。:tada:
- 詳細なチュートリアル
- サンプルプロジェクト example-crud(ブランチ
add_mcp_server)
トランスポート
- STDIO
- HTTP SSE
サーバー機能
ビルドとインストール
事前要件
- メインの oatpp モジュールをインストールします
モジュールのインストール
- このリポジトリをクローンします。
- リポジトリのルートで次を実行します:
mkdir build && cd build cmake .. make install
例
動作する例は、テストの /test/oatpp-mcp/app/ServerTest.cpp にあります。
STDIO 経由で提供
注: oatpp のログを別のストリームにリダイレクトしてください。例:カスタム Logger を指定してファイルに出力します。
/* Create MCP server */
oatpp::mcp::Server server;
/* Add prompts */
server.addPrompt(std::make_shared<prompts::CodeReview>());
/* Add resource */
server.addResource(std::make_shared<resource::File>());
/* Add tools */
server.addTool(std::make_shared<tools::Logger>());
/* Run server */
server.stdioListen();
SSE 経由で提供
/* Create MCP server */
oatpp::mcp::Server server;
/* Add prompts */
server.addPrompt(std::make_shared<prompts::CodeReview>());
/* Add resource */
server.addResource(std::make_shared<resource::File>());
/* Add tools */
server.addTool(std::make_shared<tools::Logger>());
/* Add SSE controller to your HTTP server router */
router->addController(server.getSseController());
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。