oatpp-mcp

by oatpp

50 322 downloads Not rated yet Apache-2.0

About

Anthropic's Model Context Protocol implementation for Oat++

Details

License
Apache-2.0

Explore

- Clone this repository.
- In the root of the repository run:

   mkdir build && cd build
cmake ..
make install

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

Anthropic’s Model Context Protocol implementation for Oat++

Read more:
- About Oat++
- Oat++ Repository
- Model Context Protocol

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

- Prompts
- Resources
- Tools

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.