MCP ExplorerExplorer

Oatpp Mcp

@oatppon 9 months ago
41 Apache-2.0
FreeCommunity
AI Systems
#anthropic#model-context-protocol#oatpp
Anthropic's Model Context Protocol implementation for Oat++

Overview

What is Oatpp Mcp

oatpp-mcp is an implementation of Anthropic’s Model Context Protocol for the Oat++ framework, designed to facilitate interactions with large language models (LLMs).

Use cases

Use cases for oatpp-mcp include building RESTful web services that leverage LLMs for tasks like code review, content generation, and interactive applications.

How to use

To use oatpp-mcp, clone the repository, install the main oatpp module, and follow the provided instructions to set up the server. You can create an MCP server, add prompts, resources, and tools, and then run it via STDIO or HTTP SSE.

Key features

Key features of oatpp-mcp include autogenerated tools for API interaction, support for STDIO and HTTP SSE transport, and functionalities for managing prompts, resources, and tools.

Where to use

oatpp-mcp can be used in fields such as AI development, web services, and applications that require integration with large language models for enhanced interactivity.

Content

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers