惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

NISL@THU
NISL@THU
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
U
Unit 42
腾讯CDC
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
V
Visual Studio Blog
C
Check Point Blog
N
Netflix TechBlog - Medium
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
人人都是产品经理
人人都是产品经理
Google DeepMind News
Google DeepMind News
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
News and Events Feed by Topic
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
Cyberwarzone
Cyberwarzone
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
Recorded Future
Recorded Future
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
E
Exploit-DB.com RSS Feed
V
V2EX
S
Security Affairs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
IT之家
IT之家
爱范儿
爱范儿
小众软件
小众软件
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
The Cloudflare Blog
Cloudbric
Cloudbric
L
Lohrmann on Cybersecurity
H
Hacker News: Front Page
C
Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Webroot Blog
Webroot Blog
月光博客
月光博客

Show HN

Release v1.3.0 — AI-Powered Migration Explanation & Migrations Folder Support · migradiff/migra Show HN: HumanForScale – See how big things are DropLock Show HN: Ego lite – why our browser agent writes JavaScript not CLI commands Extend AI · sound like you, everywhere SnapState — Your workspace, perfected. Helios. Is plug-in solar worth it? GitHub - riddleling/docOCR: macOS CLI and HTTP OCR tool for converting document images to Markdown. Geostakes — Stake. Guess. Win. Show HN: AI-org – org-mode powered by AI GitHub - PepperDev/totpgate: Lightweight SPA TOTP port knocking daemon GitHub - ppnpm/clinlang: Shorthand writing for doctors. Write shortly and later convert into structured case documentations. cartographer-skill/skills/cartographer/SKILL.md at main · spinchange/cartographer-skill GitHub - schildep/verified-polygon-intersection: Formally verified polygon intersection FreeCal — calendars for your organisation Show HN: Self Publish Studio Owl VIP Email Alerts | Gmail Notifications for Specific Senders 1 Million Pixels Show HN: [Geo-Cast] hear what other people are saying ClawChat GitHub - migradiff/migra: The actively maintained fork of migra — PostgreSQL schema diff and migration script generator. vibebnb · bring back Airbnb's vibe filters GitHub - jmaczan/tiny-vllm: Build your own high performance LLM inference engine in C++ and CUDA - a smaller version of vLLM Reposeek - Find the repo to build on GitHub - hunvreus/heypi: Chat agents for your team, with approvals and sandboxed tools. Slack, Discord, Telegram, webhooks. Show HN: Heirlooms – pass your legacy to family after stop breathing Show HN: I launched a micro-gig marketplace and used it to buy my own GTM plan Show HN: AionOS – self-healing microkernel in Zig (boots on real hardware) GitHub - njbrake/dotpi: My ds4 + pi configuration for success Sverklo - Repo Memory for Coding Agents GAIA Atlas - Local Stellar Map GitHub - joshduffy/claude-handoff-guard: Hook-enforced ownership for AI coding session handoffs Prezlo — The AI Visibility Platform for Professionals GitHub - kenm47/nvEnvy: Fast, keyboard-driven note-taking app for macOS — a modern rebuild of nvALT in Swift/SwiftUI. vibewarz — bot-vs-bot arena Inkfeed TV Explorer — 10,000 Free TV Channels Oort — The prompt stack solo devs ship with GitHub - Bella3202019/promptloop: Claude Code for prompt eval Stefan Le Noach Show HN: A smarter CSS selector generator Phoenix Code - Free Open Source Code Editor | Successor to Brackets Korean OEM/ODM Manufacturer Sourcing Platform | OEMKorea GitHub - OWASP/www-project-agent-memory-guard: OWASP Foundation web repository GitHub - fynyky/elemental: Simple reactive front-end library HolaClaw: run OpenClaw securely in Mac Semiconductor Review GitHub - vaddisrinivas/tab-council: Chrome MV3 extension that turns AI tabs into a structured model council Stillis - The Social Stock Market OpenHive — Agents working together Repolog — SEO, Performance, Security & AI Readiness audits Integuru - Generate fast, reliable APIs for any platform JobTrue — Your home base for the job search. LocalizeASO - ASO Localization for App Store Screenshots and Metadata RFC Reader — search & read IETF RFCs Kotlin Stdlib API Search — Autocomplete & Doc Reference KeptWell — Your family's medical binder, replaced. Cliparr | Self-hosted video clipper for Plex, Jellyfin, and local files. GitHub - glebmish/claude-code-replay: Replay Claude Code session logs to reconstruct lost project files, commit by commit. One Tile GitHub - aavilagallego/TheFoundry: The Foundry is a User Friendly - Enterprise Ready Multi-Agent System (MAS) bootstrapping framework. Monitoring | Firecrawl EverFree — Free, GitHub-backed notes Show HN: Orbital Package System (Ops) Free Furigana Converter: Kanji to Hiragana | EZFurigana How I built Ensemble · Brutal Cut Claude Code Costs ~50% Without Quality Loss | Headroom GitHub - stateflow-dev/adaptive-runtime: Adaptive Runtime Layer for Stateful AI Systems Show HN: Artwork in the style of Mark Rothko GitHub - fayazara/Screendrop: A native macOS menu bar app for taking screenshots, recording the screen, annotating captures, and sharing them when needed. It is built for a fast local workflow: capture something, preview it immediately, mark it up, save it, copy it, or upload it from the same floating preview. deepface.dev GitHub - gitricko/hermes-webtop: An agent that grows with you Sensonym - Forget Flashcards, Learn Languages by Doing Steam 上的 Code: Terraform GitHub - Thinklanceai/agentkeeper: Crash-resistant cognitive continuity for AI agents — checkpoint/restore, cross-model state reconstruction, semantic recall, and compression. Your agent survives crashes, restarts, and model switches. Tap — The browser with no tabs. Blinken · Bring back the blink GitHub - remontsuri/EV-QA-Framework: ML-powered QA framework for EV battery systems — telemetry validation, anomaly detection, SOH prediction, CAN bus (2.0B + J1939) emulation, DBC parser, Prometheus metrics, Grafana dashboard Show HN: Sixbpm – a free thing that slows your breathing down MapZap — 300 Local Business Leads in 60 Seconds Alphaset - Organic data, expert-grown Show HN: OSSentinel.live – AI-powered open source security monitoring Show HN: Claude Code AskUserQuestion which works for subagents/teams/workflows GitHub - SharkUI/SharkBay: SharkBay is a local-first macOS workbench for software projects. It helps you keep a set of local repositories visible, open project-scoped terminals and browser tabs, inspect Git state, and coordinate agent work through local Markdown task records. GitHub - doiito/gliding_horse: Gliding Horse is a multi-agent orchestration framework built in Rust that supports PDCA scheduling and knowledge graph-based agents, with comprehensive Chinese documentation, and is suitable for building enterprise-level AI agent systems. GitHub - 0xJaksun/lithium-core: Storage engine for AI agents to navigate, store, and retrieve structured data. PostgreSQL ltree, built-in versioning, scoped queries. GitHub - GiorgosXou/MLPico: Static-allocation MLP inference in ANSI C using 2-slot circular buffer with fixed stride indexing. An easy to use, minimal MLP alternative to GiorgosXou/NeuralNetworks enhanced with PROGMEM, int-quantization etc. GitHub - skorotkiewicz/acp-p2p: A P2P (POC) of the ACP for decentralized agent communication GitHub - yeet-src/airtop: htop for the airwaves — a live 802.11 (Wi-Fi) RF dashboard in your terminal GitHub - tamarillo-ai/theta-spec: harness agnostic configuration standard Show HN: DRD – Git for distributed consensus failures" GitHub - Heidar-An/Mira: Search for files semantically - no exact filenames required. GitHub - djadmin/fort: macOS CLI: endpoint security audit + SOC 2 readiness reports GitHub - exlee/rik: rik - limited agent edition Pieces | The pre-information market GitHub - jmilinovich/grove: Open-source MCP server over a git-backed Obsidian vault. Single-user, self-host. Six tools, hybrid search, provenance/blame, auto-link discovery. GitHub - Astralchemist/rig: Local-first semantic knowledge graph with magnetic-pull retrieval GitHub - sediman-agent/OpenSkynet: Your 24/7 Terminator CSP Radar GitHub - wartzar-bee/tokenscope: See what your AI-coding session actually cost — and what is eating your context. Local, read-only CLI for Claude Code.
GitHub - believer-oss/Claireon: MCP server for Unreal Editor
karl_gluck · 2026-06-17 · via Show HN

Model Context Protocol server for Unreal Editor automation

License: MIT Unreal Engine 5 Platform: Win64 MCP: Streamable HTTP Status: Beta


Claireon is an Unreal Engine editor plugin that runs a Model Context Protocol (MCP) server inside the editor, exposing hundreds of editor automation tools for AI-assisted development workflows behind a deliberately small MCP surface (tool_search + python_execute). It enables AI assistants like Claude Code to read, search, inspect, and edit Unreal assets directly.

Features

  • Hybrid Tool Discoverytool_search ranks the full tool catalog with SQLite FTS5 + a vendored embedding model, so agents find the right tool without a giant tool list
  • Blueprint Editing — Read and modify Blueprint graphs, properties, components, and connections
  • Animation Authoring — Anim sequences, montages, notifies, blend spaces/aim offsets, and AnimBP graphs
  • State Tree Editing — Inspect and edit State Tree assets, nodes, and runtime state
  • Behavior Tree & EQS — Inspect and edit Behavior Trees, Blackboards, and Environment Query Systems
  • Widget Blueprint Editing — Read and modify UMG widget hierarchies and animations
  • Niagara & PCG — Inspect and edit Niagara particle systems and PCG graphs
  • Data Tables — Full CRUD operations on Data Table assets with CSV/JSON import/export
  • Audio & MetaSounds — Sound placement, attenuation, audio components, and MetaSound inspection
  • Sequences, Cameras & More — Level Sequences (incl. actor rebinding), camera assets, chooser/proxy tables, gameplay tags, Enhanced Input, landscape/terrain
  • Asset Management — Search, list, validate, resave, cook, and fix up redirectors
  • PIE Integration — Start/stop Play-In-Editor, query actors, spawn enemies, test abilities, take screenshots
  • Trace Analysis — Open and analyze Unreal Insights trace files for performance profiling
  • Blueprint Diffing — Compare Blueprint and State Tree assets between revisions
  • Python Execution — Run arbitrary Python scripts in the editor with audit logging
  • Built-in REPL — In-editor AI chat assistant with Claude integration (optional)
  • Session Management — Exclusive-per-asset locking with automatic timeout cleanup

