Skip to main content
Glama
mikhalchankasm

navisworks-viewpoints-mcp

navisworks-viewpoints-mcp

Русский · English

MCP-сервер для работы с XML точек обзора Navisworks (nw-exchange-12.0) из любого MCP-совместимого ИИ-клиента.

Работает с любым файлом точек обзора: открыть и отсортировать точки, проверить на дубли, перенести между папками, слить два файла. Сборка нескольких выгрузок в один мастер-файл и синхронизация списков «решено / не решено» — это отдельные сценарии поверх той же логики, а не обязательный режим. Мастер-файл нигде не требуется по умолчанию — почти все инструменты принимают путь к файлу аргументом.

Это портативная версия логики, которая раньше жила скриптами внутри проекта navisworks-external-viewpoint-manage. Теперь её можно поставить на любой машине одной строкой и подключить к Claude, Codex, Kimi, Cursor, Opencode и др.

Установка в один клик

Add to Cursor Install in VS Code

После клика клиент добавит сервер автоматически. Требуется установленный uv. Для обычной работы (открыть файл и отсортировать/проверить точки) больше ничего настраивать не нужно — путь к файлу передаётся прямо в запросе. Поле NAVISWORKS_MASTER (placeholder REPLACE_WITH_FULL_PATH_TO_MASTER.xml) заполняйте, только если работаете по схеме с мастер-файлом — можно сделать это позже в Settings → MCP, либо удалить, если мастер не используете.

Related MCP server: Automatización MCP — Navisworks Manage 2025

⚡ Быстрый старт через ИИ-агента

Не хотите настраивать руками? Откройте чат своего агента (Cursor, Claude Code, Codex…) и дайте одну фразу:

Прочитай https://raw.githubusercontent.com/mikhalchankasm/navisworks-viewpoints-mcp/main/SETUP_PROMPT.md
и выполни инструкцию по установке MCP-сервера navisworks-viewpoints для моего клиента.

Агент сам определит клиент, пропишет конфиг (не трогая другие серверы), запустит и проверит сервер. Если агент не умеет открывать ссылки — скопируйте готовый промт из SETUP_PROMPT.md. Ручная настройка — ниже.

Возможности (инструменты MCP)

Работают с любым файлом (путь — аргументом); там, где путь опционален, как дефолт берётся мастер из env.

Инструмент

Что делает

Файл

export_tree

Сохранить дерево точек в HTML (сворачиваемое) / текст для просмотра без Navisworks

любой

sort_viewpoints

Отсортировать точки в файле, пересчитать (N) (одна папка или все)

любой

dedupe_viewpoints

Удалить дубли по имени (в папке) или GUID (глобально)

любой

audit_viewpoints

Дубли GUID, конфликты имя/папка, счётчики

любой

list_folders

Папки файла со счётчиками view

любой

list_views

Точки (имя, guid) в конкретной папке

любой

rename_folder

Переименовать папку (с пересчётом (N))

любой

affix_view_names

Добавить префикс/суффикс к именам точек (массово)

любой

move_views

Перенести точки по именам между папками одного файла (есть dry_run)

любой

split_file

Вытащить точки по именам в новый файл (копировать или перенести)

любой

merge_viewpoints

Добавить view из одного файла в папку другого (конфликт имени = ошибка)

любой

reconcile_by_name

Сверка по именам: что есть в выгрузках, но нет в целевом файле (и наоборот)

каталог + цель

get_config

Показать текущие пути из env (нужно только для схемы с мастером)

sync_lists

Схема «мастер»: синхронизировать два списка ID (решено/открыто) с каталогом выгрузок

мастер + каталог

add_to_master

Схема «мастер»: датированная копия мастера + добавление в ЛКП (…), дубли молча в отчёт

мастер

Сценарии работы

Сервер не навязывает один процесс — это набор операций. Типичные схемы:

A. Ad-hoc с одним файлом (мастер не нужен)

