Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Nativemcp

    这是一个由C++编写的MCP系统,包括MCP核心架构的host、client和server

    7 stars
    C++
    Updated Jun 16, 2025

    Table of Contents

    • 概述
    • 基本组成
    • 依赖库&外部程序
    • 编译环境
    • 编译工具链
    • vcpkg
    • Qt6.8.2
    • 参考
    • 下载源码
    • 生成
    • 构建
    • 配置
    • 示例

    Table of Contents

    • 概述
    • 基本组成
    • 依赖库&外部程序
    • 编译环境
    • 编译工具链
    • vcpkg
    • Qt6.8.2
    • 参考
    • 下载源码
    • 生成
    • 构建
    • 配置
    • 示例

    Documentation

    nativeMCP

    概述

    这是一个由C++编写的MCP系统,包括MCP核心架构的host、client和server;而host本身已经相当于是AI Agent,虽然目前只有命令行(但我觉得也不需要花哨界面)

    参考:https://modelcontextprotocol.io/introduction

    *server可用于其他支持MCP的软件,如Cursor*

    *client也支持MCP官方的servers,和Cursor同样的配置即可*

    基本组成

    • MCPServer:遵循MCP的Server父类,相当于SDK,子类只需要继承以及按要求新增所需的方法即可;目前通信方式只支持stdio
    • servers:继承MCPServer后实现的一些具体server,可以直接使用;后续分支再更新更多的工具
    • host:宿主应用程序,连接LLM,根据配置加载MCPClient
    • MCPClient:在host应用程序内部与服务器保持1:1连接,在LLM需要的时候调用MCPServer提供的工具
    • ModelAdapter:连接LLM的适配层,目前实现是使用cpp-httplib对Ollama发起请求

    依赖库&外部程序

    • Qt6.8:字符串、Json处理,元对象机制(用于动态调用任意函数)
    • cpp-httplib:用于请求Ollama或是其他在线大模型的api
    • Ollama:本地部署大模型的后端程序
    • LLM 任意的大语言模型,用于自然语言的问答,例如DeepSeek、Qwen等

    编译环境

    编译工具链

    • CMake >= 3.30
    • Visual Studio 2022(勾选使用C++进行桌面开发)

    vcpkg

    用于导入第三方库cpp-httplib、spdlog

    code
    git clone https://github.com/microsoft/vcpkg.git
    cd vcpkg && bootstrap-vcpkg.bat

    然后将vcpkg.exe的路径添加到系统环境变量PATH里

    Qt6.8.2

    可以直接使用在线安装包,不过还是建议自己下载源码来构建。目前只需编译qt-base模块即可。

    参考

    https://doc.qt.io/qt-6/getting-sources-from-git.html

    https://doc.qt.io/qt-6/windows-building.html

    https://doc.qt.io/qt-6/configure-options.html

    下载源码

    git clone --branch v6.8.2 git://code.qt.io/qt/qt5.git .\src

    生成

    code
    mkdir build
    cd build
    ..\src\configure.bat -init-submodules -submodules qtbase
    ..\src\configure.bat -debug-and-release -prefix 
    cmake --build . --parallel
    cmake --install .
    cmake --install . --config debug

    *上述步骤有两次install,第一次默认是只安装release*

    最后将\bin添加到系统环境变量PATH中里

    构建

    clone源码并进入到源码目录下

    cmd
    mkdir build
    cd build
    cmake .. -G "Visual Studio 17 2022"

    最后打开build/nativeMCP.sln进行编译和调试(注意先将host设为启动项,或者要调试server的话则将对应的server设为启动项)

    配置

    修改config.json,可简单配置MCP Host的功能

    • api
    • url:api的完整url
    • model:生成对话的模型,推荐deepseek或qwen
    • api_key:如果是本地部署的则为空
    • mcpServers
    • server名称(因为代码会判断冒号,所以不要使用冒号)
    • command:在windows系统上必须都是cmd
    • args:["/c"]第一个参数必须是/c,第二个参数看server的类型选择,exe直接是exe的路径,python程序则填python,Node.js则填npx,后面的参数再根据server的说明来填写

    示例

    text
    [2025-03-26 12:27:30.296](info)[Host.cpp::18] MCP Host初始化
    [2025-03-26 12:27:30.299](info)[ModelAdapter.cpp::22] ModelAdapter初始化:http://localhost:11434, qwen2.5:7b
    [2025-03-26 12:27:30.397](info)[Host.cpp::67]
    可用工具列表:
    cpp-time:
      getCurrentTime 获取当前时间
      waitTime 等待指定的时间
    server-test:
      getAvailableIP 获取可用的IP列表
      sendToIP 将内容发送到指定的ip地址
      testMultiParams 测试多参数的工具调用
    
    >>> 获取当前时间,并发送给所有可用的ip
    [2025-03-26 12:29:08.349](info)[Host.cpp::123] 调用MCP工具[cpp-time::getCurrentTime]: {
        "datetime": "2025-03-26T12:29:08.346",
        "timezone": "Asia/Shanghai"
    }
    
    [2025-03-26 12:29:20.160](info)[Host.cpp::123] 调用MCP工具[server-test::getAvailableIP]: {
        "ip_list": [
            "192.168.1.201",
            "192.168.1.202",
            "192.168.1.203"
        ]
    }
    
    [2025-03-26 12:30:07.784](info)[Host.cpp::123] 调用MCP工具[server-test::sendToIP]: {
        "content": "当前时间为:2025-03-26T12:29:08.346 (Asia/Shanghai)",
        "ip": "192.168.1.201",
        "status": "发送成功"
    }
    
    [2025-03-26 12:30:07.788](info)[Host.cpp::123] 调用MCP工具[server-test::sendToIP]: {
        "content": "当前时间为:2025-03-26T12:29:08.346 (Asia/Shanghai)",
        "ip": "192.168.1.202",
        "status": "发送成功"
    }
    
    [2025-03-26 12:30:07.789](info)[Host.cpp::123] 调用MCP工具[server-test::sendToIP]: {
        "content": "当前时间为:2025-03-26T12:29:08.346 (Asia/Shanghai)",
        "ip": "192.168.1.203",
        "status": "发送成功"
    }
    
    当前时间为:2025-03-26T12:29:08.346 (Asia/Shanghai)
    
    已经将当前时间发送给所有可用的IP地址,发送状态均为成功。

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • OP

      Opengenes Mcp

      Python·
      12

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • ES

      Esp Rainmaker Mcp

      Python·
      9
    • PE

      Personalizationmcp

      Python·
      12
    • FA

      Fal Mcp Server

      Python·
      8
    • OP

      Opengenes Mcp

      Python·
      12

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k