Revit (HassanElmathary) MCP Server

revit-mcp-server npm v2.0.1

Published by hassanelmathary — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

MCP Server for Autodesk Revit — 179 AI-powered tools for BIM automation. Works with Claude Desktop, Cursor, Windsurf, and any MCP client. Supports Revit 2020–2026.

Trust grade
A
96/100
Last scanned get badge →
Trust
A · 96/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Moderate
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 96/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 4 = 96. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−3 capability blast radius (moderate) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 2

medium Hardcoded egress to an external endpoint (build/integrations/notion-client.js)MTC-SRC-003

In the server's implementation (`build/integrations/notion-client.js:101`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: const response = await fetch(`https://api.notion.com/v1/databases/${databaseId}/query`, { method: "POST",

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/integrations/notion-client.js

medium Dynamic module load from a non-literal (build/tools/register.js)MTC-SRC-005

In the server's implementation (`build/tools/register.js:17`): Loading a module chosen at runtime (from a variable) can pull in and run attacker-influenced code paths. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: const module = await import(importPath); const registerFn = Object.keys(module).find((key) => key.startsW

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server build/tools/register.js

Tools 179

Each tool and what it can reach — statically extracted from the published source.

  • export_to_excelnetwork egress
  • export_to_google_sheetsnetwork egress
  • export_to_notionnetwork egress
  • export_to_powerbinetwork egress
  • export_to_sqlitenetwork egress
  • add_revisionno sensitive capability
  • add_shared_parameterno sensitive capability
  • ai_analyze_datano sensitive capability
  • ai_analyze_modelno sensitive capability
  • ai_chatno sensitive capability
Show 169 more tools ↓
  • ai_clear_historyno sensitive capability
  • ai_element_filterno sensitive capability
  • ai_generateno sensitive capability
  • ai_generate_codeno sensitive capability
  • ai_map_fieldsno sensitive capability
  • ai_summarize_and_pushno sensitive capability
  • align_elementsno sensitive capability
  • align_viewportsno sensitive capability
  • apply_view_templateno sensitive capability
  • audit_modelno sensitive capability
  • auth_statusno sensitive capability
  • auto_join_elementsno sensitive capability
  • auto_renumberno sensitive capability
  • batch_create_sheetsno sensitive capability
  • batch_modify_parametersno sensitive capability
  • batch_modify_thicknessno sensitive capability
  • bulk_parameter_transferno sensitive capability
  • cad_to_linesno sensitive capability
  • category_to_worksetno sensitive capability
  • change_link_pathno sensitive capability
  • change_typeno sensitive capability
  • check_links_statusno sensitive capability
  • check_naming_conventionsno sensitive capability
  • check_room_complianceno sensitive capability
  • check_warningsno sensitive capability
  • close_documentno sensitive capability
  • close_viewno sensitive capability
  • color_elementsno sensitive capability
  • compare_snapshotsno sensitive capability
  • connect_mep_elementsno sensitive capability
  • convert_categoryno sensitive capability
  • copy_elementno sensitive capability
  • copy_from_linkedno sensitive capability
  • create_ceilingno sensitive capability
  • create_checkpointno sensitive capability
  • create_curtain_wallno sensitive capability
  • create_detail_arcno sensitive capability
  • create_detail_linesno sensitive capability
  • create_dimensionno sensitive capability
  • create_ductno sensitive capability
  • create_electrical_circuitno sensitive capability
  • create_elevation_viewsno sensitive capability
  • create_family_extrusionno sensitive capability
  • create_filled_regionno sensitive capability
  • create_flex_ductno sensitive capability
  • create_floorno sensitive capability
  • create_gridno sensitive capability
  • create_legendno sensitive capability
  • create_levelno sensitive capability
  • create_line_based_elementno sensitive capability
  • create_mep_spaceno sensitive capability
  • create_model_linesno sensitive capability
  • create_new_familyno sensitive capability
  • create_new_projectno sensitive capability
  • create_pipeno sensitive capability
  • create_point_based_elementno sensitive capability
  • create_railingno sensitive capability
  • create_roofno sensitive capability
  • create_roomno sensitive capability
  • create_scheduleno sensitive capability
  • create_section_viewsno sensitive capability
  • create_sheetno sensitive capability
  • create_spot_elevationno sensitive capability
  • create_stairsno sensitive capability
  • create_tagno sensitive capability
  • create_text_noteno sensitive capability
  • create_viewno sensitive capability
  • create_viewportno sensitive capability
  • create_wallno sensitive capability
  • crop_region_syncno sensitive capability
  • deep_purgeno sensitive capability
  • delete_elementsno sensitive capability
  • delete_empty_groupsno sensitive capability
  • delta_syncno sensitive capability
  • detach_from_centralno sensitive capability
  • duct_sizingno sensitive capability
  • edit_familyno sensitive capability
  • edit_scheduleno sensitive capability
  • edit_sketchno sensitive capability
  • export_dwgno sensitive capability
  • export_revit_datano sensitive capability
  • export_scheduleno sensitive capability
  • export_view_imageno sensitive capability
  • filter_selectionno sensitive capability
  • find_cad_importsno sensitive capability
  • find_duplicatesno sensitive capability
  • find_replace_namesno sensitive capability
  • generate_legendno sensitive capability
  • get_current_view_elementsno sensitive capability
  • get_current_view_infono sensitive capability
  • get_elementsno sensitive capability
  • get_familiesno sensitive capability
  • get_gridsno sensitive capability
  • get_levelsno sensitive capability
  • get_line_stylesno sensitive capability
  • get_link_infono sensitive capability
  • get_linked_modelsno sensitive capability
  • get_materialsno sensitive capability
  • get_mep_systemsno sensitive capability
  • get_model_statisticsno sensitive capability
  • get_parametersno sensitive capability
  • get_phasesno sensitive capability
  • get_project_infono sensitive capability
  • get_roomsno sensitive capability
  • get_schedulesno sensitive capability
  • get_selected_elementsno sensitive capability
  • get_sheetsno sensitive capability
  • get_sketchno sensitive capability
  • get_sqlite_snapshotsno sensitive capability
  • get_viewsno sensitive capability
  • get_warningsno sensitive capability
  • get_worksharing_infono sensitive capability
  • google_sign_inno sensitive capability
  • google_sign_outno sensitive capability
  • google_signinno sensitive capability
  • group_elementsno sensitive capability
  • import_data_from_csvno sensitive capability
  • inverse_selectionno sensitive capability
  • list_commandsno sensitive capability
  • list_google_spreadsheetsno sensitive capability
  • load_familyno sensitive capability
  • manage_link_positionno sensitive capability
  • mirror_elementno sensitive capability
  • modify_object_stylesno sensitive capability
  • modify_parameterno sensitive capability
  • move_elementno sensitive capability
  • ollama_chatno sensitive capability
  • open_documentno sensitive capability
  • open_viewno sensitive capability
  • override_element_in_viewno sensitive capability
  • parameter_case_convertno sensitive capability
  • place_view_on_sheetno sensitive capability
  • post_commandno sensitive capability
  • preview_codeno sensitive capability
  • print_sheetsno sensitive capability
  • purge_unusedno sensitive capability
  • read_google_sheetsno sensitive capability
  • read_notion_databaseno sensitive capability
  • reassign_levelno sensitive capability
  • relinquish_allno sensitive capability
  • reset_viewno sensitive capability
  • resolve_warningsno sensitive capability
  • rollback_to_checkpointno sensitive capability
  • room_to_floorno sensitive capability
  • rotate_elementno sensitive capability
  • save_as_documentno sensitive capability
  • save_documentno sensitive capability
  • save_familyno sensitive capability
  • select_by_parameterno sensitive capability
  • select_by_worksetno sensitive capability
  • select_elementsno sensitive capability
  • send_code_to_revitno sensitive capability
  • set_line_styleno sensitive capability
  • set_materialno sensitive capability
  • set_phaseno sensitive capability
  • set_sketch_profileno sensitive capability
  • set_sun_settingsno sensitive capability
  • set_view_propertiesno sensitive capability
  • set_visual_styleno sensitive capability
  • set_worksetno sensitive capability
  • snap_beams_to_columnsno sensitive capability
  • sync_to_centralno sensitive capability
  • tag_all_in_viewno sensitive capability
  • undo_last_operationno sensitive capability
  • unload_linksno sensitive capability
  • validate_parametersno sensitive capability
  • wall_floor_syncno sensitive capability
  • zoom_to_elementno sensitive capability
  • zoom_to_fitno sensitive capability

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v2.0.1 latest A 96/100 2 1.13.0 2026-09-07

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 96/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/revit-mcp-server/badge.svg)](https://mcptrustchecker.com/registry/revit-mcp-server)
HTML
<a href="https://mcptrustchecker.com/registry/revit-mcp-server"><img src="https://mcptrustchecker.com/registry/revit-mcp-server/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/revit-mcp-server/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan revit-mcp-server --online

Use the free API → How scoring works

Other implementations of Revit 4

Independent packages implementing the same tool, scanned with the same engine. Compare all 5 side by side →

More in Developer Tools