Skip to main content
Glama

Server Details

Navisworks coordination and clash detection via APS — reports, viewpoints, model objects.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.9/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: upload ingests a model, export_report provides translation status and summary, list_objects extracts element properties, get_clashes detects interferences, and get_viewpoints retrieves camera viewpoints. No two tools overlap; even the report's status polling is explicitly differentiated from property and clash queries.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with the nwd_ prefix: nwd_upload, nwd_export_report, nwd_list_objects, nwd_get_clashes, nwd_get_viewpoints. The verbs (upload, export, list, get, get) are appropriate for their actions and the pattern is uniform throughout.

Tool Count5/5

Five tools is well-scoped for a Navisworks coordination MCP server. Each tool serves a distinct, necessary function in the workflow—ingestion, status/reporting, object querying, clash detection, and viewpoint retrieval—without unnecessary bloat or missing essentials.

Completeness5/5

The tool set covers the full lifecycle for a coordination session: upload a model, poll translation status via export_report, query element details, detect clashes, and list viewpoints. It also includes appropriate limitations (e.g., 100-object cap, clash result cap) that are communicated clearly, making the surface complete for its stated purpose.

Available Tools

5 tools
nwd_export_reportAInspect

Build a coordination report for a translated Navisworks model: translation status/progress, derivative outputs, available views (2D sheets / 3D viewables), total element count, and a per-category element breakdown. Doubles as the canonical way to poll translation status after nwd_upload.

When to use: after nwd_upload to check whether translation has completed before calling clash/object tools; at the end of a coordination session to generate a status snapshot for the weekly BIM report; when auditing a model revision to confirm expected element counts per discipline.

When NOT to use: do not use for a per-element property dump — use nwd_list_objects; do not use for clash results — use nwd_get_clashes.

APS scopes required: viewables:read data:read bucket:read (read-only).

Rate limits: APS default ~50 req/min per endpoint; this tool issues up to 4 sequential APS calls (manifest, metadata, properties — two with retry). When polling for translation completion, backoff: 5s, 10s, 30s, 60s, 120s — Model Derivative NWD translation typically completes in 1-10 min but large federated models can take 20+ min.

Errors: 401 APS token expired (retry); 403 missing scope (report); 404 URN not found (model was never uploaded or bucket TTL expired); 409 N/A; 422 translation failed permanently — inspect report.translation_status == "failed" and report.derivatives[].status; 429 rate limit (backoff); 5xx APS upstream (retry once). Property extraction may legitimately 202 "isProcessing" — the tool handles retry and then silently swallows to still return manifest/metadata (element_count will be 0 until properties index is built).

Side effects: none. Pure read. Idempotent — report reflects current APS state. Logs usage to D1 usage_log.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput shape. "json" (default) returns the full structured report object including derivatives[], views[], category_breakdown. "summary" still returns the same keys — the parameter is preserved for forward-compatibility and currently echoes back in the response for caller templating.
model_idYesBase64url-encoded URN of the translated Navisworks model as returned by nwd_upload. Same value used by the other nwd_* tools.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully carries the transparency burden. It discloses side effects ('Pure read', 'Idempotent'), rate limits and backoff schedule, error code mappings (401, 403, 404, 422, 429), and the subtle 202 'isProcessing' swallowing behavior. This is exceptional detail for an MCP tool description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear labeled sections (When to use, When NOT, APS scopes, Rate limits, Errors, Side effects). Every sentence contributes unique value; there is no fluff or repetition. Though long, the organization makes it highly scannable and every detail is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating report fields (translation_status, derivatives[], views[], category_breakdown, element_count), explaining the format parameter's impact, and detailing error and retry behavior. It covers the full translation-polling lifecycle and edge cases, making it complete for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context beyond the schema: the format parameter's forward-compatibility role and echo behavior, and model_id's linkage to nwd_upload and sibling tools. It does not fully rewrite the schema but enriches it with usage-oriented semantics, earning a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Build a coordination report') and lists exact report contents. It explicitly differentiates from siblings in the 'When NOT to use' section, naming nwd_list_objects and nwd_get_clashes as alternatives. It also introduces a secondary purpose (poll translation status), making the tool's role unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a dedicated 'When to use' section with concrete scenarios (post-upload polling, end-of-session snapshot, revision audit) and a 'When NOT to use' section naming specific alternative tools. This is explicit, actionable guidance that goes far beyond typical descriptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nwd_get_clashesAInspect

Detect geometric/logical clashes between two element sets in an already-translated Navisworks model. Uses APS Model Derivative property extraction + same-level proximity heuristics, optionally augmented by VDC rules stored in D1 (table vdc_rules).

When to use: when coordinating federated MEP + structural + architectural models for clash review before issuing an RFI; e.g. "find duct vs. beam clashes on Level 3 before the Wed coordination meeting" or "sanity-check the latest MEP revision against structure before releasing for fabrication." Pair with nwd_export_report to produce a deliverable.

