Oatpp-mcp implements Anthropic's Model Context Protocol for Oat++, enabling LLM integration with your Oat++ API through autogenerated tools. It supports STDIO and HTTP SSE transports, along with Prompts, Resources, and Tools.
Anthropic’s Model Context Protocol implementation for Oat++.
Read more:
:tada: oatpp-mcp
automatically generates tools from ApiController
to query your API with LLMs. :tada:
add_mcp_server
)mkdir build && cd build
cmake ..
make install
Find working example in tests /test/oatpp-mcp/app/ServerTest.cpp
Note: Redirect oatpp logging to a different stream (e.g., to a file) by providing a custom 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();
/* 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());