Skip to main content
Glama
SimonTrim

Trimble Connect MCP Server

by SimonTrim

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_trimble_connect_docsA

Search across all Trimble Connect for Browser API documentation. Returns matching sections with code examples.

get_api_referenceC

Get the complete reference documentation for a specific Trimble Connect API category.

get_extension_starterB

Get a complete starter template for a Trimble Connect extension.

get_viewer_api_guideC

Get a comprehensive guide for a specific Viewer 3D API topic.

list_available_docsA

List all available documentation categories and sections in this Trimble Connect MCP server.

tc_api_callA

Execute any Trimble Connect REST API call. Use the documentation tools first to find the right endpoint, then use this tool to execute it. Supports Core API and BCF API.

tc_get_regionsA

Get all available Trimble Connect regions and their API base URLs. Call this first to determine which region a project is in.

tc_get_current_userA

Get the current authenticated user's profile information.

tc_list_projectsA

List all projects the authenticated user has access to in a given region.

tc_get_projectB

Get details of a specific project.

tc_create_projectB

Create a new project in Trimble Connect.

tc_list_project_usersC

List all members of a project.

tc_search_filesC

Search for files in a project.

tc_get_folder_contentsB

List the contents (files and subfolders) of a folder.

tc_get_fileC

Get details of a specific file including versions and download URL.

tc_list_todosB

List all todos/notes in a project.

tc_create_todoB

Create a new todo/note in a project.

tc_update_todoC

Update an existing todo/note.

tc_list_viewsC

List all 3D views saved in a project.

tc_list_clashsetsB

List all clash sets in a project.

tc_list_activitiesC

List recent activities in a project (audit trail).

tc_bcf_list_topicsB

List BCF topics (issues) in a project.

tc_bcf_dashboard_appA

Show an interactive MCP App dashboard for Trimble Connect BCF topics. Use this when the user asks for a BCF dashboard, visual BCF summary, filters, charts, or an interactive table of BCF issues.

tc_bcf_create_topicB

Create a new BCF topic (issue) in a project.

tc_bcf_create_appA

Show an interactive MCP App form to create a Trimble Connect BCF topic. Use this when the user wants to create/open/fill a BCF, an issue, or a topic via a FORM in the chat (e.g. 'affiche le formulaire de création de BCF'). Optional fields prefill the form. The form can attach the current 3D viewpoint (camera + snapshot + selection) via the Agent Eyes viewer bridge. For direct creation without a form, use tc_bcf_create_topic + tc_create_viewpoint_from_viewer instead.

get_current_viewer_stateA

Get the LIVE state of the user's Trimble Connect 3D viewer: current camera (position/target/up), selected objects with their IFC GUIDs, loaded models and snapshot availability. Requires the 'Agent Eyes' extension panel to be open in Trimble Connect — if no state is available, ask the user to open it. Check age_seconds/stale to warn the user when the data is old. Use this whenever a request refers to what the user currently sees ('these objects', 'my current view'...).

tc_create_viewpoint_from_viewerA

Create a BCF viewpoint on an existing topic directly from the user's LIVE 3D viewer state: perspective camera, selected components (IFC GUIDs) and PNG snapshot. The snapshot is attached server-side and never passes through the model. Requires the 'Agent Eyes' extension panel to be open in Trimble Connect. Typical flow: 1) tc_bcf action topic_create, 2) this tool with the returned topic GUID.

viewer_bridge_debugA

Diagnostic tool for the Agent Eyes viewer bridge. Returns the identity resolved from the calling token, the identities currently holding viewer state on the server, and whether they match. Use only when get_current_viewer_state or tc_create_viewpoint_from_viewer report that no viewer state is available.

tc_todos_appA

Show an interactive MCP App table of the latest project ToDos (title, status, priority, assignee, due date). Use this when the user asks to SEE/DISPLAY the todos, e.g. 'affiche les 5 derniers ToDos', 'montre-moi les tâches'. For plain data without UI, use tc_todos instead.

tc_files_appA

Show an interactive MCP App table of the latest uploaded/modified files of a project; clicking a file expands its version history. Use this when the user asks to SEE/DISPLAY recent files, e.g. 'affiche les 5 derniers fichiers déposés'. With fileId set, returns the version history of that file (used internally by the app UI). For plain data without UI, use tc_files instead.

tc_bcf_detail_appA