When NOT to use: do not call on a model whose translation is still "inprogress" — call nwd_export_report first and confirm translation_status == "success"; not a substitute for Navisworks Manage Clash Detective for final sign-off (this is a coordination-stage screen, not a regulatory clash report).

APS scopes required: viewables:read data:read (read-only — does not create anything in APS).

Rate limits: APS default ~50 req/min per endpoint; Model Derivative metadata/properties endpoints are the bottleneck. Properties response may return 202 "isProcessing" on first call — the worker retries once after 3s. For very large models (>50k elements) the worker caps analysis at 50x50 element cross-compare and 100 reported clashes; re-run with tighter category_a/category_b filters for exhaustive coverage.

Errors: 401 APS token expired (transient, retry); 403 missing viewables:read/data:read scope (report, do not retry); 404 URN not found or not translated (prompt user to re-run nwd_upload); 409 not applicable; 422 model translated but property index unavailable — typically means source NW version unsupported or translation partially failed (supported: Navisworks 2015+); 429 rate limit (backoff); 5xx APS upstream (retry once). If properties.data.collection is empty the tool returns clash_count: 0 with a note rather than erroring — the agent should treat that as "model not ready" and retry later.

Side effects: none in APS. Reads vdc_rules from D1 when both categories are supplied. Logs usage to D1 usage_log. Idempotent — same inputs on a stable model yield the same clash list.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesBase64url-encoded URN of the translated Navisworks model, exactly as returned by nwd_upload.model_id (or the urn field). Do NOT re-encode. Starts with "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6" for OSS-derived URNs.
category_aNoFirst element-set filter, case-insensitive substring match against each element's Revit/Navisworks Category. Common values: "Mechanical", "Ducts", "Pipes", "Plumbing", "Electrical", "Structural Framing", "Structural Columns", "Walls", "Floors", "Ceilings". Omit (with category_b) to auto-split MEP vs. structural.
category_bNoSecond element-set filter, same semantics as category_a. Must be supplied together with category_a to take effect — supplying only one is ignored in favor of auto-split. Provide both to also look up matching VDC rules from D1.
clash_typeNoClash severity class. "hard" = solid-solid interference (e.g. duct through beam) — returns severity:critical. "soft" = clearance/tolerance violations (e.g. MEP within 50mm of structure) — returns severity:warning. "all" = both. Defaults to "all" when omitted.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers: read-only APS scopes, rate limits, retry behavior, detailed error codes (401/403/404/422/429/5xx), idempotency, and side effects (D1 logging). It also discloses how empty collections are handled, providing complete operational transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with clear headings (When to use, When NOT to use, APS scopes, Rate limits, Errors, Side effects). Every sentence carries actionable information, and the purpose is front-loaded. No redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description explains expected result semantics (severity levels, clash_count zero behavior) and provides comprehensive error handling guidance. It covers all relevant operational contexts, making it fully actionable for an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema description coverage is 100%, the description adds critical interaction semantics beyond the schema: category_a/b must be supplied together or are ignored, auto-split behavior when omitted, and model_id must not be re-encoded. These details are not in the schema and are essential for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it 'Detect geometric/logical clashes between two element sets in an already-translated Navisworks model,' which is a specific verb+resource. It clearly distinguishes from siblings like nwd_export_report and nwd_get_viewpoints by focusing on clash detection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly includes 'When to use' and 'When NOT to use' sections with concrete coordination scenarios (e.g., 'find duct vs. beam clashes on Level 3 before the Wed coordination meeting'). It also tells when to call nwd_export_report first and warns against using the tool when translation is still in progress.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nwd_get_viewpointsAInspect

List saved viewpoints / camera positions and top-level view containers for a translated Navisworks model. Pulls the metadata view list and enriches each 3D view with its first two levels of the object tree (viewpoint folders typically live there in NWD files).

When to use: when preparing a coordination meeting and you need a quick index of every saved viewpoint (e.g. "Level 3 Mech Room", "Clash - duct vs beam gridline C-4") to drive screenshots or BCF-style issues; when an agent needs to deep-link a 2D sheet or 3D camera into the APS Viewer.

When NOT to use: does not return camera matrices (position/target/up vectors) — APS Model Derivative does not expose those from the NWD viewpoint XML; for full camera data the source NWD must be opened in Navisworks Manage.

APS scopes required: viewables:read data:read.

Rate limits: APS default ~50 req/min; this tool fans out one object-tree call per 3D view (capped implicitly by metadata view count, usually <5). For federated models with many sheets this can approach the per-minute quota — cache the result.

