get_selected_elements
Retrieve elements currently selected in Revit. Optionally limit the number of returned elements to manage data volume.
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-46 (handler)Executes the tool logic: prepares parameters, sends 'get_selected_elements' command via revitClient within a Revit connection, formats response as JSON or 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) }`, }, ], }; } } );
- Input schema using Zod: optional 'limit' (number) to cap the number of returned elements.{ limit: z .number() .optional() .describe("Maximum number of elements to return"), },
- src/tools/get_selected_elements.ts:5-47 (registration)Function to register the 'get_selected_elements' tool on the MCP server, invoked dynamically from src/tools/register.ts. Includes tool 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) }`, }, ], }; } } ); }