MCP C++实现 是 AI Skill Hub 本期精选MCP工具之一。综合评分 8.0 分,整体质量较高。我们强烈推荐将其纳入你的 AI 工具库,帮助提升工作效率。
MCP C++实现 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
MCP C++实现 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/vparla/mcp-cpp
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"mcp-c----": {
"command": "npx",
"args": ["-y", "mcp-cpp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 MCP C++实现 执行以下任务... Claude: [自动调用 MCP C++实现 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"mcp_c____": {
"command": "npx",
"args": ["-y", "mcp-cpp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
Build and run the client/server demo using stdio transport (WSL2 PowerShell example below):
wsl -d Ubuntu -- bash -lc "cd /mnt/c/<path-to-repo>/mcp-cpp && docker buildx build -f Dockerfile.demo --target demo --progress=plain --pull --load -t mcp-cpp-demo ."
wsl -d Ubuntu -- bash -lc "docker run --rm --name mcp-cpp-demo --mount type=bind,src=/mnt/c/<path-to-repo>/mcp-cpp,dst=/work mcp-cpp-demo"
Docker-first workflow for all platforms. For details, see BUILD+TEST.MD.
- Linux/macOS:
docker buildx build -f Dockerfile.demo --target test --progress=plain --pull --load -t mcp-cpp-test .
docker buildx build -f Dockerfile.demo --target demo --progress=plain --pull --load -t mcp-cpp-demo .
docker run --rm --name mcp-cpp-demo --mount type=bind,src=$(pwd),dst=/work mcp-cpp-demo
- Windows (PowerShell via WSL2 Ubuntu):
wsl -d Ubuntu -- bash -lc "cd /mnt/c/<path-to-repo>/mcp-cpp && docker buildx build -f Dockerfile.demo --target test --progress=plain --pull --load -t mcp-cpp-test ."
wsl -d Ubuntu -- bash -lc "cd /mnt/c/<path-to-repo>/mcp-cpp && docker buildx build -f Dockerfile.demo --target demo --progress=plain --pull --load -t mcp-cpp-demo ."
wsl -d Ubuntu -- bash -lc "docker run --rm --name mcp-cpp-demo --mount type=bind,src=/mnt/c/<path-to-repo>/mcp-cpp,dst=/work mcp-cpp-demo"
examples/typed_quickstart — minimal end-to-end usage of typed wrappers (tools/resources/prompts).examples/resource_chunking — demonstrates experimental resource range reads (offset/length) and reassembly of chunks. If the server advertises capabilities.experimental.resourceReadChunking.maxChunkBytes, returned slices are hard-clamped to that size; the example shows how to reassemble correctly using typed helpers.A C++20 SDK for the Model Context Protocol (MCP).
Cross-platform (Windows/macOS/Linux), CMake-based. See Docker-first instructions in BUILD+TEST.MD.
This section summarizes the primary SDK interfaces and feature-specific APIs.
- Client API header: include/mcp/Client.h - Server API header: include/mcp/Server.h - Transport headers: include/mcp/Transport.h, include/mcp/InMemoryTransport.hpp, include/mcp/StdioTransport.hpp, include/mcp/SharedMemoryTransport.hpp, include/mcp/HTTPTransport.hpp, include/mcp/HTTPServer.hpp
- Connection: Connect(transport), Disconnect(), IsConnected() - Initialize: Initialize(clientInfo, capabilities) → ServerCapabilities - Tools: ListTools(), ListToolsPaged(cursor, limit), CallTool(name, args), CallToolTask(name, args, task) - Tasks: GetTask(taskId), ListTasks(), ListTasksPaged(cursor, limit), GetTaskResult(taskId), CancelTask(taskId) - Resources: ListResources(), ListResourcesPaged(cursor, limit), ReadResource(uri) - Resource templates: ListResourceTemplates(), ListResourceTemplatesPaged(cursor, limit) - Subscriptions: SubscribeResources(), SubscribeResources(optional<string> uri), UnsubscribeResources(), UnsubscribeResources(optional<string> uri) - Prompts: ListPrompts(), ListPromptsPaged(cursor, limit), GetPrompt(name, args) - Utilities: Complete(params), Ping() - Roots and elicitation: SetRootsListHandler(handler), NotifyRootsListChanged(), SetElicitationHandler(handler) - Sampling (server → client): SetSamplingHandler(handler) - Notifications & progress: SetNotificationHandler(method, handler), RemoveNotificationHandler(method), SetProgressHandler(handler), SetErrorHandler(handler)
Example (connect + initialize):
ClientFactory factory; Implementation info{"MyClient","1.0.0"};
auto client = factory.CreateClient(info);
client->Connect(std::move(transport)).get();
ClientCapabilities caps; auto serverCaps = client->Initialize(info, caps).get();
Start(transport), Stop(), IsRunning()HandleInitialize(clientInfo, capabilities)RegisterTool(name, handler) or RegisterTool(tool, handler), UnregisterTool(name), ListTools(), CallTool(name, args), CallToolTask(name, args, task)GetTask(taskId), ListTasks(), ListTasksPaged(cursor, limit), GetTaskResult(taskId), CancelTask(taskId)RegisterResource(uri, handler) or RegisterResource(resource, handler), UnregisterResource(uri), ListResources(), ReadResource(uri)RegisterResourceTemplate(t), UnregisterResourceTemplate(template), ListResourceTemplates()RegisterPrompt(name, handler) or RegisterPrompt(prompt, handler), UnregisterPrompt(name), ListPrompts(), GetPrompt(name, args)SetCompletionHandler(handler), RequestCreateMessage(params), RequestCreateMessageTask(params, task), RequestElicitation(request), RequestElicitationTask(request, task), RequestRootsList(), Ping()SetSamplingHandler(handler)SetKeepaliveIntervalMs(intervalMs)LogToClient(level, message, data)NotifyResourcesListChanged(), NotifyResourceUpdated(uri), NotifyToolsListChanged(), NotifyPromptsListChanged()SendNotification(method, params), SendProgress(token, progress, message)SetErrorHandler(handler), GetCapabilities(), SetCapabilities(caps)Start(), Close(), IsConnected(), GetSessionId()SendRequest(req), SendNotification(note)SetNotificationHandler(h), SetErrorHandler(h), SetRequestHandler(h)The HTTP client transport supports static Bearer tokens and OAuth2 client‑credentials. See configuration keys and IAuth injection examples in docs/api/transport.md.
高质量的MCP C++实现,值得关注
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,MCP C++实现 在MCP工具赛道中表现稳健,质量优秀。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | mcp-cpp |
| Topics | mcpc++model-context-protocol |
| GitHub | https://github.com/vparla/mcp-cpp |
| License | MIT |
| 语言 | C++ |
收录时间:2026-06-26 · 更新时间:2026-06-26 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端