Errors: 401 token (retry); 403 scope (report); 404 URN not found / translation incomplete; 409 N/A; 422 model returned empty metadata (returns viewpoint_count:0 rather than throwing — agent should verify translation via nwd_export_report); 429 rate limit (backoff); 5xx APS upstream (retry once). Per-view object-tree failures are swallowed so the overall call still returns the metadata-level view list.

Side effects: none. Pure read. Idempotent. Logs usage to D1 usage_log. Results are capped at 100 viewpoint entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
model_idYesBase64url-encoded URN of the translated Navisworks model as returned by nwd_upload.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and excels: it discloses side effects (none, pure read, idempotent), logging to D1 usage_log, result caps, and error behavior (e.g., per-view failures are swallowed). It also details rate limits and error codes, providing more transparency than annotations typically offer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (When to use, When NOT to use, APS scopes, Rate limits, Errors, Side effects). It is long but every sentence provides actionable information, and the main purpose is front-loaded. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description comprehensively covers usage, errors, and side effects. However, since there is no output schema, the description only vaguely hints at the return shape ('viewpoint_count:0', 'first two levels of the object tree') without specifying exact fields. This minor gap prevents a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: model_id is fully described with an example and guidance to use the URN from nwd_upload. The description adds no further parameter-specific meaning, so the schema already handles parameter semantics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a specific verb-resource combination: 'List saved viewpoints / camera positions and top-level view containers for a translated Navisworks model.' It clearly explains the enrichment with the object tree, making it distinct from sibling tools like nwd_get_clashes or nwd_list_objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a dedicated 'When to use' paragraph with concrete scenarios (coordination meetings, deep-linking) and an explicit 'When NOT to use' section stating that camera matrices are not returned, guiding agents away from misuse. This exceeds the expected guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nwd_list_objectsAInspect

List elements (objects) in the translated Navisworks model with their objectid, name, externalId, and full property bag, optionally filtered by a case-insensitive keyword matched against name and Category.

When to use: when answering "how many VAV boxes are on Level 3?", "list every steel column with mark C-*", or any per-element question; when dumping a quick takeoff of a discipline before handing off to an estimator; when an agent needs externalIds to cross-reference with a Revit or ACC issue.

When NOT to use: not for clash detection (use nwd_get_clashes); not for camera/viewpoint data (use nwd_get_viewpoints); not for full-model exports — results are capped at 100 objects per call, so use the filter argument to narrow.

APS scopes required: viewables:read data:read.

Rate limits: APS default ~50 req/min; two Model Derivative calls per invocation (metadata guid + properties). Properties endpoint may 202 "isProcessing" on first call after translation — the worker retries once after 3s. For very large models the properties payload can be tens of MB; expect higher latency.

Errors: 401 token (retry); 403 scope (report); 404 URN not found; 409 N/A; 422 property index not yet built — returns object_count:0 (poll via nwd_export_report); 429 rate limit (backoff); 5xx APS upstream (retry once). If property collection is legitimately empty the tool returns success with object_count:0 and an empty objects array.

Side effects: none. Pure read. Idempotent. Logs usage to D1 usage_log. Response includes a note field when the unfiltered collection exceeds the 100-object cap.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional case-insensitive substring. Matches if present in the element's name OR its Category property. Use Revit category names ("Ducts", "Pipes", "Structural Columns", "Walls") or mark/type fragments ("VAV", "W12x", "L3-"). Omit to return the first 100 elements of the model in property-collection order.
model_idYesBase64url-encoded URN of the translated Navisworks model as returned by nwd_upload.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description compensates fully. It discloses the 100-object limit, APS rate limits, required scopes, two Model Derivative calls per invocation, 202 retry behavior, error codes and handling, side effects (pure read, idempotent, logs usage), and even the response note when the cap is exceeded. This is comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized into clear sections (purpose, when to use, when not to use, scopes, rate limits, errors, side effects). Every sentence carries information; there is no redundancy or filler. Despite its length, it remains scannable and front-loads the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (APS integration, error handling, rate limits, filtering behavior), the description covers all necessary context. It even mentions that the response includes a note field when the cap is exceeded, and there is no output schema so the description adequately describes the return content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaningful behavior beyond the schema: the filter matches against name OR Category, is case-insensitive, and omitting the filter returns the first 100 elements in property-collection order. It also explains model_id as a base64url URN from nwd_upload, enriching the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'List elements (objects) in the translated Navisworks model', and enumerates the exact fields returned (objectid, name, externalId, full property bag). It also distinguishes itself from sibling tools by explicitly stating what it is NOT for, such as clash detection and viewpoints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'When to use' with concrete example queries and 'When NOT to use' with named alternatives (nwd_get_clashes, nwd_get_viewpoints). It also mentions the 100-object cap as a reason to use filters, giving clear decision guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nwd_uploadAInspect

Upload a Navisworks file (.nwd/.nwf/.nwc) to Autodesk Platform Services (APS) Object Storage and start an SVF2 translation job so the model becomes queryable by the other nwd_* tools.

