ue-mcp 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/flow/loader.d.ts +17 -1
- package/dist/flow/loader.js +14 -1
- package/dist/flow/loader.js.map +1 -1
- package/dist/flow/schema.d.ts +33 -0
- package/dist/flow/schema.js +9 -0
- package/dist/flow/schema.js.map +1 -1
- package/dist/index.js +159 -31
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.js +3 -0
- package/dist/instructions.js.map +1 -1
- package/dist/plugin/injection.d.ts +37 -0
- package/dist/plugin/injection.js +66 -0
- package/dist/plugin/injection.js.map +1 -0
- package/dist/plugin/loader.d.ts +65 -0
- package/dist/plugin/loader.js +291 -0
- package/dist/plugin/loader.js.map +1 -0
- package/dist/plugin/manifest.d.ts +233 -0
- package/dist/plugin/manifest.js +112 -0
- package/dist/plugin/manifest.js.map +1 -0
- package/dist/plugin/resolver.d.ts +17 -0
- package/dist/plugin/resolver.js +49 -0
- package/dist/plugin/resolver.js.map +1 -0
- package/dist/plugin/version.d.ts +16 -0
- package/dist/plugin/version.js +42 -0
- package/dist/plugin/version.js.map +1 -0
- package/dist/plugin-cli.d.ts +2 -0
- package/dist/plugin-cli.js +439 -0
- package/dist/plugin-cli.js.map +1 -0
- package/dist/tool-counts.json +7 -6
- package/dist/tools/plugins.d.ts +2 -0
- package/dist/tools/plugins.js +65 -0
- package/dist/tools/plugins.js.map +1 -0
- package/dist/tools.js +2 -0
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UE-MCP
|
|
2
2
|
|
|
3
|
-
**Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->
|
|
3
|
+
**Unreal Engine Model Context Protocol Server** - gives AI assistants deep read/write access to the Unreal Editor through <!-- count:tools -->21<!-- /count --> category tools covering <!-- count:actions -->524+<!-- /count --> actions, plus a YAML flow engine for multi-step workflows.
|
|
4
4
|
|
|
5
5
|
```mermaid
|
|
6
6
|
flowchart LR
|
|
@@ -57,7 +57,7 @@ If you prefer to configure manually, add to your MCP client config:
|
|
|
57
57
|
|
|
58
58
|
- [Getting Started](https://db-lyon.github.io/ue-mcp/getting-started/) — Installation, configuration, first run
|
|
59
59
|
- [Architecture](https://db-lyon.github.io/ue-mcp/architecture/) — How the pieces fit together
|
|
60
|
-
- [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->
|
|
60
|
+
- [Tool Reference](https://db-lyon.github.io/ue-mcp/tool-reference/) - All <!-- count:tools -->21<!-- /count --> tools with <!-- count:actions -->524+<!-- /count --> actions
|
|
61
61
|
- [Flows](https://db-lyon.github.io/ue-mcp/flows/) - YAML flow engine, custom tasks, rollback, hooks
|
|
62
62
|
- [Configuration](https://db-lyon.github.io/ue-mcp/configuration/) — `.ue-mcp.json` and MCP client config
|
|
63
63
|
- [Neon Shrine Demo](https://db-lyon.github.io/ue-mcp/neon-shrine-demo/) — Interactive guided demo
|
package/dist/flow/loader.d.ts
CHANGED
|
@@ -6,8 +6,24 @@ import type { ToolDef } from "../types.js";
|
|
|
6
6
|
* This is the runtime equivalent of scripts/generate-default-config.ts.
|
|
7
7
|
*/
|
|
8
8
|
export declare function buildDefaults(tools: ToolDef[]): Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Plugin-contributed tasks and flows to merge into the defaults layer. The
|
|
11
|
+
* user's own ue-mcp.yml continues to win — plugins sit between built-ins and
|
|
12
|
+
* user config in the layered order, so a user can always override.
|
|
13
|
+
*/
|
|
14
|
+
export interface PluginContribution {
|
|
15
|
+
tasks?: Record<string, unknown>;
|
|
16
|
+
flows?: Record<string, unknown>;
|
|
17
|
+
}
|
|
9
18
|
/**
|
|
10
19
|
* Load ue-mcp.yml from the given directory, layered on top of built-in defaults.
|
|
11
20
|
* Returns the merged config even if no project ue-mcp.yml exists.
|
|
21
|
+
*
|
|
22
|
+
* Layer order (lowest precedence first):
|
|
23
|
+
* built-in defaults
|
|
24
|
+
* plugin contributions
|
|
25
|
+
* ue-mcp.yml
|
|
26
|
+
* ue-mcp.{env}.yml
|
|
27
|
+
* ue-mcp.local.yml
|
|
12
28
|
*/
|
|
13
|
-
export declare function loadFlowConfig(tools: ToolDef[], configDir?: string): LoadedConfig<FlowConfig>;
|
|
29
|
+
export declare function loadFlowConfig(tools: ToolDef[], configDir?: string, pluginContribution?: PluginContribution): LoadedConfig<FlowConfig>;
|
package/dist/flow/loader.js
CHANGED
|
@@ -239,11 +239,24 @@ function defaultFlows() {
|
|
|
239
239
|
/**
|
|
240
240
|
* Load ue-mcp.yml from the given directory, layered on top of built-in defaults.
|
|
241
241
|
* Returns the merged config even if no project ue-mcp.yml exists.
|
|
242
|
+
*
|
|
243
|
+
* Layer order (lowest precedence first):
|
|
244
|
+
* built-in defaults
|
|
245
|
+
* plugin contributions
|
|
246
|
+
* ue-mcp.yml
|
|
247
|
+
* ue-mcp.{env}.yml
|
|
248
|
+
* ue-mcp.local.yml
|
|
242
249
|
*/
|
|
243
|
-
export function loadFlowConfig(tools, configDir) {
|
|
250
|
+
export function loadFlowConfig(tools, configDir, pluginContribution) {
|
|
244
251
|
const dir = configDir ?? process.cwd();
|
|
245
252
|
const configPath = path.join(dir, "ue-mcp.yml");
|
|
246
253
|
const defaults = buildDefaults(tools);
|
|
254
|
+
if (pluginContribution) {
|
|
255
|
+
const baseTasks = (defaults.tasks ?? {});
|
|
256
|
+
const baseFlows = (defaults.flows ?? {});
|
|
257
|
+
defaults.tasks = { ...baseTasks, ...(pluginContribution.tasks ?? {}) };
|
|
258
|
+
defaults.flows = { ...baseFlows, ...(pluginContribution.flows ?? {}) };
|
|
259
|
+
}
|
|
247
260
|
if (!fs.existsSync(configPath)) {
|
|
248
261
|
return { config: FlowConfigSchema.parse(defaults), configDir: dir };
|
|
249
262
|
}
|
package/dist/flow/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/flow/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/flow/loader.ts"],"names":[],"mappings":"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"}
|
package/dist/flow/schema.d.ts
CHANGED
|
@@ -32,6 +32,21 @@ export declare const GitSnapshotSchema: z.ZodOptional<z.ZodObject<{
|
|
|
32
32
|
snapshot_dir?: string | undefined;
|
|
33
33
|
max_age_hours?: number | undefined;
|
|
34
34
|
}>>;
|
|
35
|
+
/**
|
|
36
|
+
* A plugin entry in the user's ue-mcp.yml.
|
|
37
|
+
* `name` is the npm package; `version` is optional and honored at resolve time.
|
|
38
|
+
*/
|
|
39
|
+
export declare const PluginEntrySchema: z.ZodObject<{
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
version: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, "strip", z.ZodTypeAny, {
|
|
43
|
+
name: string;
|
|
44
|
+
version?: string | undefined;
|
|
45
|
+
}, {
|
|
46
|
+
name: string;
|
|
47
|
+
version?: string | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export type PluginEntry = z.infer<typeof PluginEntrySchema>;
|
|
35
50
|
export declare const FlowConfigSchema: z.ZodObject<{
|
|
36
51
|
tasks: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
37
52
|
class_path: z.ZodString;
|
|
@@ -359,7 +374,21 @@ export declare const FlowConfigSchema: z.ZodObject<{
|
|
|
359
374
|
snapshot_dir?: string | undefined;
|
|
360
375
|
max_age_hours?: number | undefined;
|
|
361
376
|
}>>;
|
|
377
|
+
plugins: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
378
|
+
name: z.ZodString;
|
|
379
|
+
version: z.ZodOptional<z.ZodString>;
|
|
380
|
+
}, "strip", z.ZodTypeAny, {
|
|
381
|
+
name: string;
|
|
382
|
+
version?: string | undefined;
|
|
383
|
+
}, {
|
|
384
|
+
name: string;
|
|
385
|
+
version?: string | undefined;
|
|
386
|
+
}>, "many">>;
|
|
362
387
|
}, "strip", z.ZodTypeAny, {
|
|
388
|
+
plugins: {
|
|
389
|
+
name: string;
|
|
390
|
+
version?: string | undefined;
|
|
391
|
+
}[];
|
|
363
392
|
tasks: Record<string, {
|
|
364
393
|
options: Record<string, unknown>;
|
|
365
394
|
class_path: string;
|
|
@@ -439,6 +468,10 @@ export declare const FlowConfigSchema: z.ZodObject<{
|
|
|
439
468
|
snapshot_dir?: string | undefined;
|
|
440
469
|
max_age_hours?: number | undefined;
|
|
441
470
|
} | undefined;
|
|
471
|
+
plugins?: {
|
|
472
|
+
name: string;
|
|
473
|
+
version?: string | undefined;
|
|
474
|
+
}[] | undefined;
|
|
442
475
|
tasks?: Record<string, {
|
|
443
476
|
class_path: string;
|
|
444
477
|
options?: Record<string, unknown> | undefined;
|
package/dist/flow/schema.js
CHANGED
|
@@ -13,9 +13,18 @@ export const GitSnapshotSchema = z.object({
|
|
|
13
13
|
snapshot_dir: z.string().default(".ue-mcp/snapshot.git"),
|
|
14
14
|
max_age_hours: z.number().default(24),
|
|
15
15
|
}).optional();
|
|
16
|
+
/**
|
|
17
|
+
* A plugin entry in the user's ue-mcp.yml.
|
|
18
|
+
* `name` is the npm package; `version` is optional and honored at resolve time.
|
|
19
|
+
*/
|
|
20
|
+
export const PluginEntrySchema = z.object({
|
|
21
|
+
name: z.string().min(1),
|
|
22
|
+
version: z.string().optional(),
|
|
23
|
+
});
|
|
16
24
|
export const FlowConfigSchema = EngineConfigSchema.extend({
|
|
17
25
|
"ue-mcp": FlowVersionSchema.optional(),
|
|
18
26
|
project: FlowProjectSchema,
|
|
19
27
|
git_snapshot: GitSnapshotSchema,
|
|
28
|
+
plugins: z.array(PluginEntrySchema).default([]),
|
|
20
29
|
});
|
|
21
30
|
//# sourceMappingURL=schema.js.map
|
package/dist/flow/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flow/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/flow/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACxD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACxD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACtC,OAAO,EAAE,iBAAiB;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,12 +6,16 @@ import { ProjectContext } from "./project.js";
|
|
|
6
6
|
import { attach, attachSummary } from "./deployer.js";
|
|
7
7
|
import { SERVER_INSTRUCTIONS } from "./instructions.js";
|
|
8
8
|
import { McpError } from "./errors.js";
|
|
9
|
-
import { info } from "./log.js";
|
|
9
|
+
import { info, warn } from "./log.js";
|
|
10
10
|
import { startVersionCheck, consumeUpgradeNotice } from "./version-check.js";
|
|
11
11
|
import { buildFlowRegistry } from "./flow/registry.js";
|
|
12
12
|
import { loadFlowConfig } from "./flow/loader.js";
|
|
13
13
|
import { createFlowTool } from "./flow/flow-tool.js";
|
|
14
14
|
import { startFlowHttpServer } from "./flow/http-server.js";
|
|
15
|
+
import { loadPlugins } from "./plugin/loader.js";
|
|
16
|
+
import * as fs from "node:fs";
|
|
17
|
+
import * as path from "node:path";
|
|
18
|
+
import yaml from "js-yaml";
|
|
15
19
|
import { ALL_TOOLS } from "./tools.js";
|
|
16
20
|
function withUpgradeNotice(content) {
|
|
17
21
|
const notice = consumeUpgradeNotice();
|
|
@@ -20,12 +24,48 @@ function withUpgradeNotice(content) {
|
|
|
20
24
|
async function main() {
|
|
21
25
|
const bridge = new EditorBridge();
|
|
22
26
|
const project = new ProjectContext();
|
|
27
|
+
// Kick off the npm registry check in the background; the next tool response
|
|
28
|
+
// injects the notice if a newer version is published.
|
|
29
|
+
const { createRequire } = await import("node:module");
|
|
30
|
+
const require = createRequire(import.meta.url);
|
|
31
|
+
const pkg = require("../package.json");
|
|
32
|
+
startVersionCheck(pkg.version);
|
|
33
|
+
// ── Project init ─────────────────────────────────────────────────
|
|
34
|
+
// Moved ahead of tool registration so plugin resolution can walk the
|
|
35
|
+
// project's node_modules.
|
|
36
|
+
const projectArg = process.argv.find((a) => !a.startsWith("-") && a !== process.argv[0] && a !== process.argv[1]);
|
|
37
|
+
if (projectArg) {
|
|
38
|
+
try {
|
|
39
|
+
project.setProject(projectArg);
|
|
40
|
+
console.error(`[ue-mcp] Project loaded: ${project.projectName} (engine ${project.engineAssociation ?? "unknown"})`);
|
|
41
|
+
// Non-destructive attach — never overwrites local bridge source.
|
|
42
|
+
// Source deployment is reserved for `ue-mcp init` / `ue-mcp update`.
|
|
43
|
+
const result = attach(project);
|
|
44
|
+
console.error(`[ue-mcp] ${attachSummary(result)}`);
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
console.error(`[ue-mcp] Failed to initialize project: ${e instanceof Error ? e.message : e}`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// ── Plugins ──────────────────────────────────────────────────────
|
|
51
|
+
// Read the user's `plugins:` entries from ue-mcp.yml (best-effort — a
|
|
52
|
+
// missing or invalid file means zero plugins, never a fatal error). Then
|
|
53
|
+
// resolve, validate, and inject into target categories BEFORE the flow
|
|
54
|
+
// registry is built so plugin tasks register cleanly.
|
|
55
|
+
const configDir = project.projectDir ?? undefined;
|
|
56
|
+
const pluginEntries = readPluginsEntries(configDir);
|
|
57
|
+
const pluginLoad = await loadPlugins(ALL_TOOLS, pluginEntries, configDir, pkg.version);
|
|
58
|
+
const activeTools = pluginLoad.tools;
|
|
59
|
+
const pluginRecords = pluginLoad.records;
|
|
23
60
|
// Lazy flow accessor — reads ue-mcp.yml fresh each call so agents see
|
|
24
61
|
// edits without a server restart. project(get_status) uses this so the
|
|
25
62
|
// first call agents make in any session reveals the registered flows.
|
|
26
63
|
const getFlows = () => {
|
|
27
64
|
try {
|
|
28
|
-
const cfg = loadFlowConfig(
|
|
65
|
+
const cfg = loadFlowConfig(activeTools, configDir, {
|
|
66
|
+
tasks: pluginLoad.taskDefs,
|
|
67
|
+
flows: pluginLoad.flowDefs,
|
|
68
|
+
}).config;
|
|
29
69
|
return Object.entries(cfg.flows).map(([name, def]) => ({
|
|
30
70
|
name,
|
|
31
71
|
description: def.description,
|
|
@@ -35,24 +75,33 @@ async function main() {
|
|
|
35
75
|
return [];
|
|
36
76
|
}
|
|
37
77
|
};
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
// injects the notice if a newer version is published.
|
|
41
|
-
const { createRequire } = await import("node:module");
|
|
42
|
-
const require = createRequire(import.meta.url);
|
|
43
|
-
const pkg = require("../package.json");
|
|
44
|
-
startVersionCheck(pkg.version);
|
|
78
|
+
const getPlugins = () => pluginRecords.map((r) => toPluginInfo(r, project));
|
|
79
|
+
const ctx = { bridge, project, getFlows, getPlugins };
|
|
45
80
|
// ── Flow engine: task registry ──────────────────────────────────
|
|
46
|
-
const registry = buildFlowRegistry(
|
|
81
|
+
const registry = buildFlowRegistry(activeTools);
|
|
82
|
+
for (const { name, ctor } of pluginLoad.taskRegistrations) {
|
|
83
|
+
registry.register(name, ctor);
|
|
84
|
+
}
|
|
85
|
+
for (const { classPath, ctor } of pluginLoad.classPathRegistrations) {
|
|
86
|
+
registry.registerClassPath(classPath, ctor);
|
|
87
|
+
}
|
|
47
88
|
const taskCount = registry.listRegistered().length;
|
|
89
|
+
// ── Plugin knowledge → server instructions ──────────────────────
|
|
90
|
+
// Attach per-category markdown to the AI-facing docs. Sized to the same
|
|
91
|
+
// budget as SERVER_INSTRUCTIONS itself; deeper plugin docs remain
|
|
92
|
+
// readable on demand via the file-reading surface.
|
|
93
|
+
const knowledgeBlock = buildKnowledgeBlock(pluginLoad.knowledgeByCategory);
|
|
94
|
+
const serverInstructions = knowledgeBlock
|
|
95
|
+
? `${SERVER_INSTRUCTIONS}\n\n═══ PLUGIN KNOWLEDGE ═══\n${knowledgeBlock}`
|
|
96
|
+
: SERVER_INSTRUCTIONS;
|
|
48
97
|
const server = new McpServer({
|
|
49
98
|
name: "ue-mcp",
|
|
50
99
|
version: "0.6.4",
|
|
51
100
|
}, {
|
|
52
|
-
instructions:
|
|
101
|
+
instructions: serverInstructions,
|
|
53
102
|
});
|
|
54
103
|
const disabled = new Set(project.config.disable ?? []);
|
|
55
|
-
const tools =
|
|
104
|
+
const tools = activeTools.filter((t) => !disabled.has(t.name));
|
|
56
105
|
// ── Register category tools — dispatched through the task registry ──
|
|
57
106
|
for (const tool of tools) {
|
|
58
107
|
const shape = {};
|
|
@@ -107,28 +156,18 @@ async function main() {
|
|
|
107
156
|
}
|
|
108
157
|
});
|
|
109
158
|
}
|
|
110
|
-
// ── Project init ─────────────────────────────────────────────────
|
|
111
|
-
const projectArg = process.argv.find((a) => !a.startsWith("-") && a !== process.argv[0] && a !== process.argv[1]);
|
|
112
|
-
if (projectArg) {
|
|
113
|
-
try {
|
|
114
|
-
project.setProject(projectArg);
|
|
115
|
-
console.error(`[ue-mcp] Project loaded: ${project.projectName} (engine ${project.engineAssociation ?? "unknown"})`);
|
|
116
|
-
// Non-destructive attach — never overwrites local bridge source.
|
|
117
|
-
// Source deployment is reserved for `ue-mcp init` / `ue-mcp update`.
|
|
118
|
-
const result = attach(project);
|
|
119
|
-
console.error(`[ue-mcp] ${attachSummary(result)}`);
|
|
120
|
-
}
|
|
121
|
-
catch (e) {
|
|
122
|
-
console.error(`[ue-mcp] Failed to initialize project: ${e instanceof Error ? e.message : e}`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
159
|
// ── Load ue-mcp.yml and register flow tool ──────────────────────
|
|
126
|
-
const configDir = project.projectDir ?? undefined;
|
|
127
160
|
// Log initial load
|
|
128
|
-
const initialLoad = loadFlowConfig(
|
|
161
|
+
const initialLoad = loadFlowConfig(activeTools, configDir, {
|
|
162
|
+
tasks: pluginLoad.taskDefs,
|
|
163
|
+
flows: pluginLoad.flowDefs,
|
|
164
|
+
});
|
|
129
165
|
console.error(`[ue-mcp] ue-mcp.yml loaded — ${Object.keys(initialLoad.config.flows).length} flow(s), ${Object.keys(initialLoad.config.tasks).length} custom task(s)`);
|
|
130
166
|
// Config is reloaded on every flow call — edit ue-mcp.yml without restarting
|
|
131
|
-
const reloadConfig = () => loadFlowConfig(
|
|
167
|
+
const reloadConfig = () => loadFlowConfig(activeTools, configDir, {
|
|
168
|
+
tasks: pluginLoad.taskDefs,
|
|
169
|
+
flows: pluginLoad.flowDefs,
|
|
170
|
+
}).config;
|
|
132
171
|
const flowTool = createFlowTool(registry, reloadConfig);
|
|
133
172
|
const flowShape = {};
|
|
134
173
|
for (const [key, schema] of Object.entries(flowTool.schema)) {
|
|
@@ -171,10 +210,95 @@ async function main() {
|
|
|
171
210
|
if (disabled.size > 0) {
|
|
172
211
|
console.error(`[ue-mcp] Disabled categories: ${[...disabled].join(", ")}`);
|
|
173
212
|
}
|
|
174
|
-
|
|
213
|
+
const activePluginCount = pluginRecords.filter((r) => r.status === "active").length;
|
|
214
|
+
const pluginNote = pluginRecords.length > 0
|
|
215
|
+
? `, ${activePluginCount}/${pluginRecords.length} plugin(s)`
|
|
216
|
+
: "";
|
|
217
|
+
console.error(`[ue-mcp] Registered ${tools.length + 1} tools, ${taskCount} tasks (flow engine)${pluginNote}`);
|
|
175
218
|
const transport = new StdioServerTransport();
|
|
176
219
|
await server.connect(transport);
|
|
177
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Best-effort read of the `plugins:` array from ue-mcp.yml. Returns [] when
|
|
223
|
+
* the file is missing, unreadable, or malformed — plugin failures are loud at
|
|
224
|
+
* load time, not fatal here.
|
|
225
|
+
*/
|
|
226
|
+
function readPluginsEntries(configDir) {
|
|
227
|
+
if (!configDir)
|
|
228
|
+
return [];
|
|
229
|
+
const configPath = path.join(configDir, "ue-mcp.yml");
|
|
230
|
+
if (!fs.existsSync(configPath))
|
|
231
|
+
return [];
|
|
232
|
+
try {
|
|
233
|
+
const raw = yaml.load(fs.readFileSync(configPath, "utf-8"));
|
|
234
|
+
if (!raw || !Array.isArray(raw.plugins))
|
|
235
|
+
return [];
|
|
236
|
+
const out = [];
|
|
237
|
+
for (const entry of raw.plugins) {
|
|
238
|
+
if (entry && typeof entry === "object" && typeof entry.name === "string") {
|
|
239
|
+
const e = entry;
|
|
240
|
+
out.push({
|
|
241
|
+
name: e.name,
|
|
242
|
+
version: typeof e.version === "string" ? e.version : undefined,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return out;
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
warn("plugin", `failed to parse plugins: from ue-mcp.yml - ${e.message}`);
|
|
250
|
+
return [];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
function buildKnowledgeBlock(knowledgeByCategory) {
|
|
254
|
+
const lines = [];
|
|
255
|
+
for (const [category, blobs] of Object.entries(knowledgeByCategory)) {
|
|
256
|
+
if (blobs.length === 0)
|
|
257
|
+
continue;
|
|
258
|
+
lines.push(`── ${category} ──`);
|
|
259
|
+
for (const blob of blobs)
|
|
260
|
+
lines.push(blob.trim());
|
|
261
|
+
lines.push("");
|
|
262
|
+
}
|
|
263
|
+
return lines.join("\n").trim();
|
|
264
|
+
}
|
|
265
|
+
function toPluginInfo(rec, project) {
|
|
266
|
+
const uePluginPresent = rec.uePluginDependency
|
|
267
|
+
? isUePluginEnabled(project, rec.uePluginDependency)
|
|
268
|
+
: undefined;
|
|
269
|
+
return {
|
|
270
|
+
name: rec.name,
|
|
271
|
+
version: rec.version,
|
|
272
|
+
actionPrefix: rec.actionPrefix,
|
|
273
|
+
status: rec.status,
|
|
274
|
+
statusReason: rec.statusReason,
|
|
275
|
+
minServerVersion: rec.minServerVersion,
|
|
276
|
+
uePluginDependency: rec.uePluginDependency,
|
|
277
|
+
uePluginPresent,
|
|
278
|
+
injected: rec.injected,
|
|
279
|
+
knowledge: rec.knowledge,
|
|
280
|
+
flows: rec.flows,
|
|
281
|
+
tasks: rec.tasks,
|
|
282
|
+
pkgDir: rec.pkgDir,
|
|
283
|
+
manifestPath: rec.manifestPath,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
function isUePluginEnabled(project, name) {
|
|
287
|
+
if (!project.projectPath)
|
|
288
|
+
return undefined;
|
|
289
|
+
try {
|
|
290
|
+
const raw = JSON.parse(fs.readFileSync(project.projectPath, "utf-8"));
|
|
291
|
+
if (!raw.Plugins)
|
|
292
|
+
return false;
|
|
293
|
+
const entry = raw.Plugins.find((p) => p.Name === name);
|
|
294
|
+
if (!entry)
|
|
295
|
+
return false;
|
|
296
|
+
return entry.Enabled !== false;
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
return undefined;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
178
302
|
// Route subcommands
|
|
179
303
|
const subcmd = process.argv[2];
|
|
180
304
|
if (subcmd === "init") {
|
|
@@ -191,6 +315,10 @@ else if (subcmd === "hook") {
|
|
|
191
315
|
else if (subcmd === "resolve") {
|
|
192
316
|
import("./resolve.js");
|
|
193
317
|
}
|
|
318
|
+
else if (subcmd === "plugin") {
|
|
319
|
+
process.argv.splice(2, 1);
|
|
320
|
+
import("./plugin-cli.js");
|
|
321
|
+
}
|
|
194
322
|
else if (subcmd === "version" || subcmd === "--version" || subcmd === "-v") {
|
|
195
323
|
const { createRequire } = await import("node:module");
|
|
196
324
|
const require = createRequire(import.meta.url);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/instructions.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SERVER_INSTRUCTIONS = "UE-MCP: Unreal Engine editor bridge (C++ plugin) \u2014 19 category tools covering 425+ actions.\n\nEvery tool takes an \"action\" parameter that selects the operation. Call project(action=\"get_status\") first.\n\n\u2550\u2550\u2550 QUICK START \u2550\u2550\u2550\n1. project(action=\"get_status\") \u2014 check if the editor is connected\n2. If not connected: editor(action=\"start_editor\") to launch UE\n3. level(action=\"get_outliner\") \u2014 see what's in the current level\n4. asset(action=\"list\") \u2014 browse project assets\n5. reflection(action=\"reflect_class\", className=\"StaticMeshActor\") \u2014 understand any UE class\n6. demo(action=\"step\", stepIndex=1) through 19 \u2014 run the Neon Shrine demo to see the bridge in action\n7. demo(action=\"cleanup\") \u2014 clean up after the demo\n\n\u2550\u2550\u2550 TOOLS & ACTIONS \u2550\u2550\u2550\n\nproject \u2014 Project status, config INI, C++ source\n get_status, set_project, get_info, read_config, search_config, list_config_tags,\n set_config, read_cpp_header, read_module, list_modules, search_cpp\n\nasset \u2014 Assets: list, search, CRUD, import, export, datatables, textures\n list, search, read, read_properties, duplicate, rename, move, delete, save,\n import_static_mesh, import_skeletal_mesh, import_animation, import_texture,\n read_datatable, create_datatable, reimport_datatable, list_textures,\n get_texture_info, set_texture_settings,\n add_socket, remove_socket, list_sockets\n\nblueprint \u2014 Blueprint reading, authoring, compilation\n read, list_variables, list_functions, read_graph, create, add_variable,\n set_variable_properties, create_function, delete_function, rename_function,\n add_node, delete_node, set_node_property, connect_pins, add_component,\n compile, list_node_types, search_node_types, create_interface, add_interface,\n add_event_dispatcher, list_graphs\n\nlevel \u2014 Level actors, selection, components, volumes, lights, splines\n get_outliner, place_actor, delete_actor, get_actor_details, move_actor,\n select, get_selected, add_component, set_component_property,\n get_current, load, save, list, create,\n spawn_volume, list_volumes, set_volume_properties,\n spawn_light, set_light_properties, build_lighting,\n get_spline_info, set_spline_points\n\nmaterial \u2014 Materials, shading, and graph authoring\n read, list_parameters, set_parameter, create_instance, create,\n set_shading_model, set_base_color, connect_texture,\n add_expression, connect_expressions, connect_to_property,\n list_expressions, delete_expression, list_expression_types, recompile\n\nanimation \u2014 Anim assets, skeletons, montages, blendspaces\n read_anim_blueprint, read_montage, read_sequence, read_blendspace, list,\n create_montage, create_anim_blueprint, create_blendspace, add_notify,\n get_skeleton_info, list_sockets, list_skeletal_meshes, get_physics_asset,\n create_sequence, set_bone_keyframes, get_bone_transforms,\n set_montage_sequence, set_montage_properties\n\nlandscape \u2014 Terrain sculpting, painting, layers\n get_info, list_layers, sample, list_splines, get_component,\n sculpt, paint_layer, set_material, add_layer_info, import_heightmap\n\npcg \u2014 Procedural Content Generation graphs\n list_graphs, read_graph, read_node_settings, get_components,\n get_component_details, create_graph, add_node, connect_nodes,\n set_node_settings, remove_node, execute, add_volume\n\nfoliage \u2014 Foliage painting and types\n list_types, get_settings, sample, paint, erase, create_type, set_settings\n\nniagara \u2014 VFX systems and graph authoring\n list, get_info, spawn, set_parameter, create,\n create_emitter, add_emitter, list_emitters, set_emitter_property,\n list_modules, get_emitter_info\n\naudio \u2014 Sound assets and playback\n list, play_at_location, spawn_ambient, create_cue, create_metasound\n\nwidget \u2014 UMG widgets and editor utilities\n read_tree, get_details, set_property (slot.* for layout), list, read_animations,\n create, add_widget, remove_widget, move_widget, list_classes,\n create_utility_widget, run_utility_widget,\n create_utility_blueprint, run_utility_blueprint\n\neditor \u2014 Console, Python, PIE, viewport, sequencer, perf, build pipeline, logs\n execute_command, execute_python, set_property, play_in_editor,\n get_runtime_value, hot_reload, undo, redo,\n get_perf_stats, run_stat, set_scalability, capture_screenshot,\n get_viewport, set_viewport, focus_on_actor,\n create_sequence, get_sequence_info, add_sequence_track, play_sequence,\n build_all, build_geometry, build_hlod, validate_assets,\n get_build_status, cook_content,\n get_log, search_log, get_message_log,\n set_dialog_policy, clear_dialog_policy, get_dialog_policy,\n list_dialogs, respond_to_dialog\n\nreflection \u2014 UE class/struct/enum reflection, gameplay tags\n reflect_class, reflect_struct, reflect_enum, list_classes,\n list_tags, create_tag\n\ngameplay \u2014 Physics, collision, navigation, input, behavior trees, AI, game framework\n set_collision_profile, set_simulate_physics, set_collision_enabled,\n set_physics_properties, rebuild_navigation, get_navmesh_info,\n project_to_nav, spawn_nav_modifier,\n create_input_action, create_input_mapping, list_input_assets, set_mapping_modifiers,\n list_behavior_trees, get_behavior_tree_info,\n create_blackboard, create_behavior_tree,\n create_eqs_query, list_eqs_queries,\n add_perception, configure_sense,\n create_state_tree, list_state_trees, add_state_tree_component,\n create_smart_object_def, add_smart_object_component,\n create_game_mode, create_game_state, create_player_controller,\n create_player_state, create_hud, set_world_game_mode, get_framework_info\n\ngas \u2014 Gameplay Ability System\n add_asc, create_attribute_set, add_attribute,\n create_ability, set_ability_tags,\n create_effect, set_effect_modifier,\n create_cue, get_info\n\nnetworking \u2014 Replication and networking\n set_replicates, set_property_replicated, configure_net_frequency,\n set_dormancy, set_net_load_on_client, set_always_relevant,\n set_only_relevant_to_owner, configure_cull_distance,\n set_priority, set_replicate_movement, get_info\n\nstatetree \u2014 StateTree asset editing: read, modify states/tasks/conditions/transitions/bindings, compile\n read, list_states, add_state, remove_state, set_state_property, clear_state_nodes,\n add_task, add_enter_condition, remove_task, set_task_instance_property,\n add_transition, add_transition_condition, remove_transition,\n add_binding, remove_binding, list_bindings,\n set_root_parameters, compile, validate\n\ndemo \u2014 Neon Shrine demo scene\n step, cleanup\n\nfeedback \u2014 Agent feedback submission\n submit\n\n\u2550\u2550\u2550 TIPS \u2550\u2550\u2550\n\u2022 Start with level(action=\"get_outliner\") or asset(action=\"list\") to discover what's in the project.\n\u2022 Use reflection(action=\"reflect_class\") to understand any UE class's properties.\n\u2022 asset(action=\"search\", query=\"/Game/Characters/*\") accepts wildcards.\n\u2022 For BP scripting: blueprint(action=\"search_node_types\") \u2192 blueprint(action=\"add_node\") \u2192 blueprint(action=\"connect_pins\").\n\u2022 editor(action=\"execute_python\") is the escape hatch for any Unreal Python API call.\n\u2022 Animation tools need a skeleton path \u2014 use animation(action=\"list_skeletal_meshes\") to find it.\n\u2022 Editor lifecycle: editor(action=\"stop_editor\") / editor(action=\"start_editor\") / editor(action=\"restart_editor\") manage the UE process.\n\u2022 editor(action=\"hot_reload\") triggers Live Coding compilation without restarting the editor.\n\u2022 editor(action=\"focus_on_actor\", actorLabel=\"MyActor\") snaps the viewport to any actor.\n\u2022 Log output: editor(action=\"get_log\", category=\"LogMCPBridge\") to see bridge-specific logs.\n\n\u2550\u2550\u2550 FLOWS \u2014 READ BEFORE ACTING \u2550\u2550\u2550\n\nBefore you run bash/npm commands or chain 3+ category tool calls to\nsatisfy a user request, look at the `flows` field returned by\nproject(action=\"get_status\").\n\nThat field lists named, pre-built sequences for this project. Each\nentry has a name and description. If ANY flow's description matches\nwhat the user asked for, you MUST run it instead of building the\nsequence yourself.\n\nExamples:\n User asks | Look for a flow like\n ---------------------------------- | ------------------------------\n \"rebuild and relaunch the editor\" | rebuild\n \"run the smoke tests\" | smoke\n \"redeploy the plugin\" | deploy, redeploy\n \"package the project\" | package\n\nRun a matched flow with: flow(action=\"run\", flowName=\"<name>\")\n\nDO NOT:\n- Skip the get_status flows check before running bash/npm yourself.\n- Author a new flow on your own. Only the user authors flows.\n- Suggest a flow for a one-off task the user is unlikely to repeat.\n\nDO suggest a new flow IF AND ONLY IF all three are true:\n 1. You just finished a sequence with 3+ steps.\n 2. The sequence had the same shape every run, with only 1-2 values\n changing.\n 3. The user is likely to ask for the same shape again.\nIn that case say: \"This sequence (X -> Y -> Z) might be worth registering\nas a flow in ue-mcp.yml. Want me to draft one?\" Then STOP. Wait.\n\n\u2550\u2550\u2550 FEEDBACK \u2550\u2550\u2550\nIf you had to use editor(action=\"execute_python\") as a workaround because a native tool\ncouldn't handle the task, keep a mental note of what you did and why. When your task is\ncomplete, tell the user:\n \"I had to use custom Python scripts to [describe what]. Would you like to submit\n feedback to help improve ue-mcp?\"\nIf the user agrees, call feedback(action=\"submit\") with:\n \u2022 title \u2014 short, generic description of the gap (no project-specific details)\n \u2022 summary \u2014 what was attempted and why the native tool fell short\n \u2022 pythonWorkaround \u2014 the Python code that was used\n \u2022 idealTool \u2014 what tool/action should handle this natively\nThis creates a GitHub issue so the maintainers can add proper support.\n";
|
|
1
|
+
export declare const SERVER_INSTRUCTIONS = "UE-MCP: Unreal Engine editor bridge (C++ plugin) \u2014 19 category tools covering 425+ actions.\n\nEvery tool takes an \"action\" parameter that selects the operation. Call project(action=\"get_status\") first.\n\n\u2550\u2550\u2550 QUICK START \u2550\u2550\u2550\n1. project(action=\"get_status\") \u2014 check if the editor is connected\n2. If not connected: editor(action=\"start_editor\") to launch UE\n3. level(action=\"get_outliner\") \u2014 see what's in the current level\n4. asset(action=\"list\") \u2014 browse project assets\n5. reflection(action=\"reflect_class\", className=\"StaticMeshActor\") \u2014 understand any UE class\n6. demo(action=\"step\", stepIndex=1) through 19 \u2014 run the Neon Shrine demo to see the bridge in action\n7. demo(action=\"cleanup\") \u2014 clean up after the demo\n\n\u2550\u2550\u2550 TOOLS & ACTIONS \u2550\u2550\u2550\n\nproject \u2014 Project status, config INI, C++ source\n get_status, set_project, get_info, read_config, search_config, list_config_tags,\n set_config, read_cpp_header, read_module, list_modules, search_cpp\n\nasset \u2014 Assets: list, search, CRUD, import, export, datatables, textures\n list, search, read, read_properties, duplicate, rename, move, delete, save,\n import_static_mesh, import_skeletal_mesh, import_animation, import_texture,\n read_datatable, create_datatable, reimport_datatable, list_textures,\n get_texture_info, set_texture_settings,\n add_socket, remove_socket, list_sockets\n\nblueprint \u2014 Blueprint reading, authoring, compilation\n read, list_variables, list_functions, read_graph, create, add_variable,\n set_variable_properties, create_function, delete_function, rename_function,\n add_node, delete_node, set_node_property, connect_pins, add_component,\n compile, list_node_types, search_node_types, create_interface, add_interface,\n add_event_dispatcher, list_graphs\n\nlevel \u2014 Level actors, selection, components, volumes, lights, splines\n get_outliner, place_actor, delete_actor, get_actor_details, move_actor,\n select, get_selected, add_component, set_component_property,\n get_current, load, save, list, create,\n spawn_volume, list_volumes, set_volume_properties,\n spawn_light, set_light_properties, build_lighting,\n get_spline_info, set_spline_points\n\nmaterial \u2014 Materials, shading, and graph authoring\n read, list_parameters, set_parameter, create_instance, create,\n set_shading_model, set_base_color, connect_texture,\n add_expression, connect_expressions, connect_to_property,\n list_expressions, delete_expression, list_expression_types, recompile\n\nanimation \u2014 Anim assets, skeletons, montages, blendspaces\n read_anim_blueprint, read_montage, read_sequence, read_blendspace, list,\n create_montage, create_anim_blueprint, create_blendspace, add_notify,\n get_skeleton_info, list_sockets, list_skeletal_meshes, get_physics_asset,\n create_sequence, set_bone_keyframes, get_bone_transforms,\n set_montage_sequence, set_montage_properties\n\nlandscape \u2014 Terrain sculpting, painting, layers\n get_info, list_layers, sample, list_splines, get_component,\n sculpt, paint_layer, set_material, add_layer_info, import_heightmap\n\npcg \u2014 Procedural Content Generation graphs\n list_graphs, read_graph, read_node_settings, get_components,\n get_component_details, create_graph, add_node, connect_nodes,\n set_node_settings, remove_node, execute, add_volume\n\nfoliage \u2014 Foliage painting and types\n list_types, get_settings, sample, paint, erase, create_type, set_settings\n\nniagara \u2014 VFX systems and graph authoring\n list, get_info, spawn, set_parameter, create,\n create_emitter, add_emitter, list_emitters, set_emitter_property,\n list_modules, get_emitter_info\n\naudio \u2014 Sound assets and playback\n list, play_at_location, spawn_ambient, create_cue, create_metasound\n\nwidget \u2014 UMG widgets and editor utilities\n read_tree, get_details, set_property (slot.* for layout), list, read_animations,\n create, add_widget, remove_widget, move_widget, list_classes,\n create_utility_widget, run_utility_widget,\n create_utility_blueprint, run_utility_blueprint\n\neditor \u2014 Console, Python, PIE, viewport, sequencer, perf, build pipeline, logs\n execute_command, execute_python, set_property, play_in_editor,\n get_runtime_value, hot_reload, undo, redo,\n get_perf_stats, run_stat, set_scalability, capture_screenshot,\n get_viewport, set_viewport, focus_on_actor,\n create_sequence, get_sequence_info, add_sequence_track, play_sequence,\n build_all, build_geometry, build_hlod, validate_assets,\n get_build_status, cook_content,\n get_log, search_log, get_message_log,\n set_dialog_policy, clear_dialog_policy, get_dialog_policy,\n list_dialogs, respond_to_dialog\n\nreflection \u2014 UE class/struct/enum reflection, gameplay tags\n reflect_class, reflect_struct, reflect_enum, list_classes,\n list_tags, create_tag\n\ngameplay \u2014 Physics, collision, navigation, input, behavior trees, AI, game framework\n set_collision_profile, set_simulate_physics, set_collision_enabled,\n set_physics_properties, rebuild_navigation, get_navmesh_info,\n project_to_nav, spawn_nav_modifier,\n create_input_action, create_input_mapping, list_input_assets, set_mapping_modifiers,\n list_behavior_trees, get_behavior_tree_info,\n create_blackboard, create_behavior_tree,\n create_eqs_query, list_eqs_queries,\n add_perception, configure_sense,\n create_state_tree, list_state_trees, add_state_tree_component,\n create_smart_object_def, add_smart_object_component,\n create_game_mode, create_game_state, create_player_controller,\n create_player_state, create_hud, set_world_game_mode, get_framework_info\n\ngas \u2014 Gameplay Ability System\n add_asc, create_attribute_set, add_attribute,\n create_ability, set_ability_tags,\n create_effect, set_effect_modifier,\n create_cue, get_info\n\nnetworking \u2014 Replication and networking\n set_replicates, set_property_replicated, configure_net_frequency,\n set_dormancy, set_net_load_on_client, set_always_relevant,\n set_only_relevant_to_owner, configure_cull_distance,\n set_priority, set_replicate_movement, get_info\n\nstatetree \u2014 StateTree asset editing: read, modify states/tasks/conditions/transitions/bindings, compile\n read, list_states, add_state, remove_state, set_state_property, clear_state_nodes,\n add_task, add_enter_condition, remove_task, set_task_instance_property,\n add_transition, add_transition_condition, remove_transition,\n add_binding, remove_binding, list_bindings,\n set_root_parameters, compile, validate\n\ndemo \u2014 Neon Shrine demo scene\n step, cleanup\n\nfeedback \u2014 Agent feedback submission\n submit\n\nplugins \u2014 Introspect npm-distributed plugins that inject actions into other categories (read-only)\n list, describe\n\n\u2550\u2550\u2550 TIPS \u2550\u2550\u2550\n\u2022 Start with level(action=\"get_outliner\") or asset(action=\"list\") to discover what's in the project.\n\u2022 Use reflection(action=\"reflect_class\") to understand any UE class's properties.\n\u2022 asset(action=\"search\", query=\"/Game/Characters/*\") accepts wildcards.\n\u2022 For BP scripting: blueprint(action=\"search_node_types\") \u2192 blueprint(action=\"add_node\") \u2192 blueprint(action=\"connect_pins\").\n\u2022 editor(action=\"execute_python\") is the escape hatch for any Unreal Python API call.\n\u2022 Animation tools need a skeleton path \u2014 use animation(action=\"list_skeletal_meshes\") to find it.\n\u2022 Editor lifecycle: editor(action=\"stop_editor\") / editor(action=\"start_editor\") / editor(action=\"restart_editor\") manage the UE process.\n\u2022 editor(action=\"hot_reload\") triggers Live Coding compilation without restarting the editor.\n\u2022 editor(action=\"focus_on_actor\", actorLabel=\"MyActor\") snaps the viewport to any actor.\n\u2022 Log output: editor(action=\"get_log\", category=\"LogMCPBridge\") to see bridge-specific logs.\n\n\u2550\u2550\u2550 FLOWS \u2014 READ BEFORE ACTING \u2550\u2550\u2550\n\nBefore you run bash/npm commands or chain 3+ category tool calls to\nsatisfy a user request, look at the `flows` field returned by\nproject(action=\"get_status\").\n\nThat field lists named, pre-built sequences for this project. Each\nentry has a name and description. If ANY flow's description matches\nwhat the user asked for, you MUST run it instead of building the\nsequence yourself.\n\nExamples:\n User asks | Look for a flow like\n ---------------------------------- | ------------------------------\n \"rebuild and relaunch the editor\" | rebuild\n \"run the smoke tests\" | smoke\n \"redeploy the plugin\" | deploy, redeploy\n \"package the project\" | package\n\nRun a matched flow with: flow(action=\"run\", flowName=\"<name>\")\n\nDO NOT:\n- Skip the get_status flows check before running bash/npm yourself.\n- Author a new flow on your own. Only the user authors flows.\n- Suggest a flow for a one-off task the user is unlikely to repeat.\n\nDO suggest a new flow IF AND ONLY IF all three are true:\n 1. You just finished a sequence with 3+ steps.\n 2. The sequence had the same shape every run, with only 1-2 values\n changing.\n 3. The user is likely to ask for the same shape again.\nIn that case say: \"This sequence (X -> Y -> Z) might be worth registering\nas a flow in ue-mcp.yml. Want me to draft one?\" Then STOP. Wait.\n\n\u2550\u2550\u2550 FEEDBACK \u2550\u2550\u2550\nIf you had to use editor(action=\"execute_python\") as a workaround because a native tool\ncouldn't handle the task, keep a mental note of what you did and why. When your task is\ncomplete, tell the user:\n \"I had to use custom Python scripts to [describe what]. Would you like to submit\n feedback to help improve ue-mcp?\"\nIf the user agrees, call feedback(action=\"submit\") with:\n \u2022 title \u2014 short, generic description of the gap (no project-specific details)\n \u2022 summary \u2014 what was attempted and why the native tool fell short\n \u2022 pythonWorkaround \u2014 the Python code that was used\n \u2022 idealTool \u2014 what tool/action should handle this natively\nThis creates a GitHub issue so the maintainers can add proper support.\n";
|
package/dist/instructions.js
CHANGED
|
@@ -133,6 +133,9 @@ demo — Neon Shrine demo scene
|
|
|
133
133
|
feedback — Agent feedback submission
|
|
134
134
|
submit
|
|
135
135
|
|
|
136
|
+
plugins — Introspect npm-distributed plugins that inject actions into other categories (read-only)
|
|
137
|
+
list, describe
|
|
138
|
+
|
|
136
139
|
═══ TIPS ═══
|
|
137
140
|
• Start with level(action="get_outliner") or asset(action="list") to discover what's in the project.
|
|
138
141
|
• Use reflection(action="reflect_class") to understand any UE class's properties.
|
package/dist/instructions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoMlC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ToolDef } from "../types.js";
|
|
2
|
+
import { type ManifestInjectAction } from "./manifest.js";
|
|
3
|
+
/**
|
|
4
|
+
* Per-category injection plan derived from one plugin's `inject:` block.
|
|
5
|
+
* The keys are PREFIXED action names (e.g. `vpp_scatter_on_terrain`), which
|
|
6
|
+
* is what they look like on the wire and in tool docs.
|
|
7
|
+
*/
|
|
8
|
+
export interface InjectionPlan {
|
|
9
|
+
/** Category name (e.g. `pcg`). */
|
|
10
|
+
category: string;
|
|
11
|
+
/** Plugin's actionPrefix (e.g. `vpp`). */
|
|
12
|
+
prefix: string;
|
|
13
|
+
/** Plugin name for diagnostics. */
|
|
14
|
+
pluginName: string;
|
|
15
|
+
/** Bare action name → manifest spec. */
|
|
16
|
+
actions: Record<string, ManifestInjectAction>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Merge plugin-supplied injection plans into a built-in category tool. Returns
|
|
20
|
+
* a NEW ToolDef with extended actions, rebuilt action enum, merged param
|
|
21
|
+
* schema, and a "Plugin actions:" block appended to the description.
|
|
22
|
+
*
|
|
23
|
+
* Collisions with built-in actions are skipped with a warning and never
|
|
24
|
+
* overwrite. Inter-plugin collisions are first-wins per the loader's left-to-
|
|
25
|
+
* right iteration; this function simply skips any action key already present.
|
|
26
|
+
*/
|
|
27
|
+
export interface MergeResult {
|
|
28
|
+
tool: ToolDef;
|
|
29
|
+
/** Final prefixed action names that were actually added, in insertion order. */
|
|
30
|
+
added: string[];
|
|
31
|
+
/** Collisions that were rejected: key + reason. */
|
|
32
|
+
skipped: Array<{
|
|
33
|
+
action: string;
|
|
34
|
+
reason: string;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
export declare function mergeInjectionsIntoTool(orig: ToolDef, plans: InjectionPlan[]): MergeResult;
|