oatpp_oatpp-mcp

Mirror of https://github.com/oatpp/oatpp-mcp

GitHub Stars

1

User Rating

Not Rated

Favorites

0

Views

7

Forks

0

Issues

0

README
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:

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());