# create_surface_based_element

A write tool on the Revit MCP Server MCP server.

Agent View of the PolicyLayer registry record for `create_surface_based_element`. HTML page: https://policylayer.com/tools/demolinator-revit-mcp-server/create-surface-based-element

## Facts

- Tool: `create_surface_based_element`
- Server: Revit MCP Server (`demolinator/revit-mcp-server`) — https://policylayer.com/tools/demolinator-revit-mcp-server.md
- Homepage: https://github.com/Demolinator/revit-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_surface_based_element",
    "arguments": {}
  }
}
```

## Why create_surface_based_element is rated Medium

The 'create_*' prefix strongly indicates a Write operation that creates new data/elements in the Revit model. This is reversible (can be deleted) and does not execute arbitrary code or permanently destroy data. Severity is medium because incorrect surface element creation could require manual cleanup in a complex model, but the action is not irreversible or destructive.

From the tool's own definition: "Tool named 'create_surface_based_element' with no description provided. Inferred from name and sibling tools (create_detail_line, create_dimensions, create_duct, create_grid, create_level) that this creates or adds new design elements to a Revit model."

## Use case

AI agents use create_surface_based_element to create or update resources in Revit MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Revit MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Revit MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_surface_based_element": {
      "limits": [
        {
          "counter": "create_surface_based_element_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Revit MCP Server (47)

- `delete_elements` — Destructive — https://policylayer.com/tools/demolinator-revit-mcp-server/delete-elements.md
- `execute_revit_code` — Execute — https://policylayer.com/tools/demolinator-revit-mcp-server/execute-revit-code.md
- `set_active_view` — Execute — https://policylayer.com/tools/demolinator-revit-mcp-server/set-active-view.md
- `transform_elements` — Execute — https://policylayer.com/tools/demolinator-revit-mcp-server/transform-elements.md
- `ai_element_filter` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/ai-element-filter.md
- `analyze_model_statistics` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/analyze-model-statistics.md
- `check_clashes` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/check-clashes.md
- `export_room_data` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/export-room-data.md
- `get_current_view_elements` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-current-view-elements.md
- `get_current_view_info` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-current-view-info.md
- `get_element_properties` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-element-properties.md
- `get_material_quantities` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-material-quantities.md
- `get_revit_model_info` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-revit-model-info.md
- `get_revit_status` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-revit-status.md
- `get_revit_view` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-revit-view.md
- `get_selected_elements` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/get-selected-elements.md
- `list_category_parameters` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/list-category-parameters.md
- `list_families` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/list-families.md
- `list_family_categories` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/list-family-categories.md
- `list_levels` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/list-levels.md
- `list_revit_views` — Read — https://policylayer.com/tools/demolinator-revit-mcp-server/list-revit-views.md
- `clear_colors` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/clear-colors.md
- `color_splash` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/color-splash.md
- `create_detail_line` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-detail-line.md
- `create_dimensions` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-dimensions.md
- `create_duct` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-duct.md
- `create_grid` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-grid.md
- `create_level` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-level.md
- `create_line_based_element` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-line-based-element.md
- `create_mep_system` — Write — https://policylayer.com/tools/demolinator-revit-mcp-server/create-mep-system.md
- …and 17 more: https://policylayer.com/tools/demolinator-revit-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=demolinator-revit-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/demolinator-revit-mcp-server
