High Risk →

project

Project status, config INI files, and C++ source inspection. Actions: - get_status: Check server mode and editor connection - set_project: Switch project. Params: projectPath - get_info: Read .uproject file details - read_config: Read INI config. Params: configName (e.g. 'Engine', 'Game') - sear...

Accepts freeform code/query input (query); Accepts file system path (directory); Accepts raw HTML/template content (content); High parameter count (27 properties)

Part of the Ue MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

ue-mcp Execute Risk 5/5

AI agents invoke project to trigger processes or run actions in Ue. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.

project can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. Intercept enforces rate limits and validates arguments to keep execution within safe bounds.

Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.

ue.yaml
tools:
  project:
    rules:
      - action: allow
        rate_limit:
          max: 10
          window: 60
        validate:
          required_args: true

See the full Ue policy for all 20 tools.

Tool Name project
Category Execute
MCP Server Ue MCP Server
Risk Level High

View all 20 tools →

Agents calling execute-class tools like project have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Execute risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.

project is one of the high-risk operations in Ue. For the full severity-focused view — only the high-risk tools with their recommended policies — see the breakdown for this server, or browse all high-risk tools across every MCP server.

What does the project tool do? +

Project status, config INI files, and C++ source inspection. Actions: - get_status: Check server mode and editor connection - set_project: Switch project. Params: projectPath - get_info: Read .uproject file details - read_config: Read INI config. Params: configName (e.g. 'Engine', 'Game') - search_config: Search INI files. Params: query - list_config_tags: Extract gameplay tags from config - read_cpp_header: Parse a .h file. Params: headerPath - read_module: Read module source. Params: moduleName - list_modules: List C++ modules - search_cpp: Search .h/.cpp files. Params: query, directory? - read_engine_header: Parse a .h file from the engine source tree. Params: headerPath (relative to Engine/Source, or absolute) - find_engine_symbol: Grep engine headers for a symbol. Params: symbol, maxResults? - list_engine_modules: List modules in Engine/Source/Runtime - search_engine_cpp: Search engine .h/.cpp/.inl files across Runtime/Editor/Developer/Plugins. Params: query, tree? (Runtime|Editor|Developer|Plugins|all — default Runtime), subdirectory?, maxResults? (default 500) - set_config: Write to INI. Params: configName, section, key, value - build: Build C++ project. Params: configuration?, platform?, clean? - generate_project_files: Generate IDE project files (Visual Studio, Xcode, etc.) - create_cpp_class: Create a new native UCLASS in a project module. Uses the same engine template path as File → New C++ Class. Writes .h + .cpp; returns both paths plus needsEditorRestart (true unless Live Coding successfully hot-reloaded). Params: className (no prefix), parentClass? (default UObject; accepts short names like 'Actor' or /Script/<Module>.<Class> paths), moduleName? (default: first project module, use list_project_modules to pick), classDomain? ('public'|'private'|'classes', default public), subPath? - list_project_modules: List native modules in the current project (name, host type, source path). Feed moduleName from here into create_cpp_class. - live_coding_compile: Trigger a Live Coding compile (Windows only). Hot-patches method bodies of existing UCLASSes without editor restart — the fast inner loop for UFUNCTION implementations. Does NOT reliably register brand-new UCLASSes; use build_project + editor restart for those. Params: wait? (default false — fire and return 'in_progress'). - live_coding_status: Report Live Coding availability/state (available, started, enabledForSession, compiling). Helps choose between live_coding_compile and build_project. - write_cpp_file: Write a .h / .cpp / .inl file under the project's Source/ tree. Used to append UPROPERTYs/UFUNCTIONs or method bodies after create_cpp_class. Writes are scoped to Source/ for safety. Params: path (relative to Source/ or absolute within Source/), content (full file contents). After editing, call live_coding_compile (for existing classes) or build_project (for new classes). - read_cpp_source: Read a .cpp file from the project Source/ tree. Companion to read_cpp_header for round-trip edits. Params: sourcePath (relative to Source/ or absolute). - add_module_dependency: Add a module to a target module's Build.cs dependency array. Params: moduleName (the Build.cs to edit — must exist in the project), dependency (module name to add, e.g. 'UMG'), access? ('public'|'private', default 'private'). Creates the corresponding AddRange block if missing. Rebuild required afterward.. It is categorised as a Execute tool in the Ue MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on project? +

Add a rule in your Intercept YAML policy under the tools section for project. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Ue MCP server.

What risk level is project? +

project is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit project? +

Yes. Add a rate_limit block to the project rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block project completely? +

Set action: deny in the Intercept policy for project. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides project? +

project is provided by the Ue MCP server (ue-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Ue

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.