Самый частый случай: открыли произвольную выгрузку и привели в порядок.

  • «Покажи дерево точек, чтобы листать без Navisworks» → export_tree (HTML со сворачиванием; открой возвращённый файл в браузере)

  • «Отсортируй точки в D:\…\выгрузка.xml» → sort_viewpoints

  • «Убери дубли точек» → dedupe_viewpoints

  • «Проверь файл на дубли GUID и одинаковые имена» → audit_viewpoints

  • «Покажи папки и сколько в каждой точек» → list_folders / list_views

  • «Переименуй папку Папка 1 в Этаж 1» → rename_folder

  • «Добавь префикс AX- ко всем именам точек» → affix_view_names

  • «Перенеси точки 92, 95 из папки A в папку B» → move_views

  • «Вытащи точки 100–105 в отдельный файл» → split_file

B. Слить два файла

  • «Добавь все точки из выгрузка.xml в папку Этаж 1 файла сводный.xml» → merge_viewpoints (по умолчанию новые GUID, конфликт имени останавливает — для «пропускать молча» см. схему C).

C. Сборка в мастер-файл (одна из схем, не обязательная)

Когда есть единый накопительный файл «Общие точки», куда стекаются выгрузки:

  • «Добавь точки из выгрузки в мастер» → add_to_master (создаёт датированную копию, кладёт в ЛКП (…), существующие имена молча пропускает и собирает в отчёт).

  • «Синхронизируй списки решённых/открытых с каталогом выгрузок» → sync_lists.

  • «Сверь, чего в мастере не хватает относительно выгрузок» → reconcile_by_name.

Для схемы C удобно один раз прописать путь к мастеру в env (см. ниже) — тогда его не нужно указывать в каждом вызове. Для схем A и B достаточно передавать путь к файлу прямо в запросе.

Требования

  • uv (ставит Python сам).

  • Git (для установки из репозитория).

Установка / запуск

Запуск сервера у всех клиентов одинаковый — команда uvx тянет пакет прямо из git и держит его в изолированном окружении:

uvx --from git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp navisworks-viewpoints-mcp

Локальная разработка:

git clone https://github.com/mikhalchankasm/navisworks-viewpoints-mcp
cd navisworks-viewpoints-mcp
uv sync --extra dev
uv run pytest
uv run navisworks-viewpoints-mcp           # запустить сервер по stdio
uv run navisworks-viewpoints-mcp --check   # проверить, что пути из env подхватились
uv run navisworks-viewpoints-mcp --version

Пути к данным

По умолчанию ничего настраивать не нужно — передавайте путь к файлу прямо в запросе («отсортируй D:\…\выгрузка.xml»). Это покрывает схемы A и B.

Переменные окружения нужны только для удобства схемы «мастер» (C): задайте их один раз в конфиге клиента, и инструменты add_to_master / sync_lists / reconcile_by_name будут брать пути по умолчанию, без указания в каждом вызове.

Переменная

Назначение

NAVISWORKS_MASTER

Полный путь к мастер-файлу (высший приоритет)

NAVISWORKS_VIEWPOINTS_ROOT

Каталог с .xml выгрузками

NAVISWORKS_MASTER_FILENAME

Только имя файла мастера (внутри ROOT)

Явный путь в аргументе инструмента (xml=..., master=..., root=...) всегда важнее env. Если переменные не заданы и путь не передан — инструмент вернёт понятную ошибку.

Подключение к клиентам

Во всех примерах подставьте реальные пути к вашим файлам. Готовые файлы — в examples/configs/.

Claude Code

.mcp.json в корне проекта (или claude mcp add):

{
  "mcpServers": {
    "navisworks-viewpoints": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
      "env": {
        "NAVISWORKS_VIEWPOINTS_ROOT": "D:\\\\Path\\\\To\\\\Точки_обзора",
        "NAVISWORKS_MASTER_FILENAME": "Общие точки 16-04-2026.xml"
      }
    }
  }
}

Claude Desktop

claude_desktop_config.json (Settings → Developer → Edit Config) — та же структура mcpServers, что и выше.

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "navisworks-viewpoints": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
      "env": { "NAVISWORKS_MASTER": "D:\\\\...\\\\Общие точки 16-04-2026.xml" }
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.navisworks-viewpoints]
command = "uvx"
args = ["--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"]
env = { NAVISWORKS_MASTER = "D:\\\\...\\\\Общие точки 16-04-2026.xml" }

Opencode

opencode.json:

{
  "mcp": {
    "navisworks-viewpoints": {
      "type": "local",
      "command": ["uvx", "--from", "git+https://github.com/mikhalchankasm/navisworks-viewpoints-mcp", "navisworks-viewpoints-mcp"],
      "environment": { "NAVISWORKS_MASTER": "D:\\\\...\\\\Общие точки 16-04-2026.xml" }
    }
  }
}

Kimi и прочие stdio-клиенты

Любой клиент, поддерживающий MCP по stdio: command = uvx, args = ["--from", "git+...","navisworks-viewpoints-mcp"], переменные окружения с путями. См. examples/configs/generic-stdio.md.

Формат XML

  • Корень <exchange ... xsi:noNamespaceSchemaLocation="...nw-exchange-12.0.xsd">.

  • <viewpoints><viewfolder name="..." guid="..."> и/или плоские <view>.

  • Счётчик (N) в имени папки = число прямых дочерних <view>; пересчитывается автоматически после правок.

  • Запись: UTF-8, XML-декларация, namespace xsi. Поля filename/filepath у <exchange> не трогаются.

Лицензия

MIT

Available Tools

13 tools
add_to_masterA

Добавить точки из src в мастер по дефолтным правилам (рекомендуемый сценарий).

- dated_copy=True: создаёт копию 'Общие точки {today}.xml' и правит её, мастер не трогает.
- folder_prefix: целевая папка по префиксу имени (по умолчанию 'ЛКП (' — нерешённые).
- конфликты имён: молча пропускаются и попадают в отчёт skipped_existing.
today — дата DD-MM-YYYY (передаёт клиент; нельзя зашивать в сервер).
master — путь к мастеру; если не задан, берётся из env.
ParametersJSON Schema
NameRequiredDescriptionDefault
srcYes
todayYes
masterNo
folder_prefixNoЛКП (
new_guidsNo
dated_copyNo

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description thoroughly explains behavioral traits: dated_copy creates a copy and leaves master untouched, name conflicts are silently skipped and reported in skipped_existing, folder_prefix defaults to 'ЛКП (', master path falls back to environment variable. It also clarifies that today must be provided by the client and not hardcoded.

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 concise (three lines plus bullet points) and front-loaded with the main purpose. Every sentence adds value, and the structure uses bullet points for clarity without redundancy.

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

Completeness3/5

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

Given the complexity (6 parameters, no annotations, no output schema), the description covers core behavior (conflict handling, dated_copy, folder_prefix) but lacks explanation of the return value (skipped_existing report structure), error cases, and the new_guids parameter. It is adequate for basic usage but incomplete for full context.

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 0%, so the description must compensate. It explains the meaning of src (source of points), today (date format DD-MM-YYYY, client-provided), master (optional, defaults to env), folder_prefix (target folder prefix), and dated_copy (create copy). However, it does not explain new_guids, and src description is minimal. Partial coverage reduces effectiveness.

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 clearly states the tool's purpose: 'Добавить точки из src в мастер по дефолтным правилам (рекомендуемый сценарий)'. It uses a specific verb ('добавить'), names the resource (src, master), and distinguishes itself as the recommended scenario among siblings like merge_viewpoints and reconcile_by_name.

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

Usage Guidelines3/5

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

The description implies this is the recommended scenario but does not explicitly state when to use this tool versus alternatives (e.g., merge_viewpoints, reconcile_by_name). No exclusion criteria or when-not-to-use guidance is provided, leaving the agent to infer usage.

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

audit_viewpointsC

Аудит файла: папки со счётчиками, дубли GUID, конфликты имя/папка, всего view.

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description only lists the auditing categories without disclosing whether the tool is read-only or has side effects. It does not mention permissions, rate limits, or return behavior, leaving the agent guessing about its operational impact.

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

Conciseness4/5

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

The description is a single, compact sentence that conveys the core purpose without extraneous text. It is front-loaded and efficient, though it could benefit from a slightly more structured breakdown.

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

Completeness2/5

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

Given that the tool has one parameter with no schema description, no output schema, and no behavioral annotations, the description is inadequate. It lists what is audited but does not specify input format, output structure, or any prerequisites, leaving significant gaps for the agent.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the 'xml' parameter beyond its type. The description adds no meaning to the parameter (e.g., whether it is a file path or content), so the agent has insufficient information to use it correctly.

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

Purpose4/5

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

The description clearly states the tool audits a file for specific issues: folders with counters, duplicate GUIDs, name/folder conflicts, and total views. It distinguishes from siblings like dedupe_viewpoints or list_folders, but could be more explicit about the 'audit' verb.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as dedupe_viewpoints or reconcile_by_name. The description does not provide context for ideal usage scenarios or exclusions.

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

dedupe_viewpointsA

Удалить дубли точек обзора в файле (оставляя первый). Мастер не нужен.

by="name" — дубли по имени в пределах одной папки; by="guid" — дубли по GUID глобально по всему файлу. Возвращает список удалённых; счётчики (N) пересчитываются. backup — сделать xml.bak.

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
byNoname
backupNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses destructive behavior (removes duplicates), backup option, recalculated counters, and that no master file is needed. Does not discuss error handling or auth, but covers key behavioral traits adequately.

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?

Five lines, each serving a purpose: core action, parameter details, return value, backup behavior. No filler; front-loaded with main verb. Efficient and to the point.

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?

For a tool with 3 parameters, no output schema, and no annotations, the description gives good coverage: parameters explained, return type (list of removed), side effects (counter recalc, backup). Could mention error cases or file format, but sufficient.

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 has 0% description coverage; description explains the 'by' parameter with two options and their scopes, and the 'backup' parameter. The 'xml' parameter is left implicit but understandable. Adds meaningful detail beyond the minimal 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?

Description clearly states the verb (dedupe) and resource (viewpoints in a file), with specific modes (by name or by guid). It distinguishes from sibling tools like merge_viewpoints or sort_viewpoints by focusing solely on removal of duplicates.

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

Usage Guidelines3/5

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

Provides internal usage guidance for by and backup parameters, but lacks explicit when-to-use vs alternative tools. Does not mention prerequisites or exclusions, though the context of removing duplicates is clear.

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

get_configB

Показать текущую настройку путей (env, разрешённый мастер и каталог выгрузок).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description only implies the tool is read-only by saying 'show'. It does not disclose behavioral details such as side effects, authentication requirements, or error handling, which are important for a tool with no annotations.

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

Conciseness4/5

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

The description is one short sentence, which is efficient. However, it could be structured slightly better (e.g., listing items explicitly), but it is not verbose or wasteful.

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

Completeness3/5

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

Given the tool has no parameters and no annotations, the description adequately states the purpose but lacks details about the output format or behavior such as what 'env' means or if any prerequisites exist. It is minimally complete.

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?

The tool has zero parameters, and the schema is empty. The description adds value by explaining what the tool returns (current path settings with specific fields), which is beyond what the schema provides. Baseline for 0 params is 4.

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

Purpose4/5

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

The description clearly states the tool shows current path settings and lists specific items (env, allowed master, export directory). It uses a specific verb 'show' and resource 'path settings', but does not explicitly distinguish from siblings, though it seems unique.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description merely states what it does, leaving the agent to infer usage context from the tool name and sibling list.

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

list_foldersA

Список папок (viewfolder) в файле: путь, число прямых view и view в поддереве.

xml — путь к любому .xml точек обзора. Если не задан, берётся мастер из env
(NAVISWORKS_MASTER / ROOT+FILENAME) — как удобный дефолт, не требование.
ParametersJSON Schema
NameRequiredDescriptionDefault
xmlNo

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description must disclose behavior. It explains the output and parameter default, but does not explicitly state that the tool is read-only or mention any side effects.

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

Conciseness4/5

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

The description is relatively short and front-loaded with the main action, though the last sentence about defaults is somewhat lengthy but necessary.

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?

For a simple list tool with one optional parameter and no output schema, the description covers the purpose, parameter, and output format (path, counts), making it sufficiently complete.

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?

The schema provides minimal info (type, default), but the description adds meaning by explaining the parameter's purpose (path to .xml) and its fallback behavior, which compensates for the 0% schema coverage.

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 clearly states the tool lists folders in a file and provides specific details (path, number of direct views and views in subtree), which distinguishes it from sibling tools like list_views.

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

Usage Guidelines3/5

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

Usage context is implied (for listing folders in a file), but there is no explicit guidance on when to use this tool versus alternatives or when not to use it.

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

list_viewsA

Прямые (имя, guid) в указанной папке.

folder — путь папки под <viewpoints>, например 'ЛКП (33)' или 'A/B' (пусто = корень).
xml — путь к файлу; если не задан, берётся мастер из env.
ParametersJSON Schema
NameRequiredDescriptionDefault
folderYes
xmlNo

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that the tool lists views and explains the xml default behavior, but does not explicitly state whether the operation is read-only, what permissions are required, or any other behavioral traits beyond listing.

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 concise with one introductory sentence and two bullet points for parameters. Every sentence adds value without redundancy, making it efficient for an AI agent.

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?

Given no output schema, the description mentions that return fields include name and guid, which provides a basic understanding. However, it does not specify the full structure (e.g., list of objects) or how many results. Still, it is mostly complete for a simple listing tool.

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 description coverage is 0%, so the description must explain parameters. It does so effectively: folder is described as a path under viewpoints with examples, and xml is described as an optional file path with a default behavior (master from env). This adds significant meaning beyond 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 clearly states that the tool lists views (name, guid) in a specified folder. The verb 'list' is implied and the resource 'views' is specified. This distinguishes it from sibling tools like list_folders, which list folders instead.

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

Usage Guidelines3/5

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

The description explains the parameters and default behavior (if xml not given, master from env is used), but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. Usage context is implied but not fully guided.

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

merge_viewpointsA

Добавить все из выгрузки src в папку folder файла base.

Конфликт имени в целевой папке = ошибка (используйте add_to_master для «пропускать молча»).
new_guids — выдать новые GUID переносимым точкам (по умолчанию да).
backup — сделать base.bak перед записью.
ParametersJSON Schema
NameRequiredDescriptionDefault
baseYes
srcYes
folderYes
new_guidsNo
backupNo

TDQS

A4.6/5.0
Behavior4/5

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

Discloses conflict behavior, new_guids and backup options, but lacks description of output or side effects on base file. With no annotations, this is good but not exhaustive.

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?

Four concise sentences, front-loaded with main action, each sentence adds essential information. No wordiness.

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?

Covers main behavior, conflict handling, and boolean options. Missing output/return description and clarity on base/src format, but adequate for moderate complexity.

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?

Adds meaning to all 5 parameters: explains new_guids generates new GUIDs, backup creates .bak file. Base and src type (string) is ambiguous but schema coverage is 0% so description compensates well.

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 clearly states the tool adds views from src to a folder in base, using specific verbs and resources. It distinguishes from sibling add_to_master by describing conflict behavior.

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?

Explicitly states when to use this tool (error on name conflict) and when to use add_to_master (silent skip), providing clear alternative guidance.

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

move_viewsB

Перенести по точным именам между папками одного файла.

from_folder / to_folder — пути папок под <viewpoints> (через '/').
names — список точных имён точек.
dry_run — только показать, что было бы перенесено.
ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
from_folderYes
to_folderYes
namesYes
backupNo
dry_runNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavioral traits. It reveals that the tool moves views (implying mutation) and that dry_run shows intended changes without execution. However, it does not disclose whether views are copied or cut, whether original views are deleted, any side effects, permissions required, or the backup behavior despite a backup parameter existing.

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 front-loaded and concise: four short lines covering the action and key parameters. No redundant or irrelevant sentences. Every element adds value.

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

Completeness2/5

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

Given the absence of annotations and output schema, the description should fully equip an agent to invoke the tool. It fails to define the 'xml' parameter and does not clarify the backup behavior. Essential context like file scope and move semantics is missing, leaving the agent underinformed.

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?

With 0% schema description coverage, the description must compensate. It explains from_folder, to_folder, names, and dry_run adequately. However, it omits explanations for the 'xml' parameter (likely the file identifier) and the 'backup' parameter, leaving ambiguity for critical fields.

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 clearly states the action (переместить 'move'), the resource (view), and the constraint (по точным именам между папками одного файла – 'by exact names between folders of one file'). It distinguishes from sibling tools that handle deduplication, merging, or sorting, as this is specifically about moving views between folders within a file.

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

Usage Guidelines2/5

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

The description does not indicate when to use this tool versus alternatives like rename_folder, sort_viewpoints, or sync_lists. No prerequisites or exclusions are mentioned. The only usage hint is the dry_run parameter, but it lacks explicit when-to-use and when-not-to-use guidance.

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

reconcile_by_nameB

Сверка «числовых» имён точек: есть в выгрузках, но нет в мастере (и наоборот).

root — каталог выгрузок (по умолчанию из env), master — мастер (по умолчанию из env).
ParametersJSON Schema
NameRequiredDescriptionDefault
rootNo
masterNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description fails to disclose whether the tool is read-only or destructive, or any side effects. It only states the operation without behavioral traits, leaving ambiguity for an AI agent.

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 extremely concise, with two clear sentences: the first stating purpose, the second explaining parameters. Every sentence adds value with no unnecessary words.

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

Completeness3/5

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

Given the simple tool with two parameters and no output schema, the description covers the inputs but omits the output/result format (e.g., a list of discrepancies). It also doesn't specify the default env variable names, leaving some context missing.

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?

The description explains that 'root' is the dumps directory and 'master' is the master directory, with defaults from env, compensating for the 0% schema coverage. However, it lacks details on directory formats or file types.

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

Purpose4/5

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

The description clearly states the tool reconciles 'numeric' point names, comparing dumps and master. It uses a specific verb and resource, and the mention of 'numeric' distinguishes it from general reconciliation tools among siblings.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'sync_lists' or 'merge_viewpoints'. The description implies usage for numeric names but lacks explicit when-to or when-not-to instructions.

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

rename_folderB

Переименовать папку (viewfolder) в файле; счётчик (N) пересчитывается автоматически.

folder — путь к существующей папке ('ЛКП (2)' или 'A/B').
new_name — новое имя (можно без '(N)' — суффикс добавится сам).
ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
folderYes
new_nameYes
backupNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It reveals automatic counter recalculation, which is a behavioral trait. However, it omits side effects, permissions, or error conditions applicable to a mutation tool.

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

Conciseness4/5

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

The description is brief and front-loaded with the main action. However, it is incomplete for a 4-parameter tool, which slightly reduces conciseness value due to missing information.

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

Completeness2/5

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

Given no output schema and no annotations, the description must compensate. It fails to explain the critical 'xml' parameter and the 'backup' flag, and does not describe the return value or side effects, making it incomplete.

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

Parameters2/5

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

The schema has 4 parameters with 0% description coverage. The description explains 'folder' and 'new_name' but omits 'xml' (a required param) and 'backup', leaving the agent without guidance on their meaning or usage.

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

Purpose4/5

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

The description clearly states the action (rename folder in a file) and includes specific behavior (auto-recalculation of counter). It differentiates from siblings because there is no other rename tool, but no explicit distinction is made.

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

Usage Guidelines3/5

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

The description provides usage tips for the 'folder' and 'new_name' parameters, such as path format and the optional suffix for the counter. However, it does not specify when to use this tool over alternatives or when not to use it.

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

sort_viewpointsA

Отсортировать точки обзора в файле и пересчитать счётчики (N) у папок.

Базовый ad-hoc сценарий: «открой файл, отсортируй точки» — мастер не нужен.
folder — путь папки под <viewpoints>; если не задан, сортируются ВСЕ папки
(и плоские view в корне). Сортировка по ведущему числу имени, затем по суффиксу
(1552, 1552.1, 1552_2); нечисловые имена — по алфавиту в конце.
backup — сделать xml.bak перед записью.
ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
folderNo
backupNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It covers sorting, counter recalculation, and the optional backup flag. It does not mention error conditions or stability of sorting, but the core behavior is adequately described.

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 concise and well-structured: purpose first, then parameter details in bullet format. Every sentence adds value, and the information is front-loaded.

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?

Given the lack of output schema and annotations, the description provides sufficient information about behavior, sorting logic, and parameter usage. It does not discuss return values, but for a modification tool this is acceptable. Minor omissions (error handling) prevent a perfect score.

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?

Context reports 0% schema description coverage, but the description explains two of three parameters ('folder' and 'backup') with clear semantics. The 'xml' parameter is not described, but being required and named suggests its purpose. This compensates for the lack of schema descriptions.

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 clearly states the tool sorts viewpoints in a file and recalculates counters. It explains the sorting order (leading number, suffix, non-numeric alphabetically) and distinguishes itself from sibling tools by noting it's an ad-hoc scenario without needing a master.

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

Usage Guidelines4/5

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

The description provides context on when to use this tool (ad-hoc sorting, no master needed) and explains the effect of the 'folder' parameter (if set, sorts that folder; if not, sorts all). However, it does not explicitly compare with sibling tools to guide selection.

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

split_fileC

Вытащить точки по именам в новый файл (отдельная выгрузка nw-exchange).

names — список точных имён. folder — искать только в этой папке; иначе по всему файлу. out — путь нового файла. move=False — копировать (исходник не трогать); move=True — также удалить из исходника (с backup и пересчётом (N)).

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
namesYes
outYes
folderNo
moveNo
backupNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It discloses that move=False copies and move=True removes from source with backup and recalculation, but omits details on the 'xml' and 'backup' parameters, side effects, or whether the tool modifies files. The lack of annotation support and incomplete behavioral disclosure reduces transparency.

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

Conciseness4/5

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

The description is concise, consisting of two sentences: one for purpose and one for parameter behavior. It is front-loaded but includes a parenthetical ('отдельная выгрузка nw-exchange') that may be unclear. Overall, it is appropriately sized with minimal waste.

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

Completeness2/5

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

Given 6 parameters (3 required), no output schema, and no annotations, the description leaves major gaps: 'xml' is unexplained, 'backup' is unclear, return values are unspecified, and the nature of 'points' (likely viewpoints) is not clarified. The tool is mutating with multiple options, yet the description is insufficiently comprehensive.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It explains names, folder, out, and move, but fails to describe the required 'xml' parameter and the 'backup' parameter (only indirectly mentioned). With 2 out of 6 parameters undocumented, the description does not adequately add meaning beyond the schema.

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

Purpose4/5

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

The description clearly states the tool extracts points by names to a new file ('Вытащить точки по именам в новый файл'). It gives a specific verb and resource, and the mention of 'отдельная выгрузка nw-exchange' provides context. However, it does not explicitly differentiate from siblings like 'move_views' or 'merge_viewpoints', slightly reducing clarity.

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

Usage Guidelines2/5

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

The description explains parameter usage (names, folder, out, move) but provides no guidance on when to use this tool versus alternatives like 'move_views' or 'merge_viewpoints'. There are no when-to-use or when-not-to-use instructions, leaving the agent to infer usage context.

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

sync_listsC

Синхронизировать два списка ID (решённые/открытые) с каталогом выгрузок.

Импортирует недостающие имена и переносит точки в мастере между ЛКП-Решено и ЛКП.
open_only — работать только со списком open_ids (папка ЛКП), ЛКП-Решено не трогать.
Перед записью делает .bak мастера. ЛКП-ВН.ОСН не трогается.
ParametersJSON Schema
NameRequiredDescriptionDefault
resolved_idsYes
open_idsYes
open_onlyNo
rootNo
masterNo

TDQS

C2.9/5.0
Behavior3/5

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

Given no annotations, the description provides some behavioral context: it backs up the master, imports missing names, and avoids touching LKP-VN.OSN. However, it fails to clarify direction of sync (one-way vs two-way), error handling, or auth requirements.

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

Conciseness4/5

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

The description is concise, with the purpose front-loaded. It uses bullet-like structure for details, but the Russian text and jargon reduce accessibility.

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

Completeness2/5

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

With 5 parameters and no output schema, the description fails to explain root and master, and omits output or side effects beyond backup. This leaves significant gaps for safe invocation.

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

Parameters2/5

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

Schema description coverage is 0%; description explains only the open_only parameter. Key parameters like root and master are unexplained, and resolved_ids/open_ids lack format constraints.

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

Purpose4/5

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

The description states the tool syncs two ID lists with a catalog, using specific verbs like 'import' and 'move'. It clearly indicates the resource (lists) and action (sync), though domain jargon (LKP, master) may reduce clarity. It does not differentiate from siblings like reconcile_by_name.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description only explains the open_only flag but does not specify prerequisites, contexts, or when not to use.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updatesv0.1.0
    • First observedadd_to_master
    • First observedaudit_viewpoints
    • First observeddedupe_viewpoints
    • First observedget_config
    • First observedlist_folders
    • First observedlist_views
    • First observedmerge_viewpoints
    • First observedmove_views
    • First observedreconcile_by_name
    • First observedrename_folder
    • First observedsort_viewpoints
    • First observedsplit_file
    • First observedsync_lists

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct operation: adding, auditing, deduplicating, listing folders/views, merging, moving, reconciling, renaming, sorting, splitting, and syncing. Overlap is minimal and clearly differentiated by descriptions.

Naming Consistency5/5

All 13 tools use a consistent snake_case naming convention with a clear verb_noun pattern (e.g., add_to_master, list_folders, dedupe_viewpoints). No mixed styles or vague verbs.

Tool Count5/5

13 tools is well-scoped for the domain of Navisworks viewpoints management. Each tool serves a clear purpose without redundancy, covering both common operations and specialized tasks like auditing and syncing.

Completeness4/5

The tool set covers most lifecycle operations: creation (add/merge), reading (list, audit), updating (rename, move, sort, split, sync), and deletion (dedupe). Missing explicit single-view deletion, but the core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Autodesk Revit (BIM) with 705+ API endpoints. Enables AI agents to create walls, place doors/windows, generate sheets, manage views, and produce construction documents via the Model Context Protocol. Uses named pipes for zero-crash Revit integration.
    22
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for TenderTool, enabling AI assistants to manage references and vault documents.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Autodesk Revit 2024/2025/2026/2027 via pyRevit — 48 tools for building design, editing, analysis, clash detection, MEP, interop, documentation, and model persistence.
    MIT