Requirements

  • Unreal Engine 5.x (tested with 5.5+)
  • Windows (Win64) — other platforms may work but are untested
  • Python 3 plugin enabled in the editor
  • Claude Code or any MCP-compatible client

Installation

As a Plugin (recommended)

  1. Clone this repository directly into your project's Plugins/ folder (the plugin lives at the repository root): git clone <repo-url> Plugins/Claireon
  2. Regenerate project files and build
YourProject/
  Plugins/
    Claireon/
      Claireon.uplugin
      Source/
      Content/
      ...
  1. Enable the plugin in the editor under Edit > Plugins > Claireon

Starting the Server

The MCP server can be started in two ways:

  • Command line: Launch the editor with -StartMCPServer to auto-start on load
  • Toolbar button: Click the Claireon button in the editor toolbar to open the Claireon panel, which also starts the server

The server binds a deterministic per-worktree port: SHA-256 of the canonicalized project root, folded into the ephemeral range 49152-65535. Every checkout gets a stable, collision-free port with no configuration, and multiple worktrees on one machine never fight over a shared default. The live port and PID are written to Saved/Claireon/MCPServer.json on startup. -MCPServerPort=<port> remains as a developer escape hatch to force a specific port.

Optional MCP proxy

For workflows where the editor restarts often (rebuilds, crashes, live-coding reloads), an optional always-on proxy (Content/Python/claireon_proxy.py, run with UE's vendored Python) can front the editor: Claude Code stays connected to the worktree's deterministic port while editors come and go behind it. Opt in with -EnableMCPProxy on the command line, or via Editor Preferences > Plugins > Claireon > MCP Proxy > Enable MCP Proxy (off by default). When enabled, the proxy holds the worktree port, and the editor binds an ephemeral port and registers with the proxy; editor ingress is then gated by a per-session bearer token so the proxy is the sole entry point. A single proxy instance serves all worktrees on the machine (registration port 43017). Even with the setting off, an editor that finds its port already held by a Claireon proxy auto-promotes into proxy-attached mode.

The proxy can also run without any editor: Scripts/Utilities/Start-MCPProxy.ps1 spawns (or attaches to) the singleton and binds the current worktree's port, no Unreal launch required. Editor-less, the proxy serves the proxy meta-tool and the file-backed prompts (e.g. workflow) directly from disk; tool_search and python_execute answer once an editor registers (start one from the client with proxy(command='launch_editor')).

Connecting Claude Code

Once the server is running, configure Claude Code to connect. Take the port from Saved/Claireon/MCPServer.json -- it is stable for a given checkout path, so the config can be committed to your project's .mcp.json once and forgotten:

{
  "mcpServers": {
    "claireon": {
      "type": "http",
      "url": "http://127.0.0.1:<port>/mcp"
    }
  }
}

The MCP surface is intentionally two tools: tool_search to discover what is available, and python_execute to run editor Python (where every catalog tool is callable as claireon.<tool_name>(...)). Discover tools with:

> tool_search blueprint
> tool_search state tree
> tool_search(tool_name="bp_apply_delta")   # full detail for one tool

One-click launch from the editor

Once the plugin is loaded, open the Claireon panel (toolbar button, or Window > General > Miscellaneous > Claireon); its status strip exposes a Claude Code launch button (toggleable via the Show Claude Code Button setting). Clicking it:

  1. Resolves the live MCP server port (from the in-process server, falling back to Saved/Claireon/MCPServer.json).
  2. Writes a per-launch MCP config to Saved/Claireon/claude-code-mcp.json so the committed .mcp.json stays untouched.
  3. Spawns a PowerShell window at the project root and runs claude --mcp-config <path> against that config. On Windows 11 with Windows Terminal as the default console host, the new window automatically opens in Terminal.

Two optional settings under Editor Preferences > Plugins > Claireon > Claude Code Launch let teams customize the flow:

  • Initial Prompt — string sent to Claude Code on launch (typically a slash command like /mcp-connect-claireon to auto-fire a project-specific init skill). Empty by default.
  • Skip Permission Prompts on Launch — when true, passes --dangerously-skip-permissions so the initial-prompt skill can run unattended. Off by default.

Project-wide defaults can be committed via Config/DefaultEditorPerProjectUserSettings.ini:

[/Script/Claireon.ClaireonSettings]
LaunchInitialPrompt=/mcp-connect-claireon
bLaunchSkipPermissions=True

First-run requirements (per machine):

Optional Dependencies

Claireon works standalone, but can integrate with these plugins when present:

Plugin Purpose Detection
Untested Unit test framework for Claireon's test suite Optional plugin dependency
BlueprintAssist Enhanced Blueprint editor integration Optional plugin dependency
LyraGame Lyra framework init state checking in PIE tools Auto-detected via filesystem

Architecture

<repository root>/
  Source/Claireon/
    Public/
      ClaireonModule.h          # Module entry point, server lifecycle
      ClaireonServer.h          # HTTP server, JSON-RPC dispatch
      ClaireonSessionManager.h  # Per-asset exclusive locking
      IClaireonToolProvider.h   # Modular-feature interface for external tool providers
      Tools/
        IClaireonTool.h         # Tool interface — implement this to add tools
    Private/
      Tools/                    # Tool implementations (hundreds of operations)
      Tests/                    # Unit tests (requires Untested)
  Content/
    Python/                     # Multi-worktree MCP proxy (claireon_proxy.py)
    MCP/Instructions/           # Instruction documents served as MCP resources
  Resources/
    Models/                     # Vendored bge-small-en-v1.5-int8 embedding model (MIT)

Registering External Tools

Other modules contribute tools without including server internals by implementing the modular-feature provider interface:

#include "IClaireonToolProvider.h"
#include "Tools/IClaireonTool.h"

class FMyToolProvider : public IClaireonToolProvider
{
public:
    TArray<TSharedPtr<IClaireonTool>> GetTools() const override;
    FName GetProviderName() const override { return TEXT("MyPlugin"); }
};

// In your module's StartupModule():
IModularFeatures::Get().RegisterModularFeature(IClaireonToolProvider::FeatureName, &MyProvider);

Providers are discovered at server start and dynamically as they register/unregister at runtime. A provider can also extend bare-name resolution with project-specific module names and class-prefix conventions via the optional GetKnownModules() / GetClassPrefixMap() overrides. For one-off registrations, FClaireonModule::Get().RegisterExternalTool() also works; tools registered before the server starts are queued and flushed on startup.

Development

Building

Claireon builds as a standard Unreal Engine editor plugin. No special build steps are required beyond the usual:

# Generate project files (if using a .uproject)
UnrealBuildTool -projectfiles -project="YourProject.uproject" -game -engine

# Build
UnrealBuildTool YourProjectEditor Win64 Development -project="YourProject.uproject"

Adding a New Tool

  1. Create a class implementing IClaireonTool (see Tools/IClaireonTool.h)
  2. Implement GetCategory(), GetOperation(), GetDescription(), GetInputSchema(), and Execute() — the tool name is always <category>_<operation> (GetName() is sealed)
  3. Register it with the built-in provider in ClaireonModule.cpp (or via your own IClaireonToolProvider if it lives in another module)
class MyTool : public IClaireonTool
{
public:
    FString GetCategory() const override { return TEXT("custom"); }
    FString GetOperation() const override { return TEXT("my_tool"); }   // name: "custom_my_tool"
    FString GetDescription() const override { return TEXT("Does something useful"); }

    TSharedPtr<FJsonObject> GetInputSchema() const override
    {
        auto Schema = MakeShared<FJsonObject>();
        Schema->SetStringField(TEXT("type"), TEXT("object"));
        // ... define properties
        return Schema;
    }

    FToolResult Execute(const TSharedPtr<FJsonObject>& Arguments) override
    {
        // Your implementation here
        auto Data = MakeShared<FJsonObject>();
        Data->SetStringField(TEXT("result"), TEXT("success"));
        return MakeSuccessResult(Data, TEXT("Tool completed successfully"));
    }
};

Scripts

The Scripts/ directory contains PowerShell utilities and Claude Code instruction documents for working with Unreal Engine projects.

Utility Scripts (Scripts/Utilities/)

PowerShell scripts for common Unreal Engine development tasks. All scripts auto-detect the project and engine location — run them from anywhere inside your project directory.

Script Purpose
Invoke-EditorBuild.ps1 Build the editor (auto-detects target from .uproject)
Invoke-GenerateProjectFiles.ps1 Generate VS project files and clang compilation database
Invoke-ValidateAssets.ps1 Validate asset integrity via ResavePackages
Invoke-ResaveAssets.ps1 Resave specific assets via editor Python automation
Invoke-FixupRedirectors.ps1 Fix up asset redirectors after moves/renames
Invoke-CleanProject.ps1 Clean build artifacts (Binaries, Intermediate, etc.)
Start-MCPProxy.ps1 Start (or attach to) the MCP proxy singleton without launching an editor
Get-GitUsername.ps1 Extract git username from email for branch naming
Wait-UBT.ps1 Wait for UnrealBuildTool to finish before proceeding

The shared module ClaireonCommon.psm1 provides core functions used by all scripts: Find-UnrealProject, Find-UnrealEngine (SHA-aware custom engine detection), Get-EditorBuildTarget, Invoke-UnrealCommandlet, and more.

Instruction Documents (Scripts/Instructions/)

Markdown documents that serve as structured prompts for AI assistants (e.g., Claude Code). Each document describes a multi-step workflow that an AI agent can follow autonomously. Invoke them by asking your AI assistant to follow the instructions in a specific file.

Git Workflows:

  • AutoPushChangesAsNewBranch.md — Move local changes to a new branch with standardized naming
  • CleanupBranchesAfterMerge.md — Rebase all local branches onto main after merges
  • ResetWorktreeToMain.md — Park current branch and reset to latest main

Unreal Engine Workflows:

  • ConnectToUnrealEditorMCP.md — Connect Claude Code to the MCP server in the editor
  • FixDeprecatedBlueprintAPIs.md — Parse editor logs for deprecated API warnings
  • FixNaniteMaterialCompatibility.md — Identify Nanite/material incompatibility issues
  • FixDuplicateGameplayCueTags.md — Find duplicate GameplayCue tag registrations
  • ResaveAssetsWithLoadErrors.md — Resave assets with broken references
  • UnrealPythonPatterns.md — Quick reference for correct Unreal Python API patterns
  • PSD-to-UMG-Workflow.md — Convert Photoshop PSD designs into UMG widget blueprints

Development Workflows:

  • BreakDownWorkProposal.md — Break a proposal into skeleton-test-implement stages
  • CheckDocumentationStaleness.md — Scan HTML docs for staleness vs. source files
  • VerifyTestBehavior.md — Walk through test cases and verify intended behavior

Documentation Generation:

  • CreateInteractiveArchitecture.md — Generate interactive SVG architecture diagrams
  • CreateInteractivePipelineDiagram.md — Generate interactive pipeline stage diagrams

Security Considerations

Claireon runs an unauthenticated HTTP server on localhost (127.0.0.1). This is by design for seamless local AI assistant integration, but you should be aware of the implications:

  • Never expose the MCP port externally. Do not use port forwarding, reverse proxies, or tunnels to make the server (or the Claireon proxy, ports 43017 and 49152-65535) accessible from other machines.
  • Python execution is unrestricted. The python_execute tool has full access to the filesystem, network, and editor APIs — equivalent to the editor's built-in Python console.
  • Execution timeout is best-effort. A watchdog injects a TimeoutError between Python bytecodes after Python Execution Timeout (default 60 s, settable in Editor Preferences); a blocking native call is not interrupted mid-call, and the error surfaces only when it returns to Python.
  • No authentication. Any process on localhost can call the MCP server. (In proxy mode the editor itself only accepts proxy traffic carrying a per-session bearer token, but the proxy's own MCP endpoint is equally unauthenticated on localhost.)

For full details, see SECURITY.md.

License

This project is licensed under the MIT License — see the LICENSE file for details.

Third-party dependencies retain their own licenses. The vendored embedding model ships with its license at Resources/Models/bge-small-en-v1.5-int8/LICENSE.txt.