@firfi/huly-mcp 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -6
- package/dist/index.cjs +4946 -1112
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -296,12 +296,12 @@ Planned feature surfaces:
|
|
|
296
296
|
- Team planner and schedule reporting: team agendas, workload/capacity summaries, and visibility-aware free/busy views across members/projects.
|
|
297
297
|
- Virtual office and meetings: offices, floors, rooms, access/language/default recording/transcription settings, meeting schedules, active participants, room info, meeting notes/transcript records (minutes), recordings, and device preferences.
|
|
298
298
|
- Chat and communication: direct-message send/update/delete, group DMs, channel member mutations, join/leave/request access, archive/unarchive, star/favorite channels, close/reopen conversations, pinned messages, message attachments, translation, applets, in-message polls, and guest communication settings.
|
|
299
|
-
- Notifications and activity:
|
|
300
|
-
- Attachments and media:
|
|
299
|
+
- Notifications and activity: browser/push subscription internals, provider defaults, UI presenter/viewlet metadata, and activity control/extension metadata.
|
|
300
|
+
- Attachments and media: previews/preview metadata and friendly wrappers for additional object types beyond issue/document.
|
|
301
301
|
- Core schema and workspace administration: attribute/property create/update/delete/hide, enum CRUD/options, sequence management, role assignment mutations, role/permission definition writes, generic space creation, global space admins, integrations registry, invite settings, role capability settings, and workspace setting metadata.
|
|
302
|
-
- Integrations: GitHub repository/project mappings and sync metadata, Google Calendar connect/configure/sync controls, Bitrix entity/field mappings and sync status, Gmail/email channel messages, Telegram messages, Huly Mail/Mail plugin behavior, AI assistant integration state, and AI bot configuration if server-side APIs expose stable behavior.
|
|
303
|
-
- Templates, rating, support, billing, analytics, views, workbench, and preferences: message templates/categories/fields, document/person rating data, support conversations, billing tier/status discovery, onboarding channels, saved filtered views, user view preferences, tabs/widgets/apps, and module preference discovery/update.
|
|
304
|
-
- Document-specific gaps:
|
|
302
|
+
- Integrations: GitHub repository/project mappings and sync metadata (deferred), Google Calendar connect/configure/sync controls, Bitrix entity/field mappings and sync status, Gmail/email channel messages, Telegram messages, Huly Mail/Mail plugin behavior, AI assistant integration state, and AI bot configuration if server-side APIs expose stable behavior.
|
|
303
|
+
- Templates, rating, support, billing, analytics, views, workbench, and preferences: message templates/categories/fields, document/person rating data blocked by unpublished `@hcengineering/rating` SDK package (#90), support conversations, billing tier/status discovery, onboarding channels, saved filtered views, user view preferences, tabs/widgets/apps, and module preference discovery/update.
|
|
304
|
+
- Document-specific gaps: snapshot restore, backlinks, notes, structured action items/tables, PDF/export, advanced document relationships, and document printing/export once SDK support is safe.
|
|
305
305
|
|
|
306
306
|
MCP resource roadmap:
|
|
307
307
|
|
|
@@ -322,12 +322,14 @@ SDK upgrade revisit:
|
|
|
322
322
|
<!-- AUTO-GENERATED from src/mcp/tools/ descriptions. Do not edit manually. Run `pnpm update-readme` to regenerate. -->
|
|
323
323
|
## Available Tools
|
|
324
324
|
|
|
325
|
-
**`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `associations`, `activity`, `notifications`, `workspace`, `cards`, `custom-fields`, `drive`, `labels`, `leads`, `planner`, `processes`, `sdk-discovery`, `spaces`, `tag-categories`, `tags`, `task-management`, `test-management`, `user-statuses`, `virtual-office`
|
|
325
|
+
**`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `associations`, `activity`, `notifications`, `workspace`, `cards`, `collaborators`, `custom-fields`, `drive`, `labels`, `leads`, `planner`, `processes`, `sdk-discovery`, `spaces`, `tag-categories`, `tags`, `task-management`, `test-management`, `user-statuses`, `virtual-office`
|
|
326
326
|
|
|
327
327
|
### Projects
|
|
328
328
|
|
|
329
329
|
| Tool | Description |
|
|
330
330
|
|------|-------------|
|
|
331
|
+
| `list_project_target_preferences` | List low-level per-project tracker target preference records. These Huly ProjectTargetPreference records are attached to projects and used by tracker UI/workflows to remember target-related preference props. Omit project to list recent preferences across projects, or pass a project identifier to inspect one project's preference. Props are SDK-open key/value payloads. |
|
|
332
|
+
| `upsert_project_target_preference` | Create or update the low-level ProjectTargetPreference record for a project. This refreshes usedOn and merges SDK-open target preference props by key. Use for tracker SDK parity or advanced administration; ordinary project and issue workflows usually do not need this tool. |
|
|
331
333
|
| `list_projects` | List all Huly projects. Returns projects sorted by name. Supports filtering by archived status. |
|
|
332
334
|
| `get_project` | Get full details of a Huly project including its statuses. Returns project name, description, archived flag, default status, and all available statuses. |
|
|
333
335
|
| `list_statuses` | List all issue statuses for a Huly project with workflow category and default info. Returns status name, category, and isDefault. Use this to discover valid statuses before creating or updating issues. |
|
|
@@ -367,6 +369,9 @@ SDK upgrade revisit:
|
|
|
367
369
|
| `list_issue_relations` | List all relations of an issue. Returns blockedBy (issues blocking this one), blocks (issues this one blocks), relations (bidirectional issue links), and documents (linked documents with title/teamspace). |
|
|
368
370
|
| `link_document_to_issue` | Link a Huly document to an issue. The link appears in the issue's Relations panel in the UI. Idempotent: no-op if the document is already linked. Use list_issue_relations to see linked documents. |
|
|
369
371
|
| `unlink_document_from_issue` | Remove a document link from an issue. Idempotent: no-op if the document is not linked. |
|
|
372
|
+
| `list_related_issue_targets` | List rules that choose the default destination project for related issues. A spaceRule says related issues from one space default to targetProject. A classRule says related issues for one object class default to targetProject. targetProject is a project identifier, or null for no default destination project. |
|
|
373
|
+
| `set_related_issue_target` | Set the default destination project for related issues from a space or object class. For space, creates or updates a spaceRule. For objectClass, only updates an existing classRule; this tool never creates classRule targets. Pass targetProject as a project identifier, or null to clear the default destination project. |
|
|
374
|
+
| `delete_related_issue_space_target` | Delete the spaceRule that chooses the default destination project for related issues from one space. This only deletes spaceRule targets; classRule deletion is intentionally unsupported because class rules may be model-provided. |
|
|
370
375
|
|
|
371
376
|
### Comments
|
|
372
377
|
|
|
@@ -392,6 +397,8 @@ SDK upgrade revisit:
|
|
|
392
397
|
|
|
393
398
|
| Tool | Description |
|
|
394
399
|
|------|-------------|
|
|
400
|
+
| `list_document_snapshots` | List version-history snapshots for one Huly document. A snapshot is a saved point-in-time copy from the document's change history. Resolve the document by teamspace plus document title or ID. Returns snapshotId, documentId, teamspaceId, title, parentDocumentId, and timestamps; markdown content is intentionally omitted. Use get_document_snapshot with snapshotId when reading content. |
|
|
401
|
+
| `get_document_snapshot` | Get one point-in-time Huly document history snapshot and return markdown content. Resolve the document by teamspace plus document title or ID; resolve the snapshot by snapshotId, exact snapshot title, or exact createdOn timestamp. Prefer snapshotId from list_document_snapshots when titles or dates may collide. Restore is out of scope. |
|
|
395
402
|
| `list_teamspaces` | List all Huly document teamspaces. Returns teamspaces sorted by name. Supports filtering by archived status. |
|
|
396
403
|
| `get_teamspace` | Get details for a Huly document teamspace including document count. Finds by name or ID, including archived teamspaces. |
|
|
397
404
|
| `create_teamspace` | Create a new Huly document teamspace. Idempotent: returns existing teamspace if one with the same name exists. |
|
|
@@ -423,6 +430,14 @@ SDK upgrade revisit:
|
|
|
423
430
|
| `download_attachment` | Get download URL for an attachment along with file metadata (name, type, size). |
|
|
424
431
|
| `add_issue_attachment` | Add an attachment to a Huly issue. Convenience method that finds the issue by project and identifier. Provide ONE of: filePath, fileUrl, or data. |
|
|
425
432
|
| `add_document_attachment` | Add an attachment to a Huly document. Convenience method that finds the document by teamspace and title/ID. Provide ONE of: filePath, fileUrl, or data. |
|
|
433
|
+
| `save_attachment` | Save/bookmark an attachment for later reference. Idempotent when already saved. |
|
|
434
|
+
| `unsave_attachment` | Remove an attachment from saved/bookmarks. |
|
|
435
|
+
| `list_saved_attachments` | List saved/bookmarked attachments for the current user. |
|
|
436
|
+
| `list_drawings` | List drawings attached to a raw Huly parent object. |
|
|
437
|
+
| `get_drawing` | Get a drawing by ID. |
|
|
438
|
+
| `create_drawing` | Create a drawing under a raw Huly parent object. |
|
|
439
|
+
| `update_drawing` | Update drawing content. Pass null content to clear it. |
|
|
440
|
+
| `delete_drawing` | Delete a drawing. This action cannot be undone. |
|
|
426
441
|
|
|
427
442
|
### Contacts
|
|
428
443
|
|
|
@@ -523,6 +538,14 @@ SDK upgrade revisit:
|
|
|
523
538
|
| Tool | Description |
|
|
524
539
|
|------|-------------|
|
|
525
540
|
| `list_activity` | List activity messages for a Huly issue, document, channel, or raw Huly object. Prefer friendly targets: project+issueIdentifier for issues, teamspace+document for documents, or channel for channels. Advanced callers may pass objectId+objectClass directly. Returns activity sorted by date (newest first). |
|
|
541
|
+
| `get_activity_message` | Get a single activity message by ID, including subclass metadata when available. |
|
|
542
|
+
| `pin_activity_message` | Pin or unpin an activity message. Idempotent when the pin state already matches. |
|
|
543
|
+
| `list_activity_filters` | List configured activity filters in display order. |
|
|
544
|
+
| `list_activity_references` | List activity references connected to a raw Huly object. Use direction to list references from the object, to the object, or both. |
|
|
545
|
+
| `list_activity_replies` | List thread replies on any activity message, not only channel messages. |
|
|
546
|
+
| `add_activity_reply` | Add a Markdown reply to any activity message. |
|
|
547
|
+
| `update_activity_reply` | Update a generic activity reply body. |
|
|
548
|
+
| `delete_activity_reply` | Delete a generic activity reply. |
|
|
526
549
|
| `add_reaction` | Add an emoji reaction to an activity message. |
|
|
527
550
|
| `remove_reaction` | Remove an emoji reaction from an activity message. |
|
|
528
551
|
| `list_reactions` | List reactions on an activity message. |
|
|
@@ -535,6 +558,8 @@ SDK upgrade revisit:
|
|
|
535
558
|
|
|
536
559
|
| Tool | Description |
|
|
537
560
|
|------|-------------|
|
|
561
|
+
| `list_notification_providers` | List notification providers such as inbox, push, and sound. Use provider IDs from this tool when updating provider or type settings. |
|
|
562
|
+
| `list_notification_types` | List notification types. Use type IDs from this tool when updating provider-specific notification type settings. |
|
|
538
563
|
| `list_notifications` | List inbox notifications. Returns notifications sorted by modification date (newest first). Supports filtering by read/archived status. |
|
|
539
564
|
| `get_notification` | Retrieve full details for a notification. Use this to view notification content and metadata. |
|
|
540
565
|
| `mark_notification_read` | Mark a notification as read. Idempotent: returns success when the notification is already read. |
|
|
@@ -548,8 +573,13 @@ SDK upgrade revisit:
|
|
|
548
573
|
| `list_notification_contexts` | List notification contexts. Returns contexts sorted by last update timestamp (newest first). Supports filtering by pinned status and can include hidden contexts. |
|
|
549
574
|
| `pin_notification_context` | Pin or unpin a notification context. Pinned contexts are highlighted in the inbox. Idempotent when the pin state already matches. |
|
|
550
575
|
| `hide_notification_context` | Hide or unhide a notification context. Hidden contexts are omitted from list_notification_contexts unless includeHidden is true. Idempotent when the hidden state already matches. |
|
|
576
|
+
| `archive_notification_context` | Archive all inbox notifications in a notification context. Idempotent: returns count 0 when no active notifications remain. |
|
|
577
|
+
| `unarchive_notification_context` | Unarchive all archived inbox notifications in a notification context. Idempotent: returns count 0 when no archived notifications remain. |
|
|
578
|
+
| `subscribe_to_object_notifications` | Subscribe the authenticated account to notifications for a raw Huly object by adding a core collaborator row. Idempotent when already subscribed. |
|
|
579
|
+
| `unsubscribe_from_object_notifications` | Unsubscribe the authenticated account from notifications for a raw Huly object by removing its collaborator row. Idempotent when already absent. |
|
|
551
580
|
| `list_notification_settings` | List notification provider settings. Returns current notification preferences. |
|
|
552
581
|
| `update_notification_provider_setting` | Update notification provider setting. Enable or disable notifications for a specific provider. |
|
|
582
|
+
| `update_notification_type_setting` | Enable or disable one notification type for one provider. Creates the type setting only when the provider has a configurable setting in this workspace. |
|
|
553
583
|
| `get_unread_notification_count` | Get the count of unread notifications. |
|
|
554
584
|
|
|
555
585
|
### Workspace
|
|
@@ -580,6 +610,14 @@ SDK upgrade revisit:
|
|
|
580
610
|
| `update_card` | Update fields on an existing Huly card. Only provided fields are modified. Content updates support markdown. |
|
|
581
611
|
| `delete_card` | Permanently delete a Huly card. This action cannot be undone. |
|
|
582
612
|
|
|
613
|
+
### Collaborators
|
|
614
|
+
|
|
615
|
+
| Tool | Description |
|
|
616
|
+
|------|-------------|
|
|
617
|
+
| `list_object_collaborators` | List notification collaborators on a Huly issue, document, or raw object. Prefer friendly targets: project+issueIdentifier for issues or teamspace+document for documents. Advanced callers may pass objectId+objectClass directly. |
|
|
618
|
+
| `add_object_collaborator` | Subscribe a workspace member to object notifications by adding a core collaborator row. Member can be an account UUID, exact employee/person name, or email. Idempotent when already subscribed. |
|
|
619
|
+
| `remove_object_collaborator` | Unsubscribe a workspace member from object notifications by removing its collaborator row. Member can be an account UUID, exact employee/person name, or email. Idempotent when already absent. |
|
|
620
|
+
|
|
583
621
|
### Custom-Fields
|
|
584
622
|
|
|
585
623
|
| Tool | Description |
|
|
@@ -594,10 +632,25 @@ SDK upgrade revisit:
|
|
|
594
632
|
|------|-------------|
|
|
595
633
|
| `list_drives` | List Huly Drive spaces. When includeArchived is omitted, includeArchived=undefined. Use this before path operations when you do not know the exact drive id or exact drive name. |
|
|
596
634
|
| `get_drive` | Get one Huly Drive by exact drive id or exact drive name. If an exact name is ambiguous, the error includes candidate ids so the next call can use the id. |
|
|
635
|
+
| `create_drive` | Idempotently create a Huly Drive space. If an active Drive with the same exact name already exists, returns it with created=false. Initial members and owners accept account UUIDs, exact emails, or exact person names; omitted lists default to the caller. |
|
|
636
|
+
| `update_drive` | Update safe metadata on an existing Drive: name, description, private, archived, or autoJoin. Provide at least one update field. This changes the Drive space, not files or folders inside it. |
|
|
637
|
+
| `delete_drive` | Permanently delete an empty Huly Drive space. The Drive must contain no files or folders; non-empty Drives fail with child count and item summaries. This is permanent deletion, not archive or trash. |
|
|
638
|
+
| `add_drive_members` | Idempotently add members to an existing Drive. Members accept account UUIDs, exact emails, or exact person names and resolve to Huly account UUIDs before replacing the Drive member list. |
|
|
639
|
+
| `remove_drive_members` | Idempotently remove members from an existing Drive. Members accept account UUIDs, exact emails, or exact person names and resolve to Huly account UUIDs before replacing the Drive member list. |
|
|
640
|
+
| `set_drive_owners` | Replace owners on an existing Drive. Owners accept account UUIDs, exact emails, or exact person names. By default, each owner is also ensured as a Drive member. Pass owners=[] to clear owners. |
|
|
597
641
|
| `list_drive_items` | List children under a folder path in a Drive. Paths are POSIX-like and normalized to absolute; '/' lists the root. Duplicate same-parent titles fail with candidate ids instead of guessing. |
|
|
598
642
|
| `get_drive_item` | Get one Drive folder or file by either exact itemId or path. Provide only one locator. File results include current version, size, MIME type, and download URL when available. |
|
|
643
|
+
| `list_drive_file_comments` | List comments on a Drive file resolved by filePath or fileId. Provide only one locator. Returns comments sorted by creation date, oldest first. |
|
|
644
|
+
| `add_drive_file_comment` | Add a Markdown comment to a Drive file resolved by filePath or fileId. Provide only one locator. The comment is attached directly to the file. |
|
|
645
|
+
| `update_drive_file_comment` | Update a comment on a Drive file resolved by filePath or fileId. Provide only one locator. Idempotent when the comment body is unchanged. |
|
|
646
|
+
| `delete_drive_file_comment` | Permanently delete a comment from a Drive file resolved by filePath or fileId. Provide only one locator. This deletes the comment, not the file. |
|
|
647
|
+
| `list_drive_file_activity` | List activity messages for a Drive file resolved by filePath or fileId. Provide only one locator. Returns activity sorted by date, newest first. |
|
|
599
648
|
| `create_drive_folder` | Idempotently create a Drive folder path, creating missing parents like mkdir -p. Returns created=false when the full folder path already exists. |
|
|
600
649
|
| `upload_drive_file` | Upload a file into Drive at a full path including filename. Provide exactly one source: filePath, fileUrl, or base64 data. By default createParents=true creates missing parent folders and reports them. |
|
|
650
|
+
| `upload_drive_file_version` | Upload a new version for an existing Drive file resolved by file id or file path. Provide exactly one source: filePath, fileUrl, or base64 data. This increments the file version counter and makes the uploaded version current. |
|
|
651
|
+
| `move_drive_item` | Move a Drive item, meaning a file or folder, to another existing folder path in the same Drive without renaming it. Idempotent when the item is already in that folder. Rejects sibling title collisions and rejects moving a folder into itself or a descendant. |
|
|
652
|
+
| `rename_drive_item` | Rename a Drive item, meaning a file or folder, in its current folder. Idempotent when the title is unchanged. Rejects sibling title collisions; use move_drive_item to change folders. |
|
|
653
|
+
| `delete_drive_item` | Permanently delete a Drive item, meaning a file or folder. Files are deleted with their version records. Folders must be empty; non-empty folders fail with child count and child summaries. This is permanent deletion, not archive or trash. |
|
|
601
654
|
| `list_drive_file_versions` | List versions for a Drive file resolved by file id or file path. Marks the current version and includes blob id, size, MIME type, lastModified, and download URL. |
|
|
602
655
|
| `restore_drive_file_version` | Restore an existing Drive file version by version id or numeric version. Idempotent when the requested version is already current and does not increment the file version counter. |
|
|
603
656
|
|
|
@@ -650,6 +703,10 @@ SDK upgrade revisit:
|
|
|
650
703
|
| `get_huly_class` | Read one Huly class/interface/mixin by exact ID and return its inheritance chain plus model attributes. Use this when you need fields, ref targets, enum IDs, or hints about purpose-built MCP tool categories for the class. |
|
|
651
704
|
| `list_huly_attributes` | Discover Huly model attributes across the workspace or directly on one class/mixin. Returns attribute IDs, owner classes, labels, type families, ref targets, enum IDs, and custom-field markers. |
|
|
652
705
|
| `list_huly_enums` | Discover Huly enum model documents and their valid values. Use enum IDs from get_huly_class or list_huly_attributes to inspect allowed enum values before writing or interpreting enum fields. |
|
|
706
|
+
| `list_huly_plugin_configurations` | List read-only Huly plugin configuration records from core.class.PluginConfiguration. Returns plugin id, label, enabled/beta flags, and transaction count so an LLM can see installed model plugin gates without mutating configuration. |
|
|
707
|
+
| `list_huly_domain_index_configurations` | List read-only Huly domain index configuration records from core.class.DomainIndexConfiguration. Returns each domain plus disabled, skip, and enabled-index summaries while preserving SDK-open index/filter/config payloads as typed metadata. |
|
|
708
|
+
| `list_huly_sequences` | List read-only Huly sequence counters from core.class.Sequence and core.class.CustomSequence. Returns sequence id, attached class id, current non-negative integer value, and custom prefix when present. |
|
|
709
|
+
| `describe_huly_space_type_capabilities` | Describe one Huly SpaceType by id or exact name in a single read-only call. Returns descriptor metadata, base/target classes, roles, role permissions, default members, autoJoin, and the stored role-assignment shape. |
|
|
653
710
|
|
|
654
711
|
### Spaces
|
|
655
712
|
|