Token导航 LogoToken导航

MCP Server · 开发工具

cpp MCP

一个实现Model Context Protocol(MCP)的C++ SDK,支持stdio传输和进程生成,适用于需要交互式用户输入请求的开发场景。

未说明官方级别未说明来源级核验工具 0
C++开发工具命令行工具

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
MKAbdElrahman
提供方
MKAbdElrahman

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

cpp MCP 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

MCP C++ SDK(MCP C++软件开发工具包)

C++语言的实现 模型上下文协议 (MCP) 支持完整的标准I/O传输,包括进程创建。

安装

使用 CMake 的 FetchContent 功能

将MCP SDK添加到您的CMake项目中:

include(FetchContent)

FetchContent_Declare(
    mcp-sdk
    GIT_REPOSITORY https://github.com/MKAbdElrahman/cpp-mcp-sdk.git
    GIT_TAG main
)

FetchContent_MakeAvailable(mcp-sdk)

# Link to your target
target_link_libraries(your_target PRIVATE mcp)

# Include headers
target_include_directories(your_target PRIVATE ${mcp-sdk_SOURCE_DIR}/include)

手动构建和安装

git clone https://github.com/MKAbdElrahman/cpp-mcp-sdk.git
cd cpp-mcp-sdk
mkdir build && cd build
cmake ..
make
sudo make install  # Optional: install system-wide

然后在你的 CMakeLists.txt 文件中:

# If installed system-wide
find_package(mcp REQUIRED)
target_link_libraries(your_target PRIVATE mcp)

# Or use local build
target_include_directories(your_target PRIVATE /path/to/cpp-mcp-sdk/include)
target_link_libraries(your_target PRIVATE /path/to/cpp-mcp-sdk/build/libmcp.a pthread)

使用方法

客户端 - 启动MCP服务器

#include 

using namespace mcp;

// Configure server to spawn
StdioServerParameters params("python");
params.with_args({"my_mcp_server.py"})
      .with_env({{"API_KEY", "secret"}})
      .with_cwd("/path/to/server");

// Create and connect
auto transport = create_stdio_client_transport(params);

// Communicate
json request = {{"jsonrpc", "2.0"}, {"method", "tools/list"}, {"id", 1}};
transport->write(request);
json response = transport->read();

// Clean shutdown (automatic in destructor)
transport->close();

服务器 - 处理标准I/O传输

#include 

using namespace mcp;

// Use stdin/stdout
StdioConnection conn(std::cin, std::cout);

// Read requests
json request = conn.read();

// Send responses
json response = {{"jsonrpc", "2.0"}, {"id", request["id"]}, {"result", {}}};
conn.write(response);

测试

重要总是从……开始构建 build/ 目录,用于保持源代码树的整洁。

建议:从构建目录进行构建

mkdir -p build && cd build
cmake ..
make
ctest --output-on-failure

# For verbose output
ctest --output-on-failure --verbose

替代方案:使用Makefile封装器

# From project root (uses build/ directory)
make clean  # Clean build
make        # Build all
make test   # Run tests

不要跑 cmake 或者 make 从项目根目录 - 这将把构建产物污染到源代码树中。

特点

  • 完全支持MCP协议(协议版本2025-06-18)
  • 带有进程生成的stdio传输
  • 客户端和服务器端实现
  • 工具、资源和提示支持
  • 引出支持(或:启发式支持,根据上下文可能有所不同) - 交互式用户输入请求(新增!)
  • 线程安全设计
  • 全面的测试套件

引出支持(或:引诱支持,但根据上下文,“引出”可能更贴切,因为“elicitation”通常指引出或诱发某种反应或信息)

在工具执行或其他操作过程中,提示功能允许服务器与用户进行交互式请求,以获取结构化信息。

服务器使用情况

#include 
#include 

// In a tool handler with access to ServerSession*
json schema = {
    {"type", "object"},
    {"properties", {
        {"apiKey", {{"type", "string"}}},
        {"timeout", {{"type", "number"}, {"minimum", 1}}},
        {"debug", {{"type", "boolean"}}}
    }},
    {"required", json({"apiKey"})}
};

ElicitRequestParams params;
params.message = "Please provide your API configuration";
params.requestedSchema = schema;

ElicitResult result = session->send_elicit_request(params);

if (result.action == ElicitAction::Accept) {
    auto api_key = (*result.content)["apiKey"].get();
    // Use configuration...
}

客户使用情况

#include 

// Define elicitation handler
ClientOptions options;
options.elicitation_handler =  {
    std::cout << "Server asks: " << params.message << std::endl;

    // Collect user input (show UI, prompt, etc.)
    ElicitResult result;
    result.action = ElicitAction::Accept;
    result.content = {
        {"apiKey", "sk-test-12345"},
        {"timeout", 30},
        {"debug", true}
    };
    return result;
};

// Client automatically advertises elicitation capability
Client client("my-client", "1.0.0", options);

见 docs/ELICITATION.md(文件名,可翻译为“文档/引出需求.md”或根据具体语境简化为“需求引出说明.md”等) 以获取详细文档和 示例/引出示例.cpp 以完整示例说明。

文档

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

C++本地部署C++SDKMCP协议进程通信交互式输入开发工具

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
cpp MCP

MCP World · 本页

0未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

cpp MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

cpp MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

cpp MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

cpp MCP 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

cpp MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP