目录

OpenHarmony 原生 MCP 协议栈

本项目面向 OpenHarmony 风格系统实现一个用户态原生 MCP 协议栈原型。核心目标是把 MCP 的 JSON-RPC 路由、安全校验、上下文缓存/压缩和审计能力收束到系统服务边界内,减少 SDK/proxy 对照路径中的额外开销,并给出可复现的构建、测试、基准和展示材料。

作者团队:武汉大学计算机学院。

  • 队长:李佳斌
  • 队员:李佳禾、姚舒文

核心能力

  • 原生 MCP 服务:native-mcpd --config config/native_mcpd.toml
  • 协议方法:initializepingtools/listtools/callresources/listresources/readprompts/listprompts/getmetrics/read
  • JSON-RPC 兼容:支持单行请求、batch 数组和无 id 的 notification
  • 生命周期通知:支持 notifications/initializednotifications/cancelled
  • 安全机制:共享 token 认证、角色 ACL、nonce 防重放、审计日志和确定性错误码
  • 配置诊断:--check-config 显示 token 来源,同时不输出 token 值
  • 严格工具契约:按 tools/list 暴露的 schema 校验 tools/call 参数
  • 效率优化:直接路由、资源缓存、重复上下文压缩和可量化基准对比
  • OpenHarmony 集成材料:BUILD.gnbundle.json、服务适配草案和移植说明

WSL2 构建与验证

git clone https://gitlink.org.cn/Lijiabin1234/ohos-native-mcp-stack.git
cd ohos-native-mcp-stack
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j2
ctest --test-dir build --output-on-failure
pytest -q
python3 examples/edge_agent_demo.py
python3 scripts/run_benchmarks.py --all --iterations 300
python3 scripts/capture_demo_evidence.py
python3 scripts/package_submission.py
python3 scripts/validate_submission.py --min-iterations 300

完整验证也可以统一执行:

python3 scripts/run_all_checks.py --benchmark-iterations 300

如果 WSL2 中缺少 pytest

uv tool install pytest

常用命令

./build/native-mcpd --version
./build/native-mcpd --config config/native_mcpd.toml --check-config
python3 tools/mcpctl.py initialize
python3 tools/mcpctl.py tools list
python3 tools/mcpctl.py tools call math.add '{"a":4,"b":6}'
python3 tools/mcpctl.py resources read ohos://mcp/design

基准测试

python3 tools/mcpbench.py run --profile profiles/native.yaml --iterations 300

基准测试对比两条路径:

  • 原生路径:请求直接进入 native-mcpd 核心。
  • 基线路径:在进入同一核心前模拟 SDK/proxy 路径的 JSON 规范化、工具描述注入、重试保护元数据和确定性准确性探测。

最终报告位于:

  • reports/benchmark_results.json
  • reports/benchmark_summary.md

官方提交包内容

平台上传文件为 dist/ohos-native-mcp-stack-submission.zip,按赛题“文件 + 链接”模式准备,包含以下成果:

  • 提交说明:submission_note.md
  • 清单:submission_manifest.json
  • MIT License:LICENSE
  • 初赛报告 PDF:preliminary_report.pdf
  • 方案 PPT:presentation.pptx
  • 5 分钟内作品展示视频:demo_video.mp4
  • 源码快照:source_snapshot.zip
  • 复现说明:reproduction_guide.md
  • 证据日志:evidence/coverage_evidence.txtevidence/mutation_evidence.txtevidence/protocol_trace.txtevidence/random_seed.txtevidence/environment.txtevidence/preflight_log.txt

作品链接使用 GitLink 仓库:https://gitlink.org.cn/Lijiabin1234/ohos-native-mcp-stack

scripts/validate_submission.py 默认使用 300 次基准迭代作为提交验证条件,并检查 ZIP 文件清单、大小限制、源码快照和可复现实验记录。

仓库结构

  • src/include/:C++17 原生 MCP 服务实现
  • tools/mcpctlmcpbench
  • tests/:C++ 与 Python 测试
  • config/profiles/:运行配置与基准 profile
  • docs/:设计、测试、部署和 OpenHarmony 移植文档
  • openharmony/:OpenHarmony 服务适配草案与集成片段
关于

OpenHarmony 用户态原生 MCP 协议栈原型,包含协议路由、上下文压缩缓存、安全认证、基准测试、OpenHarmony 集成材料和中文展示资产。

88.1 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号