article
README
🚀 原生MCP系统简介及实现方案说明
本项目致力于实现一个原生的MCP(Multi-Component Platform)系统,该系统基于组件化架构设计,能有效管理各个服务组件,提供统一的交互接口,具备良好的扩展性和可维护性。
🚀 快速开始
要使用本系统,你需要完成以下步骤:
- 确保满足编译环境要求。
- 按照构建步骤进行编译。
- 进行相应的配置。
- 启动系统并查看功能演示日志输出。
✨ 主要特性
- 基于组件化架构设计,包含
Native Host、Client和Server核心模块。 MCP Server提供基础服务支持,实现组件间通信机制并定义统一调用规范。- 拥有多个
Server Components示例,如cpp-time和server-test。 - 依赖
Qt Framework (6.8)和cpp-httplib,提供跨平台开发和HTTP接口服务。
📦 安装指南
编译环境要求
- CMake
# 检查cmake版本 cmake --version - Visual Studio 2022 Build Tools
- vcpkg依赖管理工具:
# 安装qt6-base和cpp-httplib vcpkg install qt6-base cpp-httplib
构建步骤
# 在项目根目录执行以下命令:
mkdir build && cd build
cmake ..
cmake --build .
⚠️ 重要提示
编译完成后会在
./bin目录生成可执行文件
💻 使用示例
基础用法
启动系统:
# 运行MCP Host服务
bin/native-host --config config.json
高级用法
查看功能演示日志输出:
[2025-03-26T12:29:08.349 INFO] 调用MCP工具[cpp-time::getCurrentTime]:
{
"datetime": "2025-03-26T12:29:08.346",
"timezone": "Asia/Shanghai"
}
[2025-03-26T12:29:20.160 INFO] 调用MCP工具[server-test::getAvailableIP]:
{
"ip_list": [
"192.168.1.201",
"192.168.1.202",
"192.168.1.203"
]
}
[2025-03-26T12:30:07.784 INFO] 调用MCP工具[server-test::sendToIP]:
{
"content": "当前时间为:2025-03-26T12:30:07.784",
"receiver": "192.168.1.201"
}
[2025-03-26T12:30:07.786 INFO] 调用MCP工具[server-test::sendToIP]:
{
"content": "当前时间为:2025-03-26T12:30:07.784",
"receiver": "192.168.1.202"
}
📚 详细文档
系统基本组成
1. MCP Server
- 职责:
- 提供基础服务支持
- 实现组件之间的通信机制
- 定义统一的调用规范
2. Server Components
- 示例实现:
cpp-time:提供时间相关服务,包括获取当前时间、等待指定时长等功能。server-test:用于测试网络功能,支持获取可用IP地址和向指定IP发送数据。
配置说明
1. 基础配置
- Config.json
{ "log_level": "info", "server_list": [ { "name": "cpp-time", "binary_path": "bin/cpp-time-server" }, { "name": "server-test", "binary_path": "bin/server-test" } ] }
2. 自定义服务器配置
- 格式说明:
{ "name": "服务器名称", "description": "功能描述", "methods": [ { "method_name": "方法名", "parameters": [], "return_type": "返回类型" } ] } - 示例:
// 添加自定义服务器配置 { "name": "custom-server", "binary_path": "bin/custom-server", "description": "自定义功能实现", "methods": [ { "method_name": "custom_method", "parameters": ["param1", "param2"], "return_type": "JsonObject" } ] }
🔧 技术细节
技术依赖
-
Qt Framework (6.8):
- 提供跨平台应用开发框架
- 支持网络通信、线程管理等基础功能
-
cpp-httplib:
- 简单易用的C++ HTTP服务器库
- 用于快速搭建HTTP接口服务
项目结构
.
├── bin/
│ ├── cpp-time-server
│ └── server-test
├── src/
│ ├── CMakeLists.txt
│ └── native-host.cpp
└── config.json
Scan to join WeChat group