oatpp-mcp

oatpp-mcp

为Oat++实现的Anthropic模型上下文协议。

oatpp-mcp Quick Start Guide

概述

oatpp-mcp 是 Anthropic 模型上下文协议(MCP)在 Oat++ 框架中的实现,允许你将 Oat++ 应用程序与大语言模型(LLM)连接。

主要功能

  • ✅ 自动生成 API 工具(从 ApiController 自动生成工具)
  • ✅ 多种传输方式:标准输入输出(STDIO)和 HTTP SSE
  • ✅ 完整支持 MCP 规范中的提示(prompts)、资源(resources)和工具(tools)

安装

前置条件

安装步骤

git clone [仓库地址]
cd [仓库目录]
mkdir build && cd build
cmake ..
make install

使用示例

STDIO 服务器

// 创建 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();

注意: 请确保将 oatpp 日志重定向到其他流,避免与 STDIO 通信冲突

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

// 向 HTTP 服务器路由添加 SSE 控制器
router->addController(server.getSseController());

自动生成 API 工具

oatpp-mcp 可以自动从你的 ApiController 生成工具,使 LLM 能够查询你的 API。

详情请参考:

更多资源