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)
安装
前置条件
- 安装 oatpp 主模块
安装步骤
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。
详情请参考: