mcpField
O
oatpp-mcp

oatpp-mcp

Local
oatpp.ioDeveloper Tools50Updated 98w ago

About oatpp-mcp

oatpp-mcp is a Model Context Protocol implementation for the Oat++ C++ web framework. It targets developers who want to expose Oat++ applications as MCP servers. It can generate tools automatically from ApiController definitions.

Key features

  1. 01Automatic tool generation from ApiController
  2. 02STDIO transport support
  3. 03HTTP SSE transport support
  4. 04Prompts, resources and tools as server features

Use cases

  1. 01Letting an LLM query an Oat++-based API through tools
  2. 02Adding MCP server capabilities to a C++ project

MCP support

This is an MCP server implementation that exposes prompts, resources and tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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());

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.