When to use: at the start of a coordination workflow — e.g. the GC hands off a federated NWD combining MEP + structural + architectural models and the agent needs to stage it for clash review before issuing an RFI, or when a subcontractor publishes a new NWC model revision that must be ingested for weekly BIM coordination. Always the first call in a session for any new model.

When NOT to use: do not call for already-translated models (re-use the returned model_id/URN); do not use for raw Revit .rvt, IFC, or DWG — those go through a different MCP.

APS scopes required: data:read data:write data:create bucket:read bucket:create viewables:read. The worker acquires a 2-legged client-credentials token; the caller does not supply one.

Rate limits: APS default ~50 req/min per app per endpoint; Model Derivative translation job submission ~60 req/min. NWD bundles can be large (hundreds of MB); the upload PUT and translation can take minutes — translation is asynchronous, poll via nwd_export_report (manifest) with exponential backoff (e.g. 5s, 10s, 30s, 60s) before calling clash/properties tools.

Errors the agent should handle: 401 invalid/expired APS token (surface as auth failure — do not retry with same creds); 403 missing scope (report scope gap, do not retry); 404 source file_url unreachable (ask user for a fresh public URL); 409 bucket already exists (handled internally, safe to ignore); 413/422 unsupported Navisworks version — APS Model Derivative supports NWD/NWC from Navisworks 2015 and later (state the unsupported version to the user); 429 rate limited (exponential backoff, retry); 5xx APS upstream (retry once, then surface).

Side effects: creates a fresh transient OSS bucket (scanbim-nwd-, 24h TTL) and uploads the file as an object, then POSTs a Model Derivative translation job. NOT idempotent — each call creates a new bucket/URN even for the same file_url. Logs usage to the D1 usage_log table.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_urlYesPublicly reachable HTTPS URL from which the worker will GET the Navisworks file bytes. Must return the raw binary (not an HTML landing page). Pre-signed S3 URLs, ACC/BIM360 signed-resource URLs, and Cloudflare R2 public URLs all work. Max practical size ~4 GB (Cloudflare Workers fetch body limit applies).
file_nameYesLogical filename for the OSS object. Must end in .nwd, .nwf, or .nwc (case-insensitive) so APS picks the correct translator. Avoid spaces and non-ASCII — the worker sanitizes to [A-Za-z0-9._-]. Follow ScanBIM convention: <project>_<discipline>_<rev>.nwd (e.g. TowerA_MEPStruct_R07.nwd).
project_idNoOptional free-form project label stored alongside the upload record for caller-side correlation. Not sent to APS. Typical values: ACC project GUID, internal job number, or short slug.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and excels. It discloses side effects (creates transient bucket, uploads object, POSTs translation job, NOT idempotent, logs usage), rate limits, required APS scopes, asynchronous polling behavior, and a comprehensive list of errors to handle. This is far beyond what annotations might cover and gives the agent complete transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but tightly structured with bold section headers (When to use, When NOT, Scopes, Rate limits, Errors, Side effects). The first sentence is a crisp summary, and every subsequent sentence provides actionable information. There is no filler or repetition of schema details, making it efficient despite its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, no output schema, and no annotations, the description is remarkably complete. It covers purpose, workflow timing, authentication requirements, rate limits, error handling, and side effects. It even hints at the return value ('re-use the returned model_id/URN') despite no output schema, ensuring the agent knows what to expect and how to proceed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters have detailed schema descriptions (100% coverage), so the baseline is 3. The tool description adds an extra constraint not present in the schema: 'APS Model Derivative supports NWD/NWC from Navisworks 2015 and later,' which is relevant to file selection. It also reinforces the purpose of file_name extension and file_url accessibility, but the schema already handles most parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource+outcome: 'Upload a Navisworks file (.nwd/.nwf/.nwc) to Autodesk Platform Services (APS) Object Storage and start an SVF2 translation job so the model becomes queryable by the other nwd_* tools.' This clearly states what the tool does, its scope, and how it relates to sibling tools, making it unmistakable from the other nwd_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'When to use' and 'When NOT to use' sections with concrete examples (e.g., GC handoff of federated NWD, subcontractor revision). It names alternatives for other formats (Revit, IFC, DWG go through a different MCP) and advises reusing existing model_id/URN for already-translated models. This is textbook usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Enables Navisworks coordination and clash detection via APS, allowing upload of NWD files, extraction of clashes, report generation, and retrieval of viewpoints.
  • A
    license
    -
    quality
    D
    maintenance
    Revit integration via Autodesk Platform Services — Extract elements, parameters, run schedules, detect clashes, export IFC.
    40
    MIT
  • F
    license
    -
    quality
    D
    maintenance
    Enables AI platforms to control Autodesk Navisworks via natural language, supporting model analysis, selection, data extraction, and visual management.
    5

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources