Skip to content

feat: MCP Remote Control via devbench#2448

Draft
SkrubbySkrubInAShrub wants to merge 3 commits into
community-shaders:devfrom
SkrubbySkrubInAShrub:mcp-devbench
Draft

feat: MCP Remote Control via devbench#2448
SkrubbySkrubInAShrub wants to merge 3 commits into
community-shaders:devfrom
SkrubbySkrubInAShrub:mcp-devbench

Conversation

@SkrubbySkrubInAShrub
Copy link
Copy Markdown
Collaborator

@SkrubbySkrubInAShrub SkrubbySkrubInAShrub commented Jun 1, 2026

Summary

Adds a new Remote Control CORE feature that lets AI assistants (Claude Code, Cursor, Continue, etc.) query and mutate runtime state for A/B testing and performance investigation — via the external devbench SKSE plugin over its cross-plugin C-ABI.

Cherry-picked from alandtse/open-shaders: #27, #62, #66.

Changes

feat(remote-control): add MCP server core feature (#27)

  • New RemoteControl CORE feature, off by default, appears under Core Features → Utility in the in-game menu
  • Wires GetSingleton, DataLoaded, DrawSettings, and global registration into Globals.h

feat(mcp): shader recompile observability (#62)

  • New inspect(kind='shadercache') tool returning { compiling, completedTasks, totalTasks, failedTasks, currentFailedCount, frame_count } — poll to confirm hot-reloaded shaders finished (or failed) recompiling without log-diving
  • Tracy TracyMessage / TracyMessageC annotations at shader compile completion, #ifdef TRACY_ENABLE-guarded
  • Decoupled via ShaderCompileStatus.h to avoid a using namespace std::chrono leakage from ShaderCache.h into vendored httplib headers

feat(mcp): integrate devbench (#66)

  • Drops the embedded cpp-mcp server; registers openshaders.* tools into the standalone devbench host via DevBenchBridge over the DevBenchAPI C-ABI
  • Gated behind option(DEVBENCH_BRIDGE ON) (default on); -DDEVBENCH_BRIDGE=OFF compiles to a no-op stub with no added dependency
  • devbench-api is a self-contained vcpkg overlay port under cmake/ports/devbench-api
  • RemoteControl.cpp is now a ~120-line read-only status panel reporting devbench host presence, bound port (polled from devbench/runtime.json every 2s), and the registered tool list

Tools exposed through devbench

Tool Operations
openshaders.feature list / get / set / reset / toggle features
openshaders.inspect engine state, shader-cache status
openshaders.shadercache clear / delete compiled cache
openshaders.capture RenderDoc / screenshot capture
openshaders.settings save / load / reset global config

Console passthrough is provided by devbench itself.

Notes

  • Requires the devbench SKSE plugin to be installed; degrades gracefully (status panel only) when the host isn't present
  • No in-game server is hosted by this plugin — devbench owns the MCP/REST transport

alandtse and others added 3 commits June 1, 2026 11:16
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 1, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b2049294-8757-40a8-a13e-4c9d72689d20

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 1, 2026

No actionable suggestions for changed features.

@SkrubbySkrubInAShrub
Copy link
Copy Markdown
Collaborator Author

waiting for 1 more commit

@SkrubbySkrubInAShrub
Copy link
Copy Markdown
Collaborator Author

also need to rebrand everything back to CS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants