This is MeshInspector's fork of 0xeb/fastmcpp, a C++ port of the Python fastmcp library. It is used by MeshLib.
For documentation, features, examples and the API, see the original repository. This README only lists how the fork differs from it.
The fork branched from upstream at 9afa99f (2026-03-18, fastmcpp 3.1.0). Later upstream changes (parity with fastmcp 3.3 / 3.4, streamable-HTTP CORS and DELETE, FASTMCPP_ENABLE_OPENSSL, the _meta passthrough fix, ...) are not merged here.
- The library can be installed with CMake:
install()exports thefastmcpp::fastmcpp_coretarget and afastmcppConfig.cmakeforfind_package(fastmcpp). nlohmann_jsonandcpp-httplibare found withfind_packageinstead of being fetched withFetchContent.- New option
FASTMCPP_DEPS_ADD_SUBDIRECTORY(defaultOFF): take both dependencies' headers from sibling directories (../nlohmann-json,../cpp-httplib) instead offind_package. - The version is hard-coded in
include/fastmcpp/version.hpp, not passed from CMake. - The
fastmcppCLI executable is built only withFASTMCPP_BUILD_TESTS. - On non-MSVC compilers
fastmcpp_coreis compiled with-fvisibility=hidden -fvisibility-inlines-hidden, matching consumers built with hidden visibility (avoids ld64 weak-symbol warnings).
- Fixes for GCC 11, Visual Studio 2022, older Xcode, Clang and Apple Silicon builds.
- A libc++ workaround (
include/fastmcpp/clang.hpp), injected as a precompiled header under Clang and AppleClang on Apple platforms. - Compatibility with newer cpp-httplib versions.
std::filesystemis used through its non-throwing (std::error_code) overloads.
SseServerWrapper::add_route(method, path, handler)registers custom HTTP routes (GET,POST,PUT,DELETE) next to the built-in/sseand/messagesendpoints. It must be called beforestart(). Tested intests/server/sse_add_route.cpp.
Same as upstream, see LICENSE.