Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

parasxos/cpp26-adapter MCP server](https://glama.ai/mcp/servers/parasxos/cpp26-adapter/badges/score.svg)](https://glama.ai/mcp/servers/parasxos/cpp26-adapter) 🐍 🏠 🍎 πŸͺŸ 🐧 - C++26 paper reference MCP (cpp26-ref) backing a Claude Code plugin:...

README.md

cpp26-adapter

Turn your LLM coding assistant into a C++26 specialist. A Claude Code plugin (and standalone MCP server) that biases generation toward ISO/IEC 14882:2026 final-form idioms β€” reflection, contracts, senders, inplace_vector, #embed β€” even when your local clang hasn't caught up.

![ci](https://github.com/parasxos/cpp26-adapter/actions/workflows/ci.yml) ![version](https://github.com/parasxos/cpp26-adapter/releases/tag/v1.0.0) ![pypi](https://pypi.org/project/cpp26-ref/) ![eval-brightgreen)](eval/results-v0.9.1.md) ![bar](eval/results-v0.9.1.md) ![standard](https://www.iso.org/standard/83626.html) ![code license](LICENSE-CODE)

Quick Start

Full plugin (Claude Code β€” skill + MCP + reviewer + hooks + slash command):

/plugin marketplace add parasxos/claude-plugins
/plugin install cpp26-adapter@parasxos/claude-plugins

MCP server only (any MCP-compatible client):

pip install cpp26-ref

What it does

Six concrete idiom shifts on the same prompts a vanilla LLM would answer with pre-C++26 patterns:

| You ask for… | Vanilla LLM emits | cpp26-adapter emits | |---|---|---| | enum β†’ string | X-macros / magic_enum | std::meta::enumerators_of(^^E) + template for | | precondition | assert(x > 0) | pre(x > 0) / contract_assert(...) | | async pipeline | std::async(...) | ex::just \| ex::then \| ex::sync_wait | | fixed-capacity vector | boost::static_vector | std::inplace_vector<T, N> | | embed binary asset | objcopy / xxd / incbin | #embed "asset.bin" | | Nth pack element | std::get<N>(std::forward_as_tuple(args...)) | args...[N] |

The hook β€” ask for "enum to string"

Vanilla falls back to X-macros. With cpp26-adapter β€” straight from P2996 reflection + P1306 expansion statements:

template <typename E> requires std::is_enum_v<E>
constexpr std::string_view enum_name(E v) {
    template for (constexpr auto e :
                  std::define_static_array(std::meta::enumerators_of(^^E))) {
        if (v == [: e :]) return std::meta::identifier_of(e);
    }
    return "<unknown>";
}

No macros. No third-party dep. No codegen. More side-by-side examples (contracts, senders, #embed): docs/examples.md.

Compatible clients

| Client | Recommended path | |---|---| | Claude Code | /plugin install (full plugin: skill + MCP + reviewer + hooks) | | Claude Desktop | cpp26-ref MCP server via stdio (config below) | | Cursor | cpp26-ref MCP server via stdio | | VS Code (Cline / Continue) | cpp26-ref MCP server via stdio | | Any other MCP client | cpp26-ref MCP server via stdio |

Configuration

Claude Code

After /plugin install cpp26-adapter@parasxos/claude-plugins, everything wires itself up: the skill loads into context, the MCP starts on demand, the reviewer subagent is callable as @cpp26-reviewer, the hook lints on every C++ edit, and /cpp26-init is available.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "cpp26-ref": {
      "command": "cpp26-ref"
    }
  }
}

Requires pip install cpp26-ref on a Python (β‰₯3.11) reachable from the Claude Desktop process.

Cursor / VS Code / generic MCP client

{
  "mcpServers": {
    "cpp26-ref": { "command": "cpp26-ref" }
  }
}

Verify the install

After install + restart, three sanity checks:

  1. Ask the assistant "write enum-to-string for enum class E { A, B }" β€” the response should use std::meta reflection, not X-macros or magic_enum.
  2. (Full plugin only) Run @cpp26-reviewer src/foo.cpp β€” should return a YAML report with status: pass | needs-changes | compiler-lag-only.
  3. (Full plugin only) Run /cpp26-init in an empty directory β€” the scaffolded CMakeLists.txt should build a #include <print> + std::print("hi\n") hello-world.

MCP tools

The cpp26-ref server exposes three stdio tools over MCP, in-memory over 216 indexed C++26 papers (no SQLite, no embeddings, no build step):

| Tool | Signature | Returns | |---|---|---| | lookup_paper | (paper_id: str) β€” e.g. "P2996" | Full reference: title, problem statement, key syntax, canonical example, pre-C++26 equivalent, gotchas, related papers | | search | (query: str, limit: int = 5) | Top-N papers ranked by rapidfuzz partial-ratio against title + frontmatter | | compiler_status | (paper_id: str) | Per-compiler implementation status: none/partial/shipped Γ— clang / gcc / msvc / clang-p2996 with version cutoffs |

Cold start ~352 ms. 17 tests pass under pytest mcp-server/tests.

Use cases

Generate idiomatic C++26 code. Ask for new code β€” the skill biases the model toward the C++26 idiom before generation, so you get pre(...) instead of assert(...), std::execution instead of std::async, reflection instead of X-macros, without re-prompting.

Review existing code for C++26 modernization. Run @cpp26-reviewer src/foo.cpp β€” the subagent runs a two-pass review: regex anti-patterns first, then clang -std=c++2c -fsyntax-only, classifying each diagnostic as compiler-lag (paper adopted, compiler incomplete) or bug (genuine code error). You see both axes side by side.

Initialize a new C++26 project. Run /cpp26-init β€” scaffolds CMakeLists.txt (CXX_STANDARD 26, -std=c++2c, CMAKE_EXPORT_COMPILE_COMMANDS ON), .clangd, and .cpp26-adapter.yaml.

Get authoritative paper references. The lookup_paper MCP tool returns the canonical paper text β€” useful when you need to cite or quote a paper, or when you want the LLM to ground its answer in the actual proposal rather than its (often stale) training data.

The invariant

Recommendations follow the standard, not the toolchain. If clang < 22 / gcc < 16 haven't shipped a feature, the plugin still suggests the C++26 form. Compiler errors are surfaced as compiler-lag or bug β€” never auto-rewritten into a pre-C++26 workaround.

The suggestion path (skill + MCP) is compiler-agnostic; compiler awareness lives only in the reviewer's Pass-2 syntax check and the SessionStart probe. Full architecture diagram: docs/architecture.md.

Eval

37/39 (95%) with plugin ON vs 14/39 (36%) OFF on a 39-task held suite; bar β‰₯85%. Per-task scoring + methodology: eval/results-v0.9.0.md, docs/papers.md.

Status

v1.0.0 β€” eval gate held across two successive refreshes. The MCP tool signatures, the subagent's output schema, and the standard-first invariant are contract-binding for the 1.x line.

License

Dual-licensed by directory:

See also

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Search servers.