blueprint-extractor-mcp 1.13.0 → 2.0.0

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 CHANGED
@@ -4,13 +4,17 @@ MCP server for the Unreal Engine `BlueprintExtractor` plugin.
4
4
 
5
5
  This package exposes the `blueprint-extractor` server over stdio and talks to a running Unreal Editor through the Remote Control HTTP API.
6
6
 
7
+ The current v2 MCP contract exposes 80 tools, 13 resources, 2 resource templates, and 4 prompts.
8
+ Public tools use canonical `snake_case` inputs and return structured JSON success or error envelopes.
9
+
7
10
  Current surface area includes:
8
11
 
9
12
  - read-only extraction tools for Blueprints, AI assets, data assets, curves, materials, and animation metadata
10
- - explicit-save authoring tools for the supported editor-side asset families, including compact widget extraction, incremental widget-structure ops, widget class-default routing, and classic material graph authoring for materials and MaterialFunction-family assets
13
+ - explicit-save authoring tools for the supported editor-side asset families, including compact widget extraction, incremental widget-structure ops, widget class-default routing, composable material authoring (`set_material_settings`, `add_material_expression`, `connect_material_expressions`, `bind_material_property`), and the advanced `modify_material` escape hatch
14
+ - dedicated Enhanced Input authoring tools for `InputAction` and `InputMappingContext` assets (`create_input_action`, `modify_input_action`, `create_input_mapping_context`, `modify_input_mapping_context`)
11
15
  - async import and reimport tools with polling for generic assets plus typed texture and mesh helpers
12
16
  - host-side project automation tools for external builds, Live Coding requests, restart/reconnect orchestration, and a thin window-polish helper
13
- - static guidance resources and resource templates for authoring conventions, selector rules, font roles, project automation, example payloads, widget patterns, and classic material graph guidance
17
+ - static guidance resources, resource templates, and prompts for authoring conventions, selector rules, font roles, project automation, example payloads, widget patterns, unsupported surfaces, safe UI redesign, and classic material graph guidance
14
18
 
15
19
  ## Requirements
16
20
 
@@ -28,6 +32,8 @@ The server reads `UE_REMOTE_CONTROL_PORT` and defaults to `30010`.
28
32
 
29
33
  You can also set `UE_BLUEPRINT_EXTRACTOR_SUBSYSTEM_PATH` to force a specific subsystem object path instead of using the built-in probe list.
30
34
 
35
+ For workflow-oriented guidance, the server also exposes prompts such as `design_menu_screen`, `author_material_button_style`, `wire_hud_widget_classes`, and `debug_widget_compile_errors`.
36
+
31
37
  For host-side code automation, these optional env vars are supported:
32
38
 
33
39
  - `UE_ENGINE_ROOT`
@@ -66,9 +72,9 @@ For the gated live smoke test:
66
72
  BLUEPRINT_EXTRACTOR_LIVE_E2E=1 npm run test:live
67
73
  ```
68
74
 
69
- The live suite imports a texture over a local HTTP fixture server, verifies request-header forwarding, imports a local mesh fixture, polls both jobs to completion, and also smoke-tests scratch material, material function, and material instance authoring before saving the returned asset paths.
75
+ The live suite imports a texture over a local HTTP fixture server, verifies request-header forwarding, imports a local mesh fixture, polls both jobs to completion, smoke-tests the composable material workflow plus material function and material instance authoring, and round-trips the dedicated Enhanced Input authoring tools before saving the returned asset paths.
70
76
 
71
- The default unit/stdio suites also cover resource-template registration, the narrowed widget surfaces (`extract_widget_blueprint`, `modify_widget`, `modify_widget_blueprint`), the host-side project-control tools (`compile_project_code`, `trigger_live_coding`, `restart_editor`, `sync_project_code`, `apply_window_ui_changes`), and the compact material graph surfaces (`extract_material`, `modify_material`).
77
+ The default unit/stdio suites also cover prompt registration, resource-template registration, the narrowed widget surfaces (`extract_widget_blueprint`, `modify_widget`, `modify_widget_blueprint`), the host-side project-control tools (`compile_project_code`, `trigger_live_coding`, `restart_editor`, `sync_project_code`, `apply_window_ui_changes`), the compact material graph surfaces (`extract_material`, `modify_material`), and output-schema exposure for the specialized import and cascade tools.
72
78
 
73
79
  Repository and full documentation:
74
80
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { z } from 'zod';
3
4
  import { UEClient } from './ue-client.js';
4
5
  import { type ProjectControllerLike } from './project-controller.js';
5
6
  export type UEClientLike = Pick<UEClient, 'callSubsystem'> & Partial<Pick<UEClient, 'checkConnection'>>;
7
+ type ToolExample = {
8
+ title: string;
9
+ tool: string;
10
+ arguments: Record<string, unknown>;
11
+ };
12
+ type ExampleFamily = {
13
+ summary: string;
14
+ recommended_flow: string[];
15
+ examples: ToolExample[];
16
+ };
17
+ type PromptCatalogEntry = {
18
+ title: string;
19
+ description: string;
20
+ args: Record<string, z.ZodTypeAny>;
21
+ buildPrompt: (args: Record<string, unknown>) => string;
22
+ };
23
+ export declare const exampleCatalog: Record<string, ExampleFamily>;
24
+ export declare const promptCatalog: Record<string, PromptCatalogEntry>;
6
25
  export declare function createBlueprintExtractorServer(client?: UEClientLike, projectController?: ProjectControllerLike): McpServer;
26
+ export {};