返回 MCP 目录
public公开dns本地运行

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

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端