bulc_get_point_data
Extract time-series simulation data for temperature, visibility, or species concentration at specific coordinates in BULC Building Designer.
Instructions
Extract time-series data at a specific point in the simulation domain. Useful for getting temperature, visibility, or species concentration at a location.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X coordinate in meters | |
| y | Yes | Y coordinate in meters | |
| z | Yes | Z coordinate in meters | |
| variable | Yes | Variable to extract: 'temp', 'visibility', 'co', 'co2', 'o2', 'velocity' | |
| dataSource | No | Data source: 'plot3d' or 'slice'. Default: plot3d |
Implementation Reference
- src/tools/result.ts:251-257 (handler)Handler logic for the 'bulc_get_point_data' MCP tool: parses input schema and sends 'get_point_data' action command to the BULC client.case "bulc_get_point_data": { const validated = GetPointDataSchema.parse(args); result = await client.sendCommand({ action: "get_point_data", params: validated, }); break;
- src/tools/result.ts:193-199 (schema)Zod schema used for input validation in the 'bulc_get_point_data' tool handler.const GetPointDataSchema = z.object({ x: z.number(), y: z.number(), z: z.number(), variable: z.enum(["temp", "visibility", "co", "co2", "o2", "velocity"]), dataSource: z.enum(["plot3d", "slice"]).optional(), });
- src/tools/result.ts:52-89 (registration)MCP tool registration definition for 'bulc_get_point_data', including name, description, input schema, and annotations.{ name: "bulc_get_point_data", description: "Extract time-series data at a specific point in the simulation domain. " + "Useful for getting temperature, visibility, or species concentration at a location.", inputSchema: { type: "object" as const, properties: { x: { type: "number", description: "X coordinate in meters", }, y: { type: "number", description: "Y coordinate in meters", }, z: { type: "number", description: "Z coordinate in meters", }, variable: { type: "string", description: "Variable to extract: 'temp', 'visibility', 'co', 'co2', 'o2', 'velocity'", enum: ["temp", "visibility", "co", "co2", "o2", "velocity"], }, dataSource: { type: "string", description: "Data source: 'plot3d' or 'slice'. Default: plot3d", enum: ["plot3d", "slice"], }, }, required: ["x", "y", "z", "variable"], }, annotations: { readOnlyHint: true, destructiveHint: false, }, },
- src/index.ts:124-132 (registration)Main server request handler dispatching 'bulc_get_point_data' tool calls to the specific result tool handler.if ( name === "bulc_open_result_viewer" || name === "bulc_list_result_datasets" || name === "bulc_get_point_data" || name === "bulc_run_aset_analysis" || name === "bulc_generate_report" ) { return await handleResultTool(name, safeArgs); }