MCP.so
Sign In
Servers

CPP MCP-SERVER

@peppemas

A C++ implementation of a Model Context Protocol Server with a pluggable module architecture.

Overview

What is CPP MCP-SERVER?

CPP MCP-SERVER is a C++ implementation of a Model Context Protocol Server with a pluggable module architecture. It supports resources, prompts, tools, and partial notifications, but does not support sampling, roots, or elicitations.

How to use CPP MCP-SERVER?

Compile from source using CMake and Make (or MinGW on Windows). Configure the server via command-line arguments: -n for server name, -p for plugins directory, -l for logs directory. Add the server to Claude Code using claude mcp add --transport http cpp_mcp_server http://localhost:8080/mcp. For Claude Desktop, add a JSON configuration block specifying the executable path, arguments, and environment variables for plugins.

Key features of CPP MCP-SERVER

  • C++ based MCP server with pluggable module architecture
  • Supports Stdio, SSE, and HttpStream transports (no authorization)
  • No resource templates, sampling, roots, or elicitations
  • Runs on Windows (MinGW64), Ubuntu Linux (GCC), and macOS (GCC)
  • Plugins loaded dynamically from a specified directory
  • Centralized logging configurable via -l command-line option

Use cases of CPP MCP-SERVER

  • Extending an MCP client with custom tools using dynamically loaded plugins
  • Adding weather data fetching, code review, or sleep functionality via example plugins
  • Developing and testing time‑based operations with the Sleep plugin
  • Integrating with version control systems for automated code review feedback

FAQ from CPP MCP-SERVER

What is the plugin system and how do I add a plugin?

Plugins are dynamically loaded libraries (.dll on Windows, .so/.dylib on Linux/macOS) placed in a directory specified with the -p argument. Example plugins include Weather, Sleep, and Code Review; custom plugins can be compiled separately and loaded at runtime.

Which transports are supported and is authentication available?

Stdio, SSE, and HttpStream transports are all supported. No authorization mechanism is currently implemented for any transport.

What are the current known limitations?

Resource templates are not supported, notifications are only partially supported, and sampling, roots, and elicitations are not implemented. The server has been tested only with Claude Desktop and Claude Code clients.

What runtime dependencies or compilers are required?

On Windows, MinGW64 is the supported compiler; on Ubuntu Linux and macOS, GCC is used. No additional runtime dependencies are mentioned beyond the build tools (CMake, Make, and a compatible C++ compiler).

How do I configure logging?

Logs are written to a ./logs directory that must exist by default. You can change the log directory using the -l command-line option.

More from Other