Show an interactive MCP App card with the full detail of one BCF topic: description, status, priority, comments thread, attached viewpoints (snapshots loadable on click), plus inline actions to change status/priority and add a comment. Use this when the user asks to SEE the detail of a specific BCF (e.g. 'montre-moi le détail du BCF X'). Resolve the topic GUID first with tc_bcf action topics_list if the user gave a title. For plain data without UI, use tc_bcf action topic_get instead.

tc_selection_review_appA

Show an interactive MCP App that reviews the objects currently selected in the user's Trimble Connect 3D viewer (via the Agent Eyes extension): model, object count, IFC GUIDs, data freshness, with quick action buttons (create BCF, create ToDo, show properties). Use this when the user asks to review/see their current selection (e.g. 'fais une revue de ma sélection'). Requires the Agent Eyes panel open. For plain data without UI, use get_current_viewer_state instead.

tc_activity_timeline_appA

Show an interactive MCP App timeline of the latest project events (file uploads, BCF, todos, members, views...) grouped by day and filterable by category. Use this when the user asks to SEE the recent project activity (e.g. 'montre-moi l'activité du projet cette semaine'). For plain data without UI, use tc_activities instead.

tc_activitiesA

Trimble Connect Activities (audit trail) and activity exports. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: POST /activities/list — body: {objectType:'PROJECT', objectId, pageSize?, filters?}

  • list_by_query: GET /activities — query: {projectId, ...}

  • get: GET /activities/{id} — id=activityId

  • logs: GET /activities/{id}/logs — id=activityId

  • create_export: POST /activities/exports — body: export request

  • get_export: GET /activities/exports/{id} — id=exportId

tc_clashesA

Trimble Connect Clash sets (create, inspect, update, delete clash reports). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /clashsets — query: {projectId}

  • get: GET /clashsets/{id} — id=clashId

  • list_items: GET /clashsets/{id}/items — id=clashId

  • create: POST /clashsets — body: CreateClashRequest {name, projectId, models, clearance...}

  • update: PATCH /clashsets/{id} — id=clashId, body: fields to update

  • delete: DELETE /clashsets/{id} — id=clashId

tc_views2dA

Trimble Connect 2D Views. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /views2d — query: {projectId}

  • get: GET /views2d/{id} — id=viewId

  • create: POST /views2d — body: Create2DViewRequest

  • update: PATCH /views2d/{id} — id=viewId, body: fields to update

  • delete: DELETE /views2d/{id} — id=viewId

tc_commentsA

Trimble Connect Comments (on files, folders, todos, views…) incl. attachments and reactions. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /comments — query: {objectId, objectType} e.g. objectType=TODO|FILE|FOLDER|VIEW

  • get: GET /comments/{id} — id=commentId

  • create: POST /comments — body: {objectId, objectType, description...}

  • update: PATCH /comments/{id} — id=commentId, body: {description...}

  • delete: DELETE /comments/{id} — id=commentId

  • list_attachments: GET /comments/{id}/attachments — id=commentId

  • add_attachments: POST /comments/{id}/attachments — id=commentId, body: {attachments:[fileIds]}

  • remove_attachments: DELETE /comments/{id}/attachments — id=commentId, body: {attachments:[fileIds]}

  • list_reactions: GET /comments/{id}/reactions — id=commentId

  • add_reaction: POST /comments/{id}/reactions — id=commentId, body: {reaction}

  • delete_reaction: DELETE /comments/{id}/reactions/{subId} — id=commentId, subId=reactionId

tc_companiesA

Trimble Connect Companies and company members. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /companies

  • get: GET /companies/{id} — id=companyId

  • update: PATCH /companies/{id} — id=companyId, body: fields to update

  • list_users: GET /companies/{id}/users — id=companyId

  • add_users: POST /companies/{id}/users — id=companyId, body: users to add

  • update_user: PATCH /companies/{id}/users/{subId} — id=companyId, subId=userId, body: role...

  • remove_user: DELETE /companies/{id}/users/{subId} — id=companyId, subId=userId

  • remove_users: DELETE /companies/{id}/users — id=companyId, body: users to remove

  • add_domains: PATCH /companies/{id}/domains — id=companyId, body: email domains to add

  • remove_domains: DELETE /companies/{id}/domains — id=companyId, body: email domains to remove

tc_filesA

Trimble Connect Files: details, versions, download URL, check-in/out, permissions, alignment, exports, upload orchestration (JSON steps only). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • get: GET /files/{id} — id=fileId

  • update: PATCH /files/{id} — id=fileId, body: {name?, parentId?...}

  • delete: DELETE /files/{id} — id=fileId

  • versions: GET /files/{id}/versions — id=fileId

  • versions_v21: GET /2.1/projects/{projectId}/files/{id}/versions — id=fileId (paged v2.1 API)

  • processing_status: GET /files/{id}/status — id=fileId

  • process: POST /files/{id}/process — id=fileId, body: {format:'TRB', versionId?} — trigger model assimilation/processing

  • download_url: GET /files/fs/{id}/downloadurl — id=fileId, query: {versionId?}

  • checkin: POST /files/{id}/checkin — id=fileId

  • checkout: POST /files/{id}/checkout — id=fileId

  • permissions_get: GET /files/{id}/permissions — id=fileId

  • permissions_update: PATCH /files/{id}/permissions — id=fileId, body: permissions

  • supported_formats: GET /files/formats — list supported 2D/3D/spatial formats

  • snapshot: GET /files/fs/snapshot — query: {projectId} — active file/folder snapshot

  • create_export: POST /files/export — body: export request

  • get_export: GET /files/export/{id} — id=exportId

  • initiate_upload: POST /files/fs/initiate — body: upload init request (returns signed upload URLs)

  • initiate_package_upload: POST /files/fs/upload — body: package upload request

  • complete_multipart_upload: POST /files/fs/upload/{id}/complete — id=uploadId, body: parts

  • commit_upload: POST /files/fs/commit — body: commit request

  • upload_details: GET /files/fs/upload — query: upload details params

  • upload_status: GET /files/fs/uploadstatus — query: {uploadId...}

  • alignment_get: GET /files/{id}/alignment — id=fileId

  • alignment_set: PUT /files/{id}/alignment — id=fileId, body: alignment

  • alignment_set_matrix: POST /files/{id}/alignment/matrix — id=fileId, body: matrix

  • alignment_delete: DELETE /files/{id}/alignment — id=fileId

tc_foldersA

Trimble Connect Folders: browse, create, rename, delete, versions, permissions. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • get: GET /folders/{id} — id=folderId

  • items: GET /folders/{id}/items — id=folderId (use project rootId for root)

  • items_v21: GET /2.1/folders/{id}/items — id=folderId (paged v2.1 API)

  • items_by_path: GET /folders/by_path — query: {projectId, path}

  • items_by_path_v21: GET /2.1/folders/by_path — query: {projectId, path} (paged v2.1 API)

  • item_by_name: GET /folders/{id}/item — id=folderId, query: {name}

  • create: POST /folders — body: {name, parentId}

  • update: PATCH /folders/{id} — id=folderId, body: {name?, parentId?}

  • delete: DELETE /folders/{id} — id=folderId

  • delete_async: DELETE /folders/{id}/delete — id=folderId (async deletion job)

  • deletion_job_status: GET /folders/jobs/{id} — id=jobId

  • versions: GET /folders/{id}/versions — id=folderId

  • versions_v21: GET /2.1/projects/{projectId}/folders/{id}/versions — id=folderId (paged v2.1 API)

  • permissions_get: GET /folders/fs/{id}/permissions — id=folderId

  • permissions_patch: PATCH /folders/fs/{id}/permissions — id=folderId, body: permissions

  • permission_add: POST /folders/{id}/permissions — id=folderId, body: permission

  • permission_update: PATCH /folders/{id}/permissions — id=folderId, body: permission

  • permission_remove: DELETE /folders/{id}/permissions — id=folderId, body: permission to remove

tc_groupsA

Trimble Connect user Groups within a project. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /groups — query: {projectId}

  • get: GET /groups/{id} — id=groupId

  • create: POST /groups — body: {name, projectId}

  • rename: PATCH /groups/{id} — id=groupId, body: {name}

  • delete: DELETE /groups/{id} — id=groupId

  • list_users: GET /groups/{id}/users — id=groupId

  • add_users: POST /groups/{id}/users — id=groupId, body: users to add

  • remove_users: DELETE /groups/{id}/users — id=groupId, body: users to remove

tc_object_linksA

Trimble Connect Object Links (link entities like todos/files/views to model objects). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /objectlink — query: {projectId, objectId?...}

  • list_for_target: GET /objectlink/target — query: target entity params

  • create: POST /objectlink — body: object link

  • bulk_create: POST /objectlink/objectlinks — body: array of object links

  • update: PATCH /objectlink/{id} — id=linkId, body: fields to update

  • delete: DELETE /objectlink/{id} — id=linkId

tc_projectsA

Trimble Connect Projects administration: update/delete/clone project, members, roles, settings, license, metrics, sync status. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /projects — query: {fullyLoaded?}

  • list_v21: GET /2.1/projects — paged project list (v2.1 API)

  • list_mini: GET /projects/me — minimal list of user's projects

  • get: GET /projects/{projectId}

  • update: PATCH /projects/{projectId} — body: {name?, description?...}

  • delete: DELETE /projects/{projectId}

  • clone: POST /projects/clones — body: clone request {projectId, name...}

  • clone_status: GET /projects/clones/{id} — id=cloneId

  • metrics: GET /projects/{projectId}/metrics

  • settings_get: GET /projects/{projectId}/settings

  • settings_update: PATCH /projects/{projectId}/settings — body: settings

  • license_get: GET /projects/{projectId}/license

  • license_update: PATCH /projects/{projectId}/license — body: license details

  • roles: GET /projects/{projectId}/roles — list roles available in project

  • list_users: GET /projects/{projectId}/users

  • get_user: GET /projects/{projectId}/users/{id} — id=userId

  • add_users: POST /projects/{projectId}/users — body: users to add/invite [{email, role?}]

  • update_user_role: PATCH /projects/{projectId}/users/{id} — id=userId, body: {role}

  • remove_user: DELETE /projects/{projectId}/users/{id} — id=userId

  • request_access: POST /projects/accessRequests — body: access request

  • sync_objects: GET /projects/{projectId}/objects — object sync list

  • sync_status: GET /projects/{projectId}/status — project sync status

  • fs_structure: GET /sync/{projectId} — full file-system structure of the project (query: {excludeVersion?:'true'})

tc_releasesA

Trimble Connect Releases (file release packages). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /releases — query: {projectId}

  • get: GET /releases/{id} — id=releaseId

  • create: POST /releases — body: release {name, projectId...}

  • update: PATCH /releases/{id} — id=releaseId, body: fields to update

  • delete: DELETE /releases/{id} — id=releaseId

  • list_files: GET /releases/{id}/files — id=releaseId

  • add_files: POST /releases/{id}/files — id=releaseId, body: files to add

  • remove_files: DELETE /releases/{id}/files — id=releaseId, body: files to remove

  • download_files: POST /releases/downloadFiles — body: download request

tc_sharesA

Trimble Connect Shares (share files/views with external users). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /shares — query: {projectId}

  • get: GET /shares/{id} — id=shareId

  • get_by_token: GET /shares/token/{id} — id=share token (stoken)

  • create: POST /shares — body: ShareObjectRequest

  • update: PATCH /shares/{id} — id=shareId, body: fields to update

  • delete: DELETE /shares/{id} — id=shareId

tc_tagsA

Trimble Connect Tags (tag files, folders and other objects). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /tags — query: {projectId}

  • get: GET /tags/{id} — id=tagId

  • create: POST /tags — body: {label, projectId, description?}

  • update: PATCH /tags/{id} — id=tagId, body: fields to update

  • delete: DELETE /tags/{id} — id=tagId

  • list_objects: GET /tags/{id}/objects — id=tagId

  • add_objects: POST /tags/{id}/objects — id=tagId, body: objects to tag

  • remove_objects: DELETE /tags/{id}/objects — id=tagId, body: objects to untag

tc_todosA

Trimble Connect ToDos: full management incl. details, delete, types, attachments. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /todos — query: {projectId}

  • get: GET /todos/{id} — id=todoId

  • create: POST /todos — body: {label, projectId, description?, assignees?, dueDate?...}

  • update: PATCH /todos/{id} — id=todoId, body: fields to update

  • delete: DELETE /todos/{id} — id=todoId

  • list_types: GET /todos/types — query: {projectId}

  • list_attachments: GET /todos/{id}/attachments — id=todoId

  • add_attachments: POST /todos/{id}/attachments — id=todoId, body: {attachments:[fileIds]}

  • remove_attachments: DELETE /todos/{id}/attachments — id=todoId, body: {attachments:[fileIds]}

tc_usersA

Trimble Connect Users: profiles, update, licenses, timezones, languages. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • get: GET /users/{id} — id=userId (or 'me')

  • update: PATCH /users/{id} — id=userId, body: fields to update

  • licenses: GET /users/licenses — current user's licenses

  • timezones: GET /users/timezones

  • languages: GET /users/languages

tc_view_groupsA

Trimble Connect View Groups (organize saved views). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /viewgroups — query: {projectId}

  • get: GET /viewgroups/{id} — id=viewGroupId

  • create: POST /viewgroups — body: {name, projectId, views?}

  • update: PATCH /viewgroups/{id} — id=viewGroupId, body: fields to update

  • delete: DELETE /viewgroups/{id} — id=viewGroupId

tc_viewsA

Trimble Connect 3D Views: CRUD plus camera, presentation, section box/planes and markups. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list: GET /views — query: {projectId}

  • get: GET /views/{id} — id=viewId

  • create: POST /views — body: view definition {name, projectId, models?, camera?...}

  • update: PATCH /views/{id} — id=viewId, body: fields to update

  • delete: DELETE /views/{id} — id=viewId

  • camera_get: GET /views/{id}/camera — id=viewId

  • camera_update: PATCH /views/{id}/camera — id=viewId, body: camera

  • presentation_get: GET /views/{id}/presentation — id=viewId

  • presentation_update: PATCH /views/{id}/presentation — id=viewId, body: presentation

  • sectionbox_get: GET /views/{id}/sectionbox — id=viewId

  • sectionbox_update: PUT /views/{id}/sectionbox — id=viewId, body: section box

  • sectionbox_delete: DELETE /views/{id}/sectionbox — id=viewId

  • sectionplanes_list: GET /views/{id}/sectionplanes — id=viewId

  • sectionplane_create: POST /views/{id}/sectionplanes — id=viewId, body: section plane

  • sectionplane_update: PATCH /views/{id}/sectionplanes — id=viewId, body: section plane

  • sectionplane_delete: DELETE /views/{id}/sectionplanes/{subId} — id=viewId, subId=sectionplaneId

  • markups_list: GET /views/{id}/markups — id=viewId

  • markups_create: POST /views/{id}/markups — id=viewId, body: markups

  • markups_update: PATCH /views/{id}/markups — id=viewId, body: markups

  • markup_delete: DELETE /views/{id}/markups/{subId} — id=viewId, subId=markupId

tc_bcfC

Trimble Connect BCF/Topic API (default 2.1, set bcfVersion='3.0' for BCF 3.0): topics, comments, viewpoints, extensions, document references, batch operations. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • list_projects: GET /projects

  • get_project: GET /projects/{projectId}

  • extensions_get: GET /projects/{projectId}/extensions — topic types, statuses, priorities, labels, users

  • extensions_update: PUT /projects/{projectId}/extensions — body: extensions

  • default_extensions: GET /projects/{projectId}/defaultextensions

  • topics_list: GET /projects/{projectId}/topics — query: OData filters supported ($filter, $orderby...)

  • topic_get: GET /projects/{projectId}/topics/{id} — id=topicId (guid)

  • topic_create: POST /projects/{projectId}/topics — body: {title, description?, topic_type?, priority?, assigned_to?, topic_status?...}

  • topic_update: PUT /projects/{projectId}/topics/{id} — id=topicId, body: full topic object

  • topic_delete: DELETE /projects/{projectId}/topics/{id} — id=topicId

  • topics_batch_create: POST /projects/{projectId}/topics/batch — body: array of topics

  • topics_batch_update: PATCH /projects/{projectId}/topics/batch — body: array of topic patches

  • comments_list: GET /projects/{projectId}/topics/{id}/comments — id=topicId

  • comment_get: GET /projects/{projectId}/topics/{id}/comments/{subId} — id=topicId, subId=commentId

  • comment_create: POST /projects/{projectId}/topics/{id}/comments — id=topicId, body: {comment}

  • comment_update: PUT /projects/{projectId}/topics/{id}/comments/{subId} — id=topicId, subId=commentId, body: {comment}

  • comment_delete: DELETE /projects/{projectId}/topics/{id}/comments/{subId} — id=topicId, subId=commentId

  • comments_batch_create: POST /projects/{projectId}/comments/batch — body: array of comments

  • comments_batch_update: PATCH /projects/{projectId}/comments/batch — body: array of comment patches

  • viewpoints_list: GET /projects/{projectId}/topics/{id}/viewpoints — id=topicId

  • viewpoint_get: GET /projects/{projectId}/topics/{id}/viewpoints/{subId} — id=topicId, subId=viewpointId

  • viewpoint_create: POST /projects/{projectId}/topics/{id}/viewpoints — id=topicId, body: viewpoint (camera, snapshot base64...)

  • viewpoint_delete: DELETE /projects/{projectId}/topics/{id}/viewpoints/{subId} — id=topicId, subId=viewpointId

  • viewpoint_selection: GET /projects/{projectId}/topics/{id}/viewpoints/{subId}/selection — id=topicId, subId=viewpointId

  • viewpoint_coloring: GET /projects/{projectId}/topics/{id}/viewpoints/{subId}/coloring — id=topicId, subId=viewpointId

  • viewpoint_visibility: GET /projects/{projectId}/topics/{id}/viewpoints/{subId}/visibility — id=topicId, subId=viewpointId

  • related_topics_get: GET /projects/{projectId}/topics/{id}/related_topics — id=topicId

  • related_topics_update: PUT /projects/{projectId}/topics/{id}/related_topics — id=topicId, body: related topics

  • topic_files_get: GET /projects/{projectId}/topics/{id}/files — id=topicId

  • topic_files_update: PUT /projects/{projectId}/topics/{id}/files — id=topicId, body: file references

  • document_references_list: GET /projects/{projectId}/topics/{id}/document_references — id=topicId

  • document_reference_create: POST /projects/{projectId}/topics/{id}/document_references — id=topicId, body: document reference

  • document_reference_update: PUT /projects/{projectId}/topics/{id}/document_references/{subId} — id=topicId, subId=documentReferenceId, body

  • document_reference_delete: DELETE /projects/{projectId}/topics/{id}/document_references/{subId} — id=topicId, subId=documentReferenceId

  • documents_list: GET /projects/{projectId}/documents

  • document_get: GET /projects/{projectId}/documents/{id} — id=documentId

  • objects: GET /projects/{projectId}/objects

  • changes: GET /projects/{projectId}/changes — query: change tracking params

  • current_user: GET /current-user

  • bcf_versions: GET /bcf/versions — supported BCF versions

  • foundation_versions: GET /foundation/versions

  • foundation_auth: GET /foundation/1.0/auth

  • foundation_current_user: GET /foundation/1.0/current-user

tc_psetsA

Trimble Connect Property Set Service (PSet): libraries, definitions, pset instances, policies, changesets. Regional service URI is resolved automatically. In pset paths, 'link' is the FRN of the external resource (e.g. model object). Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • me: GET /me — current user info

  • library_create: POST /libs — body: library definition

  • library_get: GET /libs/{id} — id=libId

  • library_update: PATCH /libs/{id} — id=libId, body: fields to update

  • library_delete: DELETE /libs/{id} — id=libId

  • library_policy_get: GET /libs/{id}/policy — id=libId

  • library_policy_put: PUT /libs/{id}/policy — id=libId, body: access control policy

  • definitions_list: GET /libs/{id}/defs — id=libId, query: {top?, skiptoken?, prefix?}

  • definition_create: POST /libs/{id}/defs — id=libId, body: definition with data schema

  • definition_get: GET /libs/{id}/defs/{subId} — id=libId, subId=defId

  • definition_update: PATCH /libs/{id}/defs/{subId} — id=libId, subId=defId, body: fields to update

  • definition_delete: DELETE /libs/{id}/defs/{subId} — id=libId, subId=defId

  • definition_versions: GET /libs/{id}/defs/{subId}/versions — id=libId, subId=defId

  • definition_version_get: GET /libs/{id}/defs/{subId}/versions/{version} — id=libId, subId=defId, version=version number

  • definition_schema_get: GET /libs/{id}/defs/{subId}/schema/{version} — id=libId, subId=defId, version=schema version

  • definition_validate: POST /libs/{id}/defs/{subId}/validate — id=libId, subId=defId, body: values to validate

  • psets_list_by_definition: GET /libs/{id}/defs/{subId}/psets — id=libId, subId=defId

  • psets_list_for_link: GET /psets/{id} — id=link (FRN), query: {top?, skiptoken?}

  • pset_get: GET /psets/{id}/{subId}/{extraId} — id=link, subId=libId, extraId=defId

  • pset_update: PATCH /psets/{id}/{subId}/{extraId} — id=link, subId=libId, extraId=defId, body: {props}

  • pset_delete: DELETE /psets/{id}/{subId}/{extraId} — id=link, subId=libId, extraId=defId

  • pset_versions: GET /psets/{id}/{subId}/{extraId}/versions — id=link, subId=libId, extraId=defId

  • pset_version_get: GET /psets/{id}/{subId}/{extraId}/versions/{version} — id=link, subId=libId, extraId=defId, version

  • batch_get: POST /batch-get — body: {psets:[{libId, defId, link, v?}]}

  • changeset: POST /psets/changeset — body: changeset (bulk create/update)

  • changeset_async: POST /psets/changeset-async — body: changeset

  • changeset_status: GET /psets/changeset/{id} — id=changesetId

tc_organizerA

Trimble Connect Organizer Service: forests, trees (breakdown structures like LBS), nodes, policies, changesets. forestId is usually the Trimble Connect projectId. Regional service URI is resolved automatically. Select the endpoint with the "action" parameter. Path placeholders {projectId}/{id}/{subId}/{extraId}/{version} are filled from the matching input parameters. Actions:

  • trees_list: GET /forests/{id}/trees — id=forestId (projectId)

  • tree_get: GET /forests/{id}/trees/{subId} — id=forestId, subId=treeId, query: {deleted?}

  • tree_create: POST /forests/{id}/trees — id=forestId, body: {name, type} e.g. type='LBS'

  • tree_update: PATCH /forests/{id}/trees/{subId} — id=forestId, subId=treeId, body: fields to update

  • tree_delete: DELETE /forests/{id}/trees/{subId} — id=forestId, subId=treeId

  • tree_policy_get: GET /forests/{id}/trees/{subId}/policy — id=forestId, subId=treeId

  • tree_policy_put: PUT /forests/{id}/trees/{subId}/policy — id=forestId, subId=treeId, body: policy

  • nodes_list: GET /forests/{id}/trees/{subId}/nodes — id=forestId, subId=treeId, query: {top?, skiptoken?}

  • node_get: GET /forests/{id}/trees/{subId}/nodes/{extraId} — id=forestId, subId=treeId, extraId=nodeId

  • node_create: POST /forests/{id}/trees/{subId}/nodes — id=forestId, subId=treeId, body: node

  • node_update: PATCH /forests/{id}/trees/{subId}/nodes/{extraId} — id=forestId, subId=treeId, extraId=nodeId, body

  • node_delete: DELETE /forests/{id}/trees/{subId}/nodes/{extraId} — id=forestId, subId=treeId, extraId=nodeId

  • node_links: GET /forests/{id}/trees/{subId}/nodes/{extraId}/links — id=forestId, subId=treeId, extraId=nodeId

  • node_versions: GET /forests/{id}/trees/{subId}/nodes/{extraId}/versions — id=forestId, subId=treeId, extraId=nodeId

  • node_version_get: GET /forests/{id}/trees/{subId}/nodes/{extraId}/versions/{version} — id=forestId, subId=treeId, extraId=nodeId, version

  • search_forest: GET /forests/{id}/search — id=forestId, query: search params

  • search_tree: GET /forests/{id}/trees/{subId}/search — id=forestId, subId=treeId, query: search params

  • batch_get_nodes: POST /batch-get — body: batch node keys

  • changeset: POST /forests/{id}/trees/{subId}/changeset — id=forestId, subId=treeId, body: changeset

  • changeset_async: POST /forests/{id}/trees/{subId}/changeset-async — id=forestId, subId=treeId, body: changeset

  • changeset_status: GET /changeset/{id} — id=changesetId

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
trimble-connect-bcf-dashboard-appInteractive MCP App that visualizes Trimble Connect BCF topics inside Trimble Assist.
trimble-connect-bcf-create-appInteractive MCP App form to create a Trimble Connect BCF topic inside Trimble Assist.
trimble-connect-todos-appInteractive MCP App table of Trimble Connect project ToDos.
trimble-connect-files-appInteractive MCP App table of the latest uploaded files with expandable version history.
trimble-connect-bcf-detail-appInteractive MCP App card showing a BCF topic with comments, viewpoints and quick status/priority edits.
trimble-connect-selection-review-appInteractive MCP App showing the objects currently selected in the user's 3D viewer, with quick actions.
trimble-connect-activity-timeline-appInteractive MCP App timeline of recent Trimble Connect project events, filterable by category.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SimonTrim/trb-mcp-server-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server