Anthropic’s Model Context Protocol implementation for Oat++
oatpp-mcp
Anthropic’s Model Context Protocol implementation for Oat++
Read more:
Supported features
Autogenerated tools for API
:tada: oatpp-mcp
can automatically generate tools from ApiController
so that you can query your API with LLM. :tada:
- Detailed tutorial
- Example project example-crud (branch
add_mcp_server
)
Transport
- STDIO
- HTTP SSE
Server features
Build And Install
Pre Requirements
- Install the main oatpp module
Install module
- Clone this repository.
- In the root of the repository run:
mkdir build && cd build cmake .. make install
Examples
Find working example in tests /test/oatpp-mcp/app/ServerTest.cpp
Serve via STDIO
Note: make sure to redirect oatpp logging to a different stream - ex.: to file by providing 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();
Serve via 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());
Prerequisites
- •Familiarity with the server domain
- •Basic understanding of related technologies
- •Knowledge of Developer Tools
Recommended Server
Details
More Server
Quarkus Mcp Server
This extension enables developers to implement the MCP server features easily.
Mcp Neovim Server
Control Neovim using Model Context Protocol (MCP) and the official neovim/node-client JavaScript library
Cognee Mcp
Reliable LLM Memory for AI Applications and AI Agents
Mcp Server Redis
MCP server to interact with Redis Server, AWS Memory DB, etc for caching or other use-cases where in-memory and key-value based storage is appropriate