Back to MCP directory
publicPublicdnsLocal runtime

oatpp-mcp

oatpp-mcp是基于Oat++框架实现的Anthropic模型上下文协议(MCP),支持自动生成API工具、STDIO和HTTP SSE传输方式,以及提示、资源和工具等服务器功能。

article

README

🚀 Anthropic模型上下文协议(MCP)在Oat++中的实现

本项目实现了在Oat++中集成Anthropic的Model Context Protocol(MCP),为开发者提供了便捷的方式来使用相关功能,实现与LLM的交互。

🚀 快速开始

本项目是在Oat++中对Anthropic的Model Context Protocol(MCP)的实现。若想了解更多相关信息,可参考以下链接:

✨ 主要特性

自动生成API工具

:tada: oatpp-mcp 能够从 ApiController 自动生成工具,让您可以使用LLM查询API。:tada:

传输方式

  • STDIO
  • HTTP SSE

服务器功能

📦 安装指南

先决条件

需安装主 Oat++ 模块。

安装模块

  • 克隆此仓库。
  • 在仓库根目录下运行以下命令:
mkdir build && cd build
cmake ..
make install

💻 使用示例

基础用法

查看测试文件夹中的工作示例 /test/oatpp-mcp/app/ServerTest.cpp

通过STDIO提供服务

⚠️ 重要提示

确保将Oat++日志重定向到其他流,例如:通过自定义Logger输出到文件。

/* 创建MCP服务器 */
oatpp::mcp::Server server;

/* 添加提示词 */
server.addPrompt(std::make_shared<prompts::CodeReview>());

/* 添加资源 */
server.addResource(std::make_shared<resource::File>());
  
/* 添加工具 */
server.addTool(std::make_shared<tools::Logger>());

/* 运行服务器 */
server.stdioListen(); 

通过SSE提供服务

/* 创建MCP服务器 */
oatpp::mcp::Server server;

/* 添加提示词 */
server.addPrompt(std::make_shared<prompts::CodeReview>());

/* 添加资源 */
server.addResource(std::make_shared<resource::File>());
  
/* 添加工具 */
server.addTool(std::make_shared<tools::Logger>());

/* 将SSE控制器添加到HTTP服务器路由中 */
router->addController(server.getSseController());
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client