get_selected_elements
Retrieve currently selected elements in Revit with optional limit control for focused data extraction.
Instructions
Get elements currently selected in Revit. You can limit the number of returned elements.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of elements to return |
Implementation Reference
- src/tools/get_selected_elements.ts:15-44 (handler)The handler function that executes the 'get_selected_elements' MCP tool. It processes the input limit, sends the command to the Revit client, and returns the response as formatted JSON or an error message.async (args, extra) => { const params = { limit: args.limit || 100, }; try { const response = await withRevitConnection(async (revitClient) => { return await revitClient.sendCommand("get_selected_elements", params); }); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `get selected elements failed: ${ error instanceof Error ? error.message : String(error) }`, }, ], }; }
- Zod input schema for the 'get_selected_elements' tool, defining an optional 'limit' parameter as a number.{ limit: z .number() .optional() .describe("Maximum number of elements to return"), },
- src/tools/get_selected_elements.ts:5-47 (registration)Function that registers the 'get_selected_elements' tool with the MCP server by calling server.tool with name, description, schema, and handler.export function registerGetSelectedElementsTool(server: McpServer) { server.tool( "get_selected_elements", "Get elements currently selected in Revit. You can limit the number of returned elements.", { limit: z .number() .optional() .describe("Maximum number of elements to return"), }, async (args, extra) => { const params = { limit: args.limit || 100, }; try { const response = await withRevitConnection(async (revitClient) => { return await revitClient.sendCommand("get_selected_elements", params); }); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `get selected elements failed: ${ error instanceof Error ? error.message : String(error) }`, }, ], }; } } ); }