Huly MCP
Huly MCP: feature-complete MCP server for Huly integration
Connector by dearlordylord · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/dearlordylord-huly-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 255 read · 240 write · 97 delete · 13 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 605
Read from the source code; the running server may list different tools.
Read 255 · Look things up without changing anything.
describe_huly_space_type_capabilitiesfulltext_searchget_activity_messageget_approval_requestget_attachmentget_boardget_board_cardget_board_common_preferenceget_board_saved_viewget_cardget_channelget_chat_message_attachment
Show 243 more tools
get_class_collaborator_metadataget_componentget_custom_field_valuesget_departmentget_detailed_time_reportget_documentget_document_snapshotget_drawingget_driveget_drive_itemget_eventget_filtered_viewget_funnelget_global_space_adminsget_hr_requestget_hr_request_attachmentget_hr_scheduleget_hr_summary_reportget_hr_tableget_huly_classget_huly_startup_diagnosticget_inventory_categoryget_inventory_productget_inventory_product_attachmentget_inventory_product_photoget_inventory_variantget_issueget_issue_publication_statusget_issue_templateget_leadget_lead_attachmentget_meeting_minutesget_message_templateget_milestoneget_notificationget_notification_contextget_officeget_office_floorget_office_roomget_organizationget_personget_person_administrationget_person_attachmentget_processget_projectget_project_typeget_public_holidayget_recruiting_applicantget_recruiting_applicant_matchget_recruiting_attachmentget_recruiting_candidateget_recruiting_candidate_custom_field_valuesget_recruiting_opinionget_recruiting_reviewget_recruiting_vacancyget_regionsget_scheduleget_spaceget_space_preferenceget_space_typeget_status_categoryget_support_statusget_teamspaceget_test_caseget_test_planget_test_resultget_test_runget_test_suiteget_time_reportget_todoget_unread_notification_countget_user_profileget_workflow_statusget_workspace_infolist_active_room_infolist_active_room_participantslist_activitylist_activity_filterslist_activity_referenceslist_activity_replieslist_approval_requestslist_associationslist_attached_tagslist_attachmentslist_board_card_labelslist_board_cardslist_board_labelslist_board_menu_pageslist_board_saved_viewslist_board_viewletslist_boardslist_calendar_settingslist_calendarslist_card_commentslist_card_spaceslist_card_versionslist_cardslist_channel_memberslist_channel_messageslist_channelslist_chat_message_attachmentslist_commentslist_componentslist_contact_channel_providerslist_custom_fieldslist_departmentslist_device_preferenceslist_direct_messageslist_dm_messageslist_document_label_definitionslist_document_labelslist_document_snapshotslist_documentslist_drawingslist_drive_file_activitylist_drive_file_commentslist_drive_file_versionslist_drive_itemslist_driveslist_employeeslist_event_instanceslist_eventslist_external_channel_messageslist_external_tracker_targetslist_filtered_viewslist_funnelslist_hr_request_attachmentslist_hr_request_commentslist_hr_request_typeslist_hr_requestslist_huly_attributeslist_huly_classeslist_huly_domain_index_configurationslist_huly_enumslist_huly_plugin_configurationslist_huly_sequenceslist_inactive_employeeslist_inline_commentslist_inventory_categorieslist_inventory_product_activitylist_inventory_product_attachmentslist_inventory_product_commentslist_inventory_product_photoslist_inventory_productslist_inventory_variantslist_issue_relationslist_issue_templateslist_issueslist_labelslist_lead_attachmentslist_lead_commentslist_lead_label_definitionslist_lead_labelslist_leadslist_mail_threadslist_master_tagslist_meeting_minuteslist_mentionslist_message_template_categorieslist_message_template_fieldslist_message_templateslist_milestoneslist_notification_contextslist_notification_providerslist_notification_settingslist_notification_typeslist_notificationslist_object_collaboratorslist_office_defaultslist_office_floorslist_office_roomslist_officeslist_organization_channelslist_organization_memberslist_organizationslist_person_attachmentslist_person_channelslist_person_commentslist_person_organizationslist_personslist_pinned_chat_messageslist_process_executionslist_processeslist_project_target_preferenceslist_project_typeslist_projectslist_public_holidayslist_reactionslist_recruiting_activitylist_recruiting_applicant_matcheslist_recruiting_applicantslist_recruiting_attachmentslist_recruiting_candidate_custom_fieldslist_recruiting_candidate_skillslist_recruiting_candidateslist_recruiting_commentslist_recruiting_opinionslist_recruiting_related_issueslist_recruiting_reviewslist_recruiting_skillslist_recruiting_vacancieslist_recruiting_vacancy_statuseslist_recruiting_vacancy_typeslist_recurring_eventslist_related_issue_targetslist_relationslist_saved_attachmentslist_saved_messageslist_scheduleslist_social_identity_providerslist_space_permissionslist_space_preferenceslist_space_typeslist_spaceslist_stafflist_status_categorieslist_statuseslist_tag_categorieslist_tagslist_task_typeslist_teamspaceslist_test_caseslist_test_planslist_test_projectslist_test_resultslist_test_runslist_test_suiteslist_thread_replieslist_time_spend_reportslist_todo_label_definitionslist_todo_labelslist_todoslist_user_statuseslist_viewletslist_work_slotslist_workbench_applicationslist_workflow_statuseslist_workspace_memberslist_workspacespreview_deletionread_attachment_contentrender_message_templatetranslate_chat_message
Write 240 · Create, change, send or run things.
add_activity_replyadd_approval_requestadd_approval_request_commentadd_attachmentadd_board_card_labeladd_card_commentadd_channel_membersadd_chat_message_attachmentadd_commentadd_document_attachmentadd_document_labeladd_drive_file_comment
Show 228 more tools
add_drive_membersadd_hr_request_attachmentadd_hr_request_commentadd_inventory_product_attachmentadd_inventory_product_commentadd_inventory_product_photoadd_issue_attachmentadd_issue_labeladd_issue_relationadd_lead_attachmentadd_lead_commentadd_lead_labeladd_object_collaboratoradd_organization_channeladd_organization_memberadd_person_attachmentadd_person_channeladd_person_commentadd_reactionadd_recruiting_attachmentadd_recruiting_candidate_skilladd_recruiting_commentadd_recruiting_related_issueadd_space_membersadd_space_role_membersadd_template_childadd_test_plan_itemadd_thread_replyadd_todo_labelapprove_approval_requestarchive_all_notificationsarchive_boardarchive_board_cardarchive_channelarchive_funnelarchive_notificationarchive_notification_contextarchive_recruiting_vacancyassign_staff_departmentattach_tagcancel_approval_requestcancel_executioncreate_access_linkcreate_associationcreate_boardcreate_board_cardcreate_board_labelcreate_cardcreate_channelcreate_componentcreate_departmentcreate_direct_messagecreate_documentcreate_drawingcreate_drivecreate_drive_foldercreate_eventcreate_funnelcreate_group_direct_messagecreate_hr_requestcreate_huly_attributecreate_huly_enumcreate_huly_permissioncreate_huly_sequencecreate_inventory_categorycreate_inventory_productcreate_inventory_variantcreate_issuecreate_issue_from_templatecreate_issue_statuscreate_issue_templatecreate_labelcreate_leadcreate_milestonecreate_office_floorcreate_office_roomcreate_organizationcreate_personcreate_projectcreate_public_holidaycreate_recruiting_applicantcreate_recruiting_opinioncreate_recruiting_reviewcreate_recruiting_vacancycreate_recurring_eventcreate_relationcreate_schedulecreate_spacecreate_space_rolecreate_status_categorycreate_tagcreate_tag_categorycreate_task_typecreate_teamspacecreate_test_casecreate_test_plancreate_test_resultcreate_test_runcreate_test_suitecreate_todocreate_workflow_statuscreate_workspacedetach_tagdownload_attachmentedit_documentinvite_employeemake_organization_customermake_person_customermark_all_notifications_readmark_notification_readmark_notification_unreadmove_drive_itemmove_issuemove_leadpin_activity_messagepin_attachmentpin_notification_contextpublish_issue_to_external_trackerreject_approval_requestrename_drive_itemreopen_todorepair_person_social_identitiesrestore_drive_file_versionrun_test_plansave_attachmentsave_messageschedule_todosend_channel_messagesend_dm_messageset_chat_message_pinnedset_class_collaborator_metadataset_conversation_closedset_conversation_starredset_custom_fieldset_drive_ownersset_employee_positionset_issue_componentset_issue_milestoneset_primary_calendarset_recruiting_candidate_custom_fieldset_recruiting_candidate_profileset_related_issue_targetset_space_ownersset_space_role_membersset_space_role_permissionsstart_processstart_timerstop_timersubscribe_to_object_notificationsupdate_activity_replyupdate_attachmentupdate_boardupdate_board_cardupdate_board_labelupdate_calendar_settingsupdate_cardupdate_card_commentupdate_channelupdate_channel_messageupdate_chat_message_attachmentupdate_commentupdate_componentupdate_departmentupdate_dm_messageupdate_drawingupdate_driveupdate_drive_file_commentupdate_eventupdate_funnelupdate_guest_settingsupdate_hr_requestupdate_hr_request_attachmentupdate_hr_request_commentupdate_huly_attributeupdate_huly_custom_sequenceupdate_huly_enumupdate_huly_permissionupdate_inventory_categoryupdate_inventory_productupdate_inventory_product_attachmentupdate_inventory_product_commentupdate_inventory_product_photoupdate_inventory_variantupdate_issueupdate_issue_templateupdate_labelupdate_leadupdate_lead_attachmentupdate_lead_commentupdate_lead_labelupdate_member_roleupdate_milestoneupdate_notification_provider_settingupdate_notification_type_settingupdate_office_roomupdate_organizationupdate_organization_channelupdate_personupdate_person_attachmentupdate_person_channelupdate_person_commentupdate_projectupdate_public_holidayupdate_recruiting_applicantupdate_recruiting_attachmentupdate_recruiting_commentupdate_recruiting_opinionupdate_recruiting_reviewupdate_recruiting_vacancyupdate_scheduleupdate_spaceupdate_status_categoryupdate_tagupdate_tag_categoryupdate_teamspaceupdate_test_caseupdate_test_planupdate_test_resultupdate_test_runupdate_test_suiteupdate_thread_replyupdate_todoupdate_user_profileupdate_workflow_statusupload_drive_fileupload_drive_file_versionupload_fileupsert_project_target_preference
Delete 97 · Delete, drop, revoke or wipe things.
deactivate_employeedelete_activity_replydelete_associationdelete_attachmentdelete_board_carddelete_board_labeldelete_carddelete_card_commentdelete_channeldelete_channel_messagedelete_chat_message_attachmentdelete_class_collaborator_metadata
Show 85 more tools
delete_commentdelete_componentdelete_departmentdelete_dm_messagedelete_documentdelete_drawingdelete_drivedelete_drive_file_commentdelete_drive_itemdelete_eventdelete_funneldelete_hr_requestdelete_hr_request_attachmentdelete_hr_request_commentdelete_huly_attributedelete_huly_enumdelete_huly_permissiondelete_huly_sequencedelete_inventory_categorydelete_inventory_productdelete_inventory_product_attachmentdelete_inventory_product_commentdelete_inventory_product_photodelete_inventory_variantdelete_issuedelete_issue_templatedelete_labeldelete_leaddelete_lead_attachmentdelete_lead_commentdelete_milestonedelete_notificationdelete_organizationdelete_persondelete_person_attachmentdelete_person_commentdelete_projectdelete_public_holidaydelete_recruiting_applicantdelete_recruiting_attachmentdelete_recruiting_commentdelete_recruiting_opiniondelete_recruiting_reviewdelete_related_issue_space_targetdelete_relationdelete_scheduledelete_status_categorydelete_tagdelete_tag_categorydelete_teamspacedelete_test_casedelete_test_plandelete_test_resultdelete_test_rundelete_test_suitedelete_thread_replydelete_tododelete_workflow_statusdelete_workspacemerge_peopleremove_board_card_labelremove_channel_membersremove_document_labelremove_drive_membersremove_issue_labelremove_issue_relationremove_lead_labelremove_object_collaboratorremove_organization_channelremove_organization_memberremove_person_channelremove_reactionremove_recruiting_candidate_skillremove_recruiting_related_issueremove_space_membersremove_space_role_membersremove_template_childremove_test_plan_itemremove_todo_labelset_global_space_adminsunlink_document_from_issueunsave_attachmentunsave_messageunschedule_todounsubscribe_from_object_notifications
Not yet classified 13 · We could not tell from the name and description.
complete_todohide_notification_contextjoin_channelleave_channellink_document_to_issuelog_timerequest_channel_accessunarchive_boardunarchive_board_cardunarchive_channelunarchive_notificationunarchive_notification_context
Show 1 more tools
unarchive_recruiting_vacancy
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
HULY_PASSWORD
Other settings (environment variables or headers).
HULY_CONNECTION_TIMEOUTHULY_EMAILHULY_TOOL_MODEHULY_URLHULY_WORKSPACEPROXY_OUTPUT_STRICTTOOLSTOOLSETS
Tools (600)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_activity_replyAdd a Markdown reply to any activity message. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_approval_requestCreate a generic Huly approval Request attached to any target document. Provide raw attachedTo and attachedToClass from the target, requested people as Person ids or exact email/name identifiers, and a real opaque Huly SDK tx payload. Omit space to resolve it from the target; collection defaults to requests. Returns the new request id without doing an immediate stale-prone read-after-write.
add_approval_request_commentAdd a plain markdown comment to an approval Request by request _id. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. This does not approve, reject, cancel, or create a decision comment mixin.
add_attachmentAdd an attachment to a Huly object. Provide one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server. Returns the attachment ID and download URL.
add_board_card_labelAttach a board label to a board card. If label is a new title, creates the board-card label definition first; repeated calls are idempotent.
add_card_commentAdd a markdown comment to one Huly card, resolving the card space by exact name or ID and the card by exact title or ID. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_channel_membersIdempotently add members to a non-archived Huly channel. Members accept account UUID, exact email, or exact person display name and resolve to Huly account UUIDs before replacing the full sorted member array.
add_chat_message_attachmentAttach a file directly to a Huly channel message, direct-message message, or thread reply. Provide filename, contentType, and exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_commentAdd a comment to a Huly issue. Comment body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_document_attachmentAdd an attachment to a Huly document resolved by teamspace and title/ID. Provide one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_document_labelIdempotently attach a label to an ordinary Huly document resolved by teamspace and title or ID. label accepts a definition ID or exact title; a missing title creates the document label definition first, while duplicate exact titles return candidate IDs.
add_drive_file_commentAdd a Markdown comment to a Drive file resolved by filePath or fileId. Provide only one locator. The comment is attached directly to the file. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_drive_membersIdempotently 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.
add_hr_request_attachmentAttach a file to an exact HR request. Provide filename, contentType, and exactly one of filePath, fileUrl, or base64 data.
add_hr_request_commentAdd a Markdown comment directly to an exact HR request ID.
Show 585 more tools
add_inventory_product_attachmentAdd a file to an inventory product resolved by product ID or exact name. Provide exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_inventory_product_commentAdd a Markdown comment directly to an inventory product resolved by product ID or exact name. Pass category to disambiguate duplicate names. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_inventory_product_photoAdd a photo to an inventory product using Huly's product photos collection. Provide exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_issue_attachmentAdd an attachment to a Huly issue resolved by project and identifier. Provide one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_issue_labelAdd a tag/label to a Huly issue. Creates the tag if it doesn't exist in the project.
add_issue_relationAdd a relation between two issues. Relation types: 'blocks' (source blocks target — pushes into target's blockedBy), 'is-blocked-by' (source is blocked by target — pushes into source's blockedBy), 'relates-to' (bidirectional link — updates both sides). targetIssue accepts cross-project identifiers like 'OTHER-42'. No-op if the relation already exists.
add_lead_attachmentUpload a local path, URL, or base64 payload and attach the native file reference to one exact lead.
add_lead_commentAdd a Markdown comment to one exact lead. Current-workspace Huly links are stored as native references.
add_lead_labelIdempotently attach a label relation to one exact lead. Accepts a definition ID or exact title; a missing title creates the Lead label definition.
add_object_collaboratorSubscribe 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.
add_organization_channelIdempotently add a contact channel to an organization identified by ID or exact unique name. Provider labels: email, phone, linkedin, twitter, github, facebook, telegram, homepage, whatsapp, skype, profile, viber. Returns added=false and the existing channel when the exact provider+value already exists.
add_organization_memberLink a person as a member of an organization. The person appears under the org's Members tab in Huly. Use person ID or email to identify the person. Idempotent: returns added=false if that person is already a member.
add_person_attachmentUpload and attach a file to one person from exactly one of filePath, fileUrl, or base64 data; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
add_person_channelIdempotently add a contact channel to a person. Person accepts person ID, exact email address, or exact Huly display name. Provider labels match list_contact_channel_providers. Returns added=false and the existing channel when the exact provider+value already exists.
add_person_commentAdd a markdown note/comment to one person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_reactionAdd an emoji reaction to an activity message.
add_recruiting_attachmentAttach a file to a Recruiting vacancy, candidate, applicant, or opinion target. Provide filename, contentType, and exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server.
add_recruiting_candidate_skillAttach a skill to a candidate. candidate accepts person _id, email, or exact name. skill accepts title or tag ID; missing skill titles are created. Optional category/color apply only to newly created skill tags.
add_recruiting_commentAdd a Markdown comment directly to a Recruiting vacancy, candidate, applicant, review, or opinion target resolved by the shared target locator. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_recruiting_related_issueIdempotently add a Huly Related Issues entry (`Issue.relations`) from a tracker issue to a Recruiting vacancy, candidate, or applicant target.
add_space_membersIdempotently add members to an existing Huly space. Members accept account UUID, exact email, or exact person display name and resolve to Huly account UUIDs before replacing the full members array.
add_space_role_membersIdempotently add members to one role on a typed Huly space while preserving all other role assignments. Role accepts a raw role _id or exact role name from the space's SpaceType. Members accept account UUID, exact email, or exact person display name.
add_template_childAdd a child (sub-task) template to an issue template. The child defines default values for sub-issues created when using create_issue_from_template. Child description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Returns the child template ID.
add_test_plan_itemAdd a test case to a test plan. Resolves test case by ID or name. Optionally assign a person by email or name.
add_thread_replyAdd a reply to a message thread. Reply body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
add_todo_labelIdempotently attach a label to a Planner ToDo resolved by raw ID or human locator. label accepts a definition ID or exact title; a missing title creates the ToDo label definition first, while duplicate exact titles return candidate IDs.
approve_approval_requestApprove an active approval Request as the current Huly user. The current user's Employee/Person ref must be in the request's requested list. Optionally attach a markdown decision comment before approval. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. If the current user already approved it, returns changed=false.
archive_all_notificationsArchive all notifications. Returns the count of notifications archived.
archive_boardArchive a Huly board by board _id or exact board name. This hides the board but does not delete cards.
archive_board_cardArchive a board card. card accepts _id, CARD-123, bare number, or exact title scoped to the board.
archive_channelArchive a Huly channel by channel name or ID. This is reversible with unarchive_channel and is idempotent when the channel is already archived.
archive_funnelArchive a funnel without deleting it. Returns lead/comment/attachment impact so the caller can assess the hidden native content. Already archived funnels are an idempotent no-op.
archive_notificationArchive a notification. Archived notifications are hidden from the main inbox view. Idempotent when already archived.
archive_notification_contextArchive all inbox notifications in a notification context. Idempotent: returns count 0 when no active notifications remain.
archive_recruiting_vacancyArchive a Recruiting vacancy by raw _id, VCN-<number>, bare number, or exact name.
assign_staff_departmentAssign an exact employee ID/email/display name by writing only authoritative Staff.department. Use department=null to clear. Department.members hierarchy propagation is performed asynchronously by Huly's server trigger.
attach_tagAttach a generic Huly tag to one raw object collection. Prefer module tools for supported issue, document, Planner, board, and recruiting objects; this SDK fallback requires targetClass plus objectId/objectClass/space/collection and is idempotent for the same object, collection, and tag.
cancel_approval_requestCancel an active approval Request created by the current Huly user. This is the safe removal-from-workflow operation; hard delete is intentionally not exposed.
cancel_executionIdempotently cancel one Huly Process execution by execution ID. Active executions are marked cancelled; already-cancelled executions succeed with cancelled=false; completed executions fail without changing history.
complete_todoComplete a Planner ToDo by raw todoId or human locator, including a document attachment locator, by setting doneOn. Huly may trim future work slots and run issue automation when the ToDo is attached to an issue.
create_associationIdempotently create one Huly association definition between two non-system classes. Use sourceClass/targetClass with sourceRole/targetRole and cardinality; returns an existing identical association by default.
create_boardCreate a Huly board. Idempotent by exact active board name; pass projectType by _id or exact name only when the default board project type is ambiguous.
create_board_cardCreate a board card with safe defaults. Resolves kind/status from the board project type, increments the CARD-number sequence, and stores markdown description as inline Huly Markup. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
create_board_labelCreate a board label definition for board cards. Idempotent by exact title when one label matches; uses board.category.Other when no default category exists.
create_cardCreate a new card in a Huly card space. Requires a master tag (card type). Content supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Returns the created card id.
create_channelCreate a new channel in Huly. Returns the created channel ID and name.
create_componentCreate a new component in a Huly project. Components help organize issues by area/feature. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Returns the created component ID and label.
create_departmentCreate a top-level or nested HR department. Parent and people use exact paths/IDs/names/emails and reject ambiguity. Names cannot contain '/'. Department.members starts empty and remains server-derived.
create_direct_messageOpen a one-to-one direct-message conversation with a workspace member. The `person` argument accepts an email or exact display name (e.g. `Smith,Bill`). Idempotent: if a DM with that participant already exists, returns it (`created: false`); otherwise creates a new DM (`created: true`). The returned `id` can be passed as `dm` to send_dm_message, list_dm_messages, etc.
create_documentCreate a new document in a Huly teamspace. Content is markdown and supports native Mermaid diagrams (```mermaid blocks render interactively in Huly UI). Use markdown links to current-workspace Huly browse URLs for native references; Huly browse links returned in get_document content round-trip as native references. The URL identifies the object; link text is display text; plain issue keys stay text. External URLs stay normal markdown links. Optionally pass parent as a document title or ID to create a nested child document; invalid parents fail instead of silently creating a top-level document.…
create_drawingCreate a drawing under a raw Huly parent object.
create_driveIdempotently 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.
create_drive_folderIdempotently create a Drive folder path, creating missing parents like mkdir -p. Returns created=false when the full folder path already exists.
create_eventCreate a new calendar event. Description supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optional calendarId targets a specific calendar; when omitted, the event uses the authenticated user's primary personal calendar. Optional meetingRoom.room resolves an ID first, then an exact unambiguous name; meetingRoom.floor disambiguates names only. It creates the native Meeting assignment for every eventId sibling without replacing location. Ret…
create_funnelCreate a native Huly funnel after validating its Funnel project type, Lead task types, workflow statuses, membership, and owners. Full description accepts Markdown and preserves current-workspace native references. Creation is idempotent only for one exact existing name; the result explicitly reports whether that existing funnel is archived, and ambiguous names are rejected.
create_group_direct_messageOpen a group direct-message conversation with at least two other workspace members. The `people` array accepts exact emails or exact display names; the authenticated account is included automatically. Idempotent by exact sorted member set: returns an existing group DM with `created: false` when one already exists. For one other person, use create_direct_message.
create_hr_requestCreate an employee-attached HR request using exact employee, department, and request-type resolution. Dates are inclusive calendar dates in YYYY-MM-DD form and descriptions accept Markdown with native Huly references.
create_huly_attributeCreate a custom Huly Attribute/property on a class resolved by exact ID, tail name, or label. Supports string, number, boolean, date, markup, enum, and reference types; enum and reference targets also resolve by name. Existing same-name attributes are idempotent only when their definition matches; otherwise the call returns a conflict. New records are always isCustom=true. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
create_huly_enumCreate a Huly model enum with ordered option values. An exact case-insensitive name is idempotent only when its ordered values match; otherwise the call returns a conflict. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
create_huly_permissionCreate a base Huly Permission with a clear human label and optional class/transaction constraints. Class accepts an exact class ID, tail name, or label. Exact labels are idempotent only when the full definition matches. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
create_huly_sequenceCreate a zero-valued standard Sequence or prefixed CustomSequence for a class resolved by exact ID, tail name, or label. Retrying returns the matching existing definition and never resets or increments its counter; a different kind or prefix returns a conflict. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally.
create_inventory_categoryCreate an inventory category. Defaults parentCategory to the Inventory root. Rejects duplicate category names under the same parent.
create_inventory_productCreate an inventory product in a category resolved by ID or exact name. Rejects duplicate product names in the same category.
create_inventory_variantCreate an inventory variant/SKU under a product resolved by ID or exact name. Rejects duplicate variant names or SKUs in the same product.
create_issueCreate a new issue in a Huly project. Assignee accepts an email, Person display name, or exact agent UserProfile title and always stores the linked Person. Omit parentIssue for a native top-level issue, or specify parentIssue to create a sub-issue. Optionally set taskType by ID or display name; it is resolved within the target project's project type, and status is validated against that task type's workflow. Use list_task_types or get_project_type to discover valid task types and statuses. Description supports markdown formatting; markdown links to current-workspace Huly browse URLs with _clas…
create_issue_from_templateCreate a new issue from a template. Applies template defaults, allowing overrides for specific fields. Description override supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. If the template has children (sub-task templates), sub-issues are created automatically unless includeChildren is set to false. Returns the created issue identifier and count of children created.
create_issue_statusDescription is built at runtime.
create_issue_templateCreate a new issue template in a Huly project. Templates define default values for new issues. Template and child descriptions support markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optionally include children (sub-task templates) that will become sub-issues when creating issues from this template. Returns the created template ID and title.
create_labelCreate a new label/tag definition in the workspace. Labels are global and can be attached to any issue. Returns existing label if one with the same title already exists (created=false). Use add_issue_label to attach a label to a specific issue.
create_leadCreate one native Huly lead in an active funnel for an existing person or organization. Resolve the funnel by ID or exact name; identify the customer explicitly as person or organization; optionally choose an employee assignee, a workflow status matched exactly after normalization (trimmed, case-insensitive, and ignoring spaces, hyphens, and underscores), and Markdown description. Automatically applies the Customer mixin when needed, preserves native Huly references, and returns both leadId and LEAD-<number>. This tool never creates a person or organization inline.
create_milestoneCreate a new milestone in a Huly project. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Returns the created milestone ID and label.
create_office_floorCreate one durable virtual-office Floor with a nonblank name. Returns the generated floorId immediately. Floor rename and deletion are intentionally unavailable.
create_office_roomCreate one durable video, audio, reception, or personal office on a Floor resolved from an exact ID or unambiguous exact name. Video/audio/reception require a nonblank name; office uses Huly's native empty name and person=null. Huly class, access, language, 2x1 free floor-plan position, and recording/transcription defaults are derived internally; video inherits workspace OfficeSettings while other kinds default both flags to false. This does not create participants or start recording/transcription.
create_organizationCreate a new organization in Huly. Optionally add members by person ID or email. Fails if any requested member cannot be resolved. Returns the created organization ID.
create_personCreate a new person in Huly. Returns the created person ID.
create_projectCreate a new Huly tracker project. Idempotent: returns existing project if one with the same identifier already exists (created=false). Identifier must be 1-5 uppercase alphanumeric chars starting with a letter.
create_public_holidayCreate one public holiday for an exact department ID or full path. The date is a timezone-independent Gregorian calendar day stored as Huly TzDate with UTC offset 0; duplicate department/date pairs are rejected.
create_recruiting_applicantCreate an applicant linking one vacancy and candidate. Rejects duplicate vacancy/candidate pairs, increments APP sequence, resolves status from that vacancy workflow, and recruit-enables the person if needed.
create_recruiting_opinionCreate a Recruiting opinion on one review. Increments the OPE sequence, attaches to the review opinions collection, and stores markdown description as Huly markup. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
create_recruiting_reviewCreate a Recruiting review/interview like the Huly UI: increments RVE sequence, attaches to the candidate reviews collection, stores markdown description as Huly markup, defaults dueDate to 30 minutes after date, and recruit-enables the person if needed. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
create_recruiting_vacancyCreate a Recruiting vacancy like the Huly UI: increments the vacancy sequence, stores fullDescription as markdown-backed collaborative markup, defaults members/owners to the current account, and creates vacancy type-data mixin {}. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
create_recurring_eventCreate a new recurring calendar event with RFC5545 RRULE rules. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Optional calendarId targets a specific calendar; when omitted, the event uses the authenticated user's primary personal calendar. Returns the created event ID.
create_relationIdempotently create one concrete relation between two resolved documents for a writable association. Endpoint locators support raw, issue, document, card, and exact funnel-scoped lead targets. Enforces association endpoint classes, direction, duplicate handling, automation-only restrictions, and cardinality. Published Relation endpoints have no mutable field; replace a relation with delete_relation then create_relation.
create_scheduleCreate a calendar schedule. Owner accepts an employee/person ID, exact name, or email; calendar can be targeted by calendarId or calendarName. Optional meetingRoom.room resolves an ID first, then an exact unambiguous name; meetingRoom.floor disambiguates names only and creates the native MeetingSchedule composition. Meeting-room schedules must be owned by the authenticated caller.
create_spaceCreate a generic Huly typed space by SpaceType _id or exact name. This single call resolves member, owner, and role locators; applies SpaceType default members; and creates role assignments. For safety, only non-system types whose SDK descriptor base class is exactly core:class:TypedSpace are supported. Specialized project, teamspace, drive, funnel, vacancy, and similar types fail with a typed error directing callers to their purpose-built tools. Defaults: private=false, autoJoin=false, restricted=false, owners=[calling account].
create_space_roleCreate a Huly role definition using a SpaceType ID or exact name and permission ID or exact label values. The call creates both the attached Role and required typed-space assignment attribute, compensating if the second write fails. Workspace-scoped permissions are restricted to the stable all-spaces SpaceType. Existing exact role names are idempotent only when permission sets match. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
create_status_categoryCreate a generic Huly StatusCategory for an attribute resolved by ID or exact name. defaultStatus is resolved within the same attribute, preserving the category/default relationship. Idempotently returns an existing normalized label with created=false.
create_tagCreate a generic Huly tag definition for one targetClass. Idempotent by targetClass + title. Prefer module label or skill tools when attaching to a supported object; use this raw fallback for definition administration and unsupported tag-backed domains.
create_tag_categoryCreate a new tag/label category. Idempotent: returns existing category if one with the same label and targetClass already exists (created=false). Defaults targetClass to tracker issues.
create_task_typeAdd a Huly issue/task type to a project type idempotently by normalized name. Copies required workflow configuration from an existing template task type unless templateTaskType is supplied. Returns created, IDs, affected task type IDs, and a workspace-level workflow warning.
create_teamspaceCreate a new Huly document teamspace. Idempotent: returns existing teamspace if one with the same name exists.
create_test_caseCreate a test case attached to a suite. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Requires project and suite. Defaults: type=functional, priority=medium, status=draft.
create_test_planCreate a test plan in a project. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Idempotent: returns existing plan if one with the same name exists (created=false).
create_test_resultCreate a test result in a run. Resolves test case by ID or name. Status defaults to 'untested'.
create_test_runCreate a test run in a project. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. For bulk creation from a plan, use run_test_plan instead.
create_test_suiteCreate a test suite in a test project. Idempotent: returns existing suite if one with the same name exists (created=false). Optional parent for nesting.
create_todoCreate a Planner ToDo. Omit attachedTo for a personal ToDo, pass attachedTo.type=issue with project and identifier for an issue action item, or pass attachedTo.type=document with teamspace and document names or IDs for a document action item. Document ToDos are private by default. Omit owner to use the authenticated user. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
create_workflow_statusCreate a generic Huly workflow Status for an attribute resolved by ID or exact name. Optionally resolve a shared category by ID or exact label; pass a category ID when its label is ambiguous. Idempotently returns the existing normalized name in that attribute with created=false. Tracker project-type wiring remains owned by create_issue_status.
create_workspaceCreate a new Huly workspace. Returns the workspace UUID and URL. Optionally specify a region.
deactivate_employeecan change or delete dataPreview or execute an employee lifecycle change resolved by exact email or exact display name. action=deactivate only sets Employee.active=false and retains workspace membership; action=kick then removes the linked account from the workspace. If workspace removal fails after deactivation, the typed partial failure lists completed changes and directs a safe preview-and-retry. Preview is the default. Execution requires execute=true plus one exact expected relationship object copied from the preview: unlinked, linked-without-membership, or workspace-member. Any changed Person ID, account UUID, Em…
delete_activity_replyDelete a generic activity reply.
delete_associationcan change or delete dataIdempotently delete one Huly association definition only when no concrete relations reference it. If relations exist, delete_relation must clean them up first; deleting an already-missing association is a successful no-op.
delete_attachmentPermanently delete an attachment. This action cannot be undone.
delete_board_cardPermanently delete an already archived board card using Huly removeCollection. Active cards are rejected; call archive_board_card first.
delete_board_labelDelete one board label definition by TagElement _id or exact title. This removes the label definition, not a board card.
delete_cardPermanently delete a Huly card. This action cannot be undone.
delete_card_commentPermanently delete one comment that belongs to the resolved Huly card. Resolves the card space by exact name or ID and the card by exact title or ID. This action cannot be undone.
delete_channelPermanently delete a Huly channel. This action cannot be undone. For reversible channel lifecycle changes, use archive_channel and unarchive_channel instead.
delete_channel_messagePermanently delete a channel message. This action cannot be undone.
delete_chat_message_attachmentDelete one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target.
delete_class_collaborator_metadataPermanently delete the direct core ClassCollaborators metadata record for a class resolved by ID, tail name, or label. Inherited metadata is never selected or deleted. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
delete_commentDelete a comment from a Huly issue. This action cannot be undone.
delete_componentPermanently delete a Huly component. This action cannot be undone.
delete_departmentPreview destructive impact by default. Execution requires execute=true plus exact previewed descendant and assigned-Staff counts; Huly then cascades descendant deletion and clears affected Staff assignments.
delete_dm_messagePermanently delete a direct-message message. The `dm` argument accepts either the DM `_id` or a participant display name; a name resolves only to a one-to-one DM with the authenticated account. This action cannot be undone.
delete_documentPermanently delete a Huly document. This action cannot be undone.
delete_drawingDelete a drawing. This action cannot be undone.
delete_drivecan change or delete dataPermanently 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.
delete_drive_file_commentcan change or delete dataPermanently delete a comment from a Drive file resolved by filePath or fileId. Provide only one locator. This deletes the comment, not the file.
delete_drive_itemcan change or delete dataPermanently 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.
delete_eventPermanently delete a calendar event. This action cannot be undone.
delete_funnelPermanently delete an exact funnel only after it is archived and empty. First call get_funnel or archive_funnel, then pass the observed impact counts as expectedLeads, expectedComments, and expectedAttachments. Deletion fails if any count changed after that preflight snapshot.
delete_hr_requestDelete one exact HR request. Its comments and attachments are Huly-owned attached collections and follow the request deletion lifecycle.
delete_hr_request_attachmentDelete one file belonging directly to an exact HR request.
delete_hr_request_commentDelete a comment that belongs directly to an exact HR request.
delete_huly_attributePermanently delete an unused custom Huly Attribute resolved by ID or exact name. Pass class by ID/name to disambiguate. Built-in attributes and attributes present on any owning-class document are protected. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
delete_huly_enumPermanently delete a Huly model enum resolved by exact ID or name. Refuses deletion while any attribute references it. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
delete_huly_permissionPermanently delete a custom Huly Permission resolved by exact ID or exact label. Namespaced built-ins are protected, and referenced permissions are refused loudly. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
delete_huly_sequencecan change or delete dataPermanently delete a never-used Sequence or CustomSequence resolved by exact sequence ID or attached class ID/name. expectedCurrentValue must be 0 and is an atomic compare-and-delete guard, so an active or advanced counter cannot be removed; referenced CustomSequence records are protected. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally.
delete_inventory_categoryDelete an empty inventory category by ID or exact name. Refuses categories that still contain child categories or products; this action does not cascade.
delete_inventory_productDelete an inventory product by ID or exact name. Refuses products with variants, photos, attachments, or comments; this action does not cascade.
delete_inventory_product_attachmentPermanently delete a file attached directly to an inventory product. The attachmentId must belong to the resolved product.
delete_inventory_product_commentPermanently delete a comment attached directly to an inventory product. The commentId must belong to the resolved product.
delete_inventory_product_photoPermanently delete a photo attached directly to an inventory product. The photoId must belong to the resolved product.
delete_inventory_variantDelete one inventory variant/SKU by ID, exact variant name, or exact SKU. This action does not delete its product.
delete_issuePermanently delete a Huly issue. This action cannot be undone.
delete_issue_templatePermanently delete a Huly issue template. This action cannot be undone.
delete_labelPermanently delete a label/tag definition. Accepts label ID or title. This action cannot be undone.
delete_leadPreview native lead deletion impact by default. The preview reads authoritative comment, attachment, and label relation counts. To permanently delete, pass execute=true together with the exact counts returned by the preview; deletion fails if impact changed.
delete_lead_attachmentDelete an attachment only when it belongs to one exact lead. The native blob reference remains governed by Huly storage cleanup.
delete_lead_commentDelete one comment only when it belongs to the exact lead target.
delete_milestonePermanently delete a Huly milestone. This action cannot be undone.
delete_notificationPermanently delete a notification. This action cannot be undone.
delete_organizationPermanently delete an organization identified by ID or exact name when that name is unique. Use with care - this cannot be undone. Useful for cleaning up duplicate organizations after merging their data elsewhere. If multiple organizations share the same name, use the organization ID.
delete_personPermanently delete a person from Huly. This action cannot be undone.
delete_person_attachmentcan change or delete dataPermanently delete an attachment only when it belongs to one resolved person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
delete_person_commentcan change or delete dataPermanently delete a note/comment only when it belongs to one resolved person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
delete_projectPermanently delete a Huly project. All issues, milestones, and components in this project will be orphaned. This action cannot be undone.
delete_public_holidaycan change or delete dataPermanently delete one public-holiday document by exact raw ID.
delete_recruiting_applicantcan change or delete dataDelete an applicant with Huly removeCollection. applicant accepts raw _id, APP-<number>, or number; vacancy/candidate can disambiguate APP numbers.
delete_recruiting_attachmentDelete one file attached directly to a Recruiting vacancy, candidate, applicant, or opinion. The attachmentId must belong to the resolved target.
delete_recruiting_commentDelete one comment attached directly to a Recruiting vacancy, candidate, applicant, review, or opinion. The commentId must belong to the resolved target.
delete_recruiting_opinioncan change or delete dataDelete a Recruiting opinion with Huly removeCollection. opinion accepts raw _id, OPE-<number>, or number; review can disambiguate.
delete_recruiting_reviewcan change or delete dataDelete a Recruiting review with Huly removeCollection. review accepts raw _id, RVE-<number>, number, or exact title; candidate/application can disambiguate.
delete_related_issue_space_targetDelete 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.
delete_relationcan change or delete dataIdempotently delete one concrete relation by relation ID or by exact association/source/target triple. Triple endpoint locators support raw, issue, document, card, and exact funnel-scoped lead targets. Triple deletes use the same direction semantics as create_relation and fail if the selector is ambiguous.
delete_scheduleDelete a calendar schedule by scheduleId.
delete_status_categoryPermanently delete an unreferenced generic StatusCategory by ID or exact label. Refuses deletion while any Status references the category, preventing dangling relationships.
delete_tagcan change or delete dataDelete a generic Huly tag definition by ID or exact title, resolved within targetClass. This deletes the tag definition, not only one object's tag reference.
delete_tag_categoryPermanently delete a tag/label category. Accepts category ID or label name. Labels in this category will be orphaned (not deleted). This action cannot be undone.
delete_teamspacePermanently delete a Huly document teamspace. This action cannot be undone.
delete_test_casePermanently delete a test case. Accepts test case ID or name. This action cannot be undone.
delete_test_planPermanently delete a test plan. This does not delete associated test runs. Cannot be undone.
delete_test_resultPermanently delete a test result. Cannot be undone.
delete_test_runPermanently delete a test run. This does not delete associated test results. Cannot be undone.
delete_test_suitePermanently delete a test suite. Accepts suite ID or name. This action cannot be undone.
delete_thread_replyPermanently delete a thread reply. This action cannot be undone.
delete_todocan change or delete dataDelete a Planner ToDo by raw todoId or human locator, including a document attachment locator. This is destructive; deleting the last open issue ToDo can cause Huly classic issue status automation, while document ToDos do not change issue counters.
delete_workflow_statusPermanently delete an unreferenced generic workflow Status by ID or exact name. Refuses deletion while any StatusCategory default, ProjectType, TaskType, or task record references it. This tool never rewrites tracker workflow arrays; use tracker-specific workflow tools to remove those references first.
delete_workspacePermanently delete the current workspace. This action cannot be undone. Use with extreme caution.
describe_huly_space_type_capabilitiesDescribe 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.
detach_tagDetach a generic Huly tag from one raw object collection. Prefer module tools for supported issue, document, Planner, board, and recruiting objects; this SDK fallback requires targetClass and objectId/objectClass/space/collection.
download_attachmentGet download URL for an attachment along with file metadata (name, type, size).
edit_documentEdit an existing Huly document. You may rename with title and/or edit the body. Body editing has two mutually exclusive modes: (1) content replaces the entire markdown body, (2) old_text + new_text performs exact targeted search-and-replace. Use markdown links to current-workspace Huly browse URLs for native references; Huly browse links returned in get_document content round-trip as native references. The URL identifies the object; link text is display text; plain issue keys stay text. External URLs stay normal markdown links. For targeted replace, multiple matches error unless replace_all is…
fulltext_searchPerform a global fulltext search across all Huly content. Searches issues, documents, messages, and other indexed content. Returns matching items sorted by relevance (newest first).
get_activity_messageGet a single activity message by ID, including subclass metadata when available.
get_approval_requestRead one generic Huly approval Request document by raw request _id. Returns person refs with best-effort contact metadata plus the opaque SDK tx/rejectedTx payloads for inspection; approval mutations are intentionally not exposed by this read-only tool.
get_attachmentRetrieve full details for a Huly attachment including download URL.
get_boardGet one Huly board by board _id or exact board name. Returns board metadata, project type, and card count.
get_board_cardGet one board card. board accepts board _id or exact board name; card accepts card _id, CARD-123, bare number 123, or exact title scoped to the board.
get_board_common_preferenceRead the CommonBoardPreference row attached to board.app.Board. Returns present=false when the preference row is absent and never creates it.
get_board_saved_viewRead one board saved filtered view by FilteredView _id or exact name, scoped to attachedTo = board.app.Board. No saved-view writes are performed.
get_cardRetrieve full details for a Huly card including markdown content. When Huly supplies a coherent version number and chain identity, returns them together in one version object; partial or null version fields are omitted.
get_channelRetrieve full details for a Huly channel including topic and member list.
get_chat_message_attachmentGet one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target.
get_class_collaborator_metadataread-onlyGet the direct core ClassCollaborators metadata for a Huly class resolved by class ID, tail name, or label. Returns configured=false when the class inherits defaults or has no direct record.
get_componentRetrieve full details for a Huly component. Use this to view component content and metadata.
get_custom_field_valuesRead custom field values from a document. Pass the document's ID and class (from list_cards, list_issues, etc.). Returns all custom field values found on the document with their labels and types.
get_departmentGet one HR department by exact full slash-separated path or department ID.
get_detailed_time_reportDescription is built at runtime.
get_documentRetrieve full details for a Huly document including markdown content and a 'url' field pointing to the document in the Huly web app. Use this to view document content and metadata.
get_document_snapshotGet 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.
get_drawingGet a drawing by ID.
get_driveGet 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.
get_drive_itemGet 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.
get_eventRetrieve full details for a calendar event, including description and meetingRoom identity when it has the native Meeting composition.
get_filtered_viewGet one saved filtered view by FilteredView _id or exact name. Pass attachedTo, such as board:app:Board, when an exact name may exist in more than one module. Read-only; no saved-view writes are performed.
get_funnelGet one funnel by stable _id or exact name. Ambiguous names are rejected. Returns the full stable Funnel/Project projection, validated Lead workflow, content counts, deletion impact, and explicit unsupported-field classifications.
get_global_space_adminsGet the workspace-wide Huly space administrators from the stable core Admin role on the all-spaces typed space. Returns account UUIDs and requires no raw space, role, or mixin refs.
get_hr_requestGet one HR request by the exact raw request ID returned by list_hr_requests.
get_hr_request_attachmentGet one file belonging directly to an exact HR request.
get_hr_scheduleReturn every HR request overlapping an inclusive UTC calendar-date range, every applicable holiday document, and one day cell per date. Department scope includes nested departments by default; holiday inheritance walks upward from each scoped department by default. No result cap is applied and complete=true certifies full cursor pagination.
get_hr_summary_reportReturn complete request totals grouped by exact department and request type for an inclusive UTC date range. Requests are clipped to the range; calendar days include weekends, workdays exclude weekends and applicable inherited holidays, and signed units follow Huly request-type values. No result cap is applied.
get_hr_tableReturn a complete employee table for an inclusive UTC calendar-date range. Base workdays are Monday-Friday minus applicable inherited holiday dates; negative request types consume non-holiday workdays, positive types add calendar-day units, and zero types add none. No result cap is applied.
get_huly_classRead 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.
get_inventory_categoryGet one inventory category by ID or exact name. If the name is duplicated under different parents, pass parentCategory or use the category ID.
get_inventory_productGet one inventory product by ID or exact product name. If product names are duplicated, pass category or use the product ID.
get_inventory_product_attachmentGet one file attached directly to an inventory product. The attachmentId must belong to the resolved product.
get_inventory_product_photoGet one photo attached directly to an inventory product. The photoId must belong to the resolved product.
get_inventory_variantGet one inventory variant by ID, exact variant name, or exact SKU. If the name/SKU is duplicated, pass product or use the variant ID.
get_issueRetrieve full details for a Huly issue including markdown description, its creator as a stable Person reference { id, name?, email? } when resolvable, its assigned milestone as { id, label } when resolvable, and deterministic attached-label summaries with title and available color. Missing labels are an empty array, duplicate titles collapse case-insensitively while preferring a valid color, and unusable partial creator or label metadata is omitted with one bounded tool warning. Use this to view issue content, comments, classification, or full metadata. identifier accepts a project-local ident…
get_issue_publication_statusread-onlyRead the Huly-persisted external publication state for an issue identified by project and human issue identifier. Returns not_requested, pending, published, or failed; pending includes the ISO state-change timestamp and elapsed time, while published includes an external URL and positive issue number. A timeout is projected as failed only after the bounded wait, and later persisted publication takes precedence. This reads Huly state and never calls the external provider directly.
get_issue_templateRetrieve full details for a Huly issue template including children (sub-task templates). Use this to view template content, default values, and child template IDs.
get_leadRetrieve one exact funnel-scoped Huly lead with Markdown descriptions, customer identity/type, workflow task type and status, rank/completion, native collection counts, actor timestamps, funnel identity, and explicit classifications for fields without stable published semantics. Lead identifiers use LEAD-<number>.
get_lead_attachmentGet metadata and a download URL for an attachment only when it belongs to one exact lead.
get_meeting_minutesGet one meeting notes/transcript record (minutes) by meetingMinutesId, including description when readable.
get_message_templateRetrieve one global Huly message template by template ID or exact title. If a title is ambiguous, pass category as category ID or exact category name. Returns the full message converted to Markdown plus placeholderFieldIds parsed from dollar-brace tokens. Match placeholderFieldIds to list_message_template_fields.id for labels and resource IDs.
get_milestoneRetrieve full details for a Huly milestone. Use this to view milestone content and metadata.
get_notificationRetrieve full details for a notification. Use this to view notification content and metadata.
get_notification_contextGet notification context for an entity. Returns tracking information for a specific object.
get_officeGet one personal office room by roomId, including assigned person and description when readable.
get_office_floorGet one virtual office floor by floorId.
get_office_roomGet one virtual office room by roomId, including description when readable.
get_organizationRetrieve full details for an organization by ID or exact name when that name is unique - including city, description, member count, and modification timestamp. If multiple organizations share the same name, use the organization ID.
get_personRetrieve full details for a person including contact channels. Use personId or email to identify the person.
get_person_administrationInspect one person's identity and profile administration surface; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous. Returns contact statuses, workspace membership, avatar metadata, birthday, social identities, account profile, channel activity, and an explicit stable-field support ledger.
get_person_attachmentGet an attachment only when it belongs to one resolved person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
get_processGet one Huly Process workflow definition by process ID or exact display name. If a name is ambiguous, the tool returns a typed error with candidate IDs instead of guessing.
get_projectGet full details of a Huly project including its statuses. Returns project name, description, archived flag, default status, and all available statuses.
get_project_typeInspect one Huly tracker project type in a single call. Accepts projectType as ID or display name; when omitted, uses the unambiguous Classic tracker type. Returns task types, statuses, categories, and task-type-to-status mappings.
get_public_holidayGet one public-holiday document by the exact raw ID returned by list_public_holidays.
get_recruiting_applicantGet one Recruiting applicant by raw _id, APP-<number>, or bare number. Pass vacancy and/or candidate when an APP number could be ambiguous.
get_recruiting_applicant_matchGet one read-only generated Recruiting applicant match by raw applicant-match _id. Returns candidate, complete state, generated vacancy text, summary, response markdown, and timestamps.
get_recruiting_attachmentGet one file attached directly to a Recruiting vacancy, candidate, applicant, or opinion. The attachmentId must belong to the resolved target.
get_recruiting_candidateGet one Recruiting candidate by person _id, email, or exact display name. Returns profile fields, skills, application/review counts, and primary email when available.
get_recruiting_candidate_custom_field_valuesRead all applicable custom field values for an existing Recruiting Candidate, including definitions that are currently unset. candidate accepts a person _id, exact email, or exact display name. Candidate and Person-owned fields are projected with their Huly type metadata; this read never enables Recruiting. For a new person, call create_person first, then set_recruiting_candidate_profile.
get_recruiting_opinionGet one Recruiting opinion by raw _id, OPE-<number>, or bare number. Pass review to disambiguate. Returns value, markdown description, comments/attachments counts, parent review ref, and timestamps.
get_recruiting_reviewGet one Recruiting review by raw _id, RVE-<number>, bare number, or exact title. Optional candidate/application disambiguate. Returns schedule, markdown description, verdict, participant refs, company, application, and opinion count.
get_recruiting_vacancyGet one Recruiting vacancy by raw _id, VCN-<number>, bare number, or exact name. Returns descriptions, type, company, location, due date, privacy, archive state, and existing counts.
get_scheduleRetrieve one calendar schedule including owner, availability, calendar target, time zone, and room information when it is a meeting schedule.
get_spaceGet one generic Huly space by raw space _id or exact space name. Resolution tries _id first, then exact name. If a name matches multiple spaces, pass class and/or type to narrow; ambiguous errors include matching ids/classes/types.
get_space_preferenceRead the low-level Huly SpacePreference record attached to one space. Accepts a space _id or exact name with optional class/type narrowing. Returns present=false when the space exists but no generic SpacePreference row exists; use module-specific preference tools for writable preference payloads.
get_space_typeGet one Huly SpaceType by raw SpaceType _id or exact name, including descriptor metadata, role definitions, role permission ids/labels, and available permissions.
get_status_categoryGet one generic Huly StatusCategory by ID or exact case-insensitive label. Pass ofAttribute when a label exists for multiple status attributes; ambiguous labels are rejected with matching IDs.
get_support_statusDiscover Huly support-widget model/setup and the authenticated account's private stored status rows in one read-only call. Returns supported=false when either required workspace classifier is unavailable; otherwise setup is missing when no SupportSystem exists, configured for exactly one, or ambiguous with every candidate instead of choosing nondeterministically. providerConversationId is opaque and storedHasUnreadMessages is only a persisted fallback with no provider-freshness guarantee. Malformed private rows are skipped with an agent warning that never includes provider IDs. Huly exposes no…
get_teamspaceGet details for a Huly document teamspace including document count. Finds by name or ID, including archived teamspaces.
get_test_caseGet a single test case by ID or name within a test project.
get_test_planGet test plan details including its items (test cases). Accepts plan ID or name within a project.
get_test_resultGet test result details. Accepts result ID or name.
get_test_runGet test run details including all results. Accepts run ID or name within a project.
get_test_suiteGet a single test suite by ID or name within a test project. Returns suite details and test case count.
get_time_reportDescription is built at runtime.
get_todoGet one Planner ToDo by raw todoId or by a human locator such as issue + title + owner or attachedTo.type=document with teamspace/document + title. Returns stable ToDo fields, owner, attachment context, description, labels count, and work slot count.
get_unread_notification_countGet the count of unread notifications.
get_user_profileGet the current user's profile information including bio, location, and social links.
get_workflow_statusGet one generic Huly workflow Status by ID or exact case-insensitive name. Pass ofAttribute when a name exists for multiple status attributes; ambiguous names are rejected with matching IDs.
get_workspace_infoGet information about the current workspace including name, URL, region, and settings.
hide_notification_contextHide or unhide a notification context. Hidden contexts are omitted from list_notification_contexts unless includeHidden is true. Idempotent when the hidden state already matches.
invite_employeeCreate or promote and invite an employee, or resend an inactive employee invitation. mode=create-or-promote requires the exact Huly display name and email; one checked atomic transaction creates or updates the Person, email SocialIdentity, and active Employee before sending. A changed authoritative precondition sends no invite and directs the caller to retry in a fresh session. mode=invite-existing requires an exact email/name locator and rejects active or non-Employee targets. Omitted role preserves the Employee role; an explicit different role is persisted atomically before resend. Returns n…
join_channelJoin a non-archived Huly channel as the authenticated account. Idempotent when the account is already a member.
leave_channelLeave a non-archived Huly channel as the authenticated account. Idempotent when already absent. Refuses to leave if that would leave the channel empty or without any remaining owner.
link_document_to_issueLink 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.
list_active_room_infoList transient active room occupancy summaries.
list_active_room_participantsList transient active virtual-office participants and positions, optionally filtered by roomId.
list_activityList 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). Legitimately absent or null optional actor, message, class, and metadata fields are omitted from each item.
list_activity_filtersList configured activity filters in display order.
list_activity_referencesList activity references connected to a raw Huly object. Use direction to list references from the object, to the object, or both.
list_activity_repliesList thread replies on any activity message, not only channel messages.
list_approval_requestsList generic Huly approval Request documents from the published @hcengineering/request SDK package. This is read-only discovery: filter by status, raw attachedTo document id, and/or raw attachedToClass class id when you know the target document. Omit filters to inspect recent approval requests across modules.
list_associationsList Huly association definitions: class-level typed links that define which document classes may be related. Use this before create_relation to discover association IDs, source/target classes, and whether relation writes are supported.
list_attached_tagsList generic Huly TagReference rows attached to one raw object collection. Prefer module tools for issues, documents, Planner ToDos, board cards, and recruiting candidates; this SDK fallback requires objectId, objectClass, space, and collection.
list_attachmentsList attachments on a Huly object (issue, document, etc.). Returns attachments sorted by modification date (newest first).
list_board_card_labelsList board labels attached to one board card. Resolves board by _id/name and card by _id, CARD-123, bare number, or exact title.
list_board_cardsList cards on one @hcengineering/board board. board accepts board _id or exact board name; cards are sorted newest modified first.
list_board_labelsList board label definitions. Board labels are @hcengineering/tags TagElement rows for board cards, with targetClass = @hcengineering/board Card.
list_board_menu_pagesRead-only list of board menu page model docs. Optional page filters by MenuPage _id, raw pageId, main/archive alias, or exact label.
list_board_saved_viewsRead-only list of board saved filtered views. Queries view.class.FilteredView where attachedTo = board.app.Board and reports own/shared visibility.
list_board_viewletsRead-only list of board card viewlets. Queries view.class.Viewlet with attachTo = board.class.Card and includes descriptor metadata plus matching ViewletPreference configs.
list_boardsList Huly boards from @hcengineering/board, sorted by name. Boards are task.Project-backed spaces; this is not the separate Huly Card module.
list_calendar_settingsList the authenticated caller's Calendar settings, including caller-owned hidden and read-only calendars. Returns each calendar's stable ID, name, kind, hidden state, visibility, access, and computed primary state. Provider identifiers and defaults are omitted. Use list_calendars for writable, non-hidden event targets.
list_calendarsList writable, non-hidden calendars that can be used as create_event or create_recurring_event targets. Use this before creating events when you need to choose a target calendarId explicitly.
list_card_commentsList comments genuinely attached to one Huly card, oldest first. Resolves cardSpace by exact name or ID and card by exact title or ID. Includes comments created by this MCP server and compatible Huly UI card-comment conventions.
list_card_spacesList all Huly card spaces. Returns card spaces sorted by name. Card spaces are containers for cards.
list_card_versionsread-onlyRead one page of a Huly card's version history using any version card ID or exact title. Returns deterministic oldest-version-first entries, an authoritative total for the full history, and hasMore when the limit truncates the page. Unversioned cards return one entry without version metadata. This tool never creates or restores versions.
list_cardsList cards in a Huly card space. Returns cards sorted by modification date (newest first). Supports filtering by type (master tag), title substring, and content search.
list_channel_membersList members of a Huly channel by channel name or ID. Returns each member account UUID and the workspace display name when available.
list_channel_messagesList messages in a Huly channel. Returns messages sorted by date (newest first).
list_channelsList all Huly channels. Returns channels sorted by name. Supports filtering by archived status. Supports searching by name substring (nameSearch) and topic substring (topicSearch).
list_chat_message_attachmentsList files attached directly to a Huly chat message target. target.kind supports channel_message, dm_message, and thread_reply; the tool resolves channel names and one-to-one DM participant display names for you.
list_commentsList comments on a Huly issue. Returns comments sorted by creation date (oldest first).
list_componentsList components in a Huly project. Components organize issues by area/feature. Returns components sorted by modification date (newest first).
list_contact_channel_providersList supported contact channel provider labels for person and organization channel tools.
list_custom_fieldsList custom field definitions in the workspace. Returns fields with their labels, types, and owner class info. Custom fields are created in the Huly UI on Card types, Issue types, or other classes. Use targetClass to filter fields for a specific class.
list_departmentsList HR departments with exact full paths, hierarchy, managers, subscribers, team lead, direct Staff assignments, server-derived member count, and stable counters. Scope by exact parent path/ID; recursive=false returns direct children.
list_device_preferencesList readable virtual-office media device preferences.
list_direct_messagesList direct message conversations in Huly. Returns conversations sorted by date (newest first).
list_dm_messagesList messages in a direct-message conversation, newest first. The `dm` argument accepts either the DM `_id` or a participant display name (e.g. `Kerr,Shannon`); a name resolves only to a one-to-one DM with the authenticated account.
list_document_label_definitionsList label definitions available for ordinary Huly documents by optional title substring. Does not expose raw target-class or category mechanics.
list_document_labelsList labels attached to one ordinary Huly document. Resolves the teamspace by name or ID and the document by title or ID; no raw class, space, or collection values are needed.
list_document_snapshotsList 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.
list_documentsList documents in a Huly teamspace. Returns documents sorted by modification date (newest first). Each result includes a 'url' field pointing to the document in the Huly web app. Supports searching by title substring (titleSearch) and content (contentSearch).
list_drawingsList drawings attached to a raw Huly parent object.
list_drive_file_activityList activity messages for a Drive file resolved by filePath or fileId. Provide only one locator. Returns activity sorted by date, newest first.
list_drive_file_commentsList comments on a Drive file resolved by filePath or fileId. Provide only one locator. Returns comments sorted by creation date, oldest first.
list_drive_file_versionsList 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.
list_drive_itemsList 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.
list_drivesDescription is built at runtime.
list_employeesList employees (persons who are team members), sorted by modification date (newest first). Each summary exposes stable Contact Employee fields city, email, role, statuses count, personUuid, position, active, and modifiedOn. SDK avatarType/avatar/avatarProps are provider/blob metadata; attachment/comment/channel counters and social identity collections are derived; birthday/profile need separate contracts; createdOn/createdBy/modifiedBy and class/space refs are internal metadata and intentionally unsupported in this projection.
list_event_instancesList instances of a recurring event. Returns instances sorted by date. Supports filtering by date range. Use includeParticipants=true to fetch full participant info (extra lookups).
list_eventsList calendar events sorted by date, with meetingRoom identity when an Event has the native Meeting composition. Supports filtering by date range.
list_external_channel_messagesRead persisted Telegram contact-channel messages or assess why an external provider cannot be read safely. For provider=telegram, resolve channel by exact stored value or stable contact-channel ID and return newest contentMarkdown, direction, stored Huly sendOn timestamp, and attachment count; returns supported=false when the workspace model or channel is unavailable. Inbound attachment creation is asynchronous, so attachmentCount can temporarily lag the message; attachment bytes are not returned. This proves only Huly-stored records, not provider freshness, an active Telegram connection, or p…
list_external_tracker_targetsread-onlyList external issue-tracker targets mapped to a Huly project. Omit provider to list every provider supported by this server, or pass provider:'github' to list mapped GitHub repositories. Returns each target's provider, kind, stable Huly ID, exact name, enabled state, and an actionable unavailable reason when known. This discovers Huly configuration only; it does not call the external provider or prove that the synchronization worker is running.
list_filtered_viewsList saved filtered views from @hcengineering/view. Use attachedTo to scope by raw app/resource string such as board:app:Board; omit attachedTo to discover saved views across modules. Reports own/shared visibility from the current account's users membership.
list_funnelsList all Huly sales funnels (lead pipelines). Returns each funnel's stable ID and display name, sorted by name. Supports filtering by archived status.
list_hr_request_attachmentsList files directly attached to an exact HR request ID, with total and truncation metadata.
list_hr_request_commentsList comments directly attached to an exact HR request ID, with total and truncation metadata.
list_hr_request_typesDiscover installed HR request types by stable ID and Huly-translated human label. Set locale to a supported Huly locale such as fr; labels from any supported locale may be used by request tools, while ambiguous labels are rejected. Request-type mutation is intentionally unsupported because Huly installs these as model-space documents and exposes no stable runtime mutation contract.
list_hr_requestsList HR requests with exact optional employee, department, and request-type filters. Calendar dates are inclusive YYYY-MM-DD values stored with UTC offset 0. Every match is loaded from Huly before the intentional output page is applied; results include total, truncation, and nextOffset continuation metadata.
list_huly_attributesDiscover 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.
list_huly_classesDiscover Huly model class, interface, and mixin IDs visible in this workspace. Use this before raw-object, generic association, custom field, or model-backed work when you need exact class IDs instead of guessing.
list_huly_domain_index_configurationsList 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.
list_huly_enumsDiscover 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.
list_huly_plugin_configurationsList 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.
list_huly_sequencesList 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.
list_inactive_employeesList every inactive Employee before applying output pagination. Each result distinguishes the account link, workspace membership and role, Person identity, and Employee active state so an agent can choose reinvite, deactivate, or kick safely.
list_inline_commentsList inline comment threads from a Huly document. Extracts comments embedded in document content as ProseMirror marks. Each comment includes the highlighted text and thread ID. Set includeReplies=true to also fetch thread reply messages with sender names.
list_inventory_categoriesList inventory categories sorted by name. Omit parentCategory to search all categories, or pass a parent category ID/exact name/root to list direct children. query filters names case-insensitively.
list_inventory_product_activityList activity messages for an inventory product resolved by product ID or exact name. This is read-only audit/activity history, newest first.
list_inventory_product_attachmentsList files attached directly to an inventory product resolved by product ID or exact name. Pass category to disambiguate duplicate product names.
list_inventory_product_commentsList comments attached directly to an inventory product resolved by product ID or exact name. Returns comments oldest first.
list_inventory_product_photosList photos attached directly to an inventory product resolved by product ID or exact name. Pass category to disambiguate duplicate product names.
list_inventory_productsList inventory products sorted by name. Optionally scope to category by ID/exact name and filter product names with query.
list_inventory_variantsList inventory variants/SKUs sorted by name. Optionally scope to product by ID/exact name; category can disambiguate product names. query filters variant names and SKUs.
list_issue_relationsList 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).
list_issue_templatesList issue templates in a Huly project. Templates define reusable issue configurations. Returns templates sorted by modification date (newest first).
list_issuesDescription is built at runtime.
list_labelsList label/tag definitions in the workspace. Labels are global (not project-scoped). Returns labels for tracker issues sorted by modification date (newest first).
list_lead_attachmentsList native attachment references belonging to one exact lead.
list_lead_commentsList native comments on one lead resolved by exact funnel ID/name and LEAD-<number>. Returns Markdown with native Huly references preserved.
list_lead_label_definitionsList reusable native label definitions whose target class is Lead, without raw class IDs. Returns the full matching total and whether the limited page is truncated.
list_lead_labelsList native TagReference label relations attached to one exact lead.
list_leadsQuery Huly leads in a funnel with optional filters. Pass the funnel ID returned by list_funnels, or a funnel name for convenience lookup. Returns leads sorted by modification date (newest first). Supports filtering by status, assignee, and title search.
list_mail_threadsDiscover read-only Huly Mail thread metadata in one call: outer channel titles, human-resolved spaces, timestamps, and up to 10 newest child subject summaries per channel. This does not return message bodies or attachments and never sends, replies, mutates, or reports mailbox/delivery capability. A channelTitle may resemble a replication-recipient email but does not prove a correspondent or configured mailbox. Omit filters to list recent channels; filter by exact space name/ID or case-insensitive channel-title substring. Empty threads is a supported result.
list_master_tagsList master tags (card types) available in a Huly card space. Master tags define the type/schema of cards that can be created in a space.
list_meeting_minutesList meeting notes/transcript records (minutes) by optional attachment target and created-on range.
list_mentionsList @mentions of the current user in activity messages.
list_message_template_categoriesList global Huly message template categories. Categories group reusable message templates across the workspace. Returns category IDs, names, descriptions, archived/private flags, and timestamps.
list_message_template_fieldsList Huly message template fields/placeholders without executing provider resources or rendering templates. Optionally filter by field category ID or exact raw label string, and search raw field labels by substring. Returns field IDs, labels, category summaries, and provider resource IDs.
list_message_templatesList global Huly message templates. Optionally filter by category ID or exact category name, and search template titles by substring. Returns each template ID, title, category summary, timestamps, and placeholderFieldIds parsed from dollar-brace tokens. Match placeholderFieldIds to list_message_template_fields.id for labels and resource IDs.
list_milestonesList milestones in a Huly project. Returns milestones sorted by modification date (newest first).
list_notification_contextsList notification contexts. Returns contexts sorted by last update timestamp (newest first). Supports filtering by pinned status and can include hidden contexts.
list_notification_providersList model-declared notification providers such as inbox, push, and sound. Use returned provider IDs for setting updates. Older REST servers may return compatibility metadata with an explicit tool warning.
list_notification_settingsList notification provider settings. Returns current notification preferences.
list_notification_typesList model-declared notification types. Use returned type IDs for provider-specific setting updates. Older REST servers may return compatibility metadata with an explicit tool warning.
list_notificationsList inbox notifications. Returns notifications sorted by modification date (newest first). Supports filtering by read/archived status.
list_object_collaboratorsList 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.
list_office_defaultsList room-level language, default recording, and default transcription settings.
list_office_floorsList virtual office floors.
list_office_roomsList virtual office rooms, including access mode, type, floor, floor-plan position/size, language, and recording/transcription defaults.
list_officesList personal office rooms and their assigned people when readable.
list_organization_channelsList contact channels for an organization identified by ID or exact unique organization name. Returns channelId, provider label, value, and optional activity metadata.
list_organization_membersList all persons who are members of an organization. Returns each member's person ID, name, and primary email (if any). When using a name instead of an ID, that name must identify exactly one organization.
list_organizationsList all organizations in the Huly workspace. Returns organizations sorted by modification date (newest first).
list_person_attachmentsList attachments genuinely attached to one person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
list_person_channelsList contact channels for a person. Person accepts person ID, exact email address, or exact Huly display name; ambiguous names fail and should be retried with email or person ID.
list_person_commentsList notes/comments genuinely attached to one person, oldest first; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
list_person_organizationsList all organizations that a person is a member of. Provide personId or email. Returns each organization's ID and name.
list_personsList all persons in the Huly workspace. Returns persons sorted by modification date (newest first). Supports searching by name substring (nameSearch) and email substring (emailSearch).
list_pinned_chat_messagesList pinned top-level messages and pinned thread replies in exactly one Huly channel or direct-message conversation. Provide `channel` (name or ID) or `dm` (DM ID or one-to-one participant name), not both. Results are newest-first across both message kinds.
list_process_executionsList read-only Huly Process workflow executions. Supports filters by process ID/name, card/document ID/title, and status. Rows are enriched with process name, card title, and current state title when available.
list_processesList read-only Huly Process workflow definitions. Optionally filter by the master tag/card type that workflows attach to. Returns process IDs, names, attached card type, automation flags, and state/transition counts.
list_project_target_preferencesList 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.
list_project_typesList Huly tracker project types/workflow templates. Returns ID, display name, descriptor, task type count, status count, and whether the type appears to be the default Classic tracker type.
list_projectsList all Huly projects. Returns projects sorted by name. Supports filtering by archived status.
list_public_holidaysList public-holiday documents with exact optional department and inclusive date filters. includeInherited adds every ancestor department explicitly; it never adds descendants. Results are loaded completely from Huly before the intentional output page is applied, and include total, truncated, and nextOffset metadata.
list_reactionsList reactions on an activity message.
list_recruiting_activityList read-only activity messages for a Recruiting vacancy, candidate, applicant, or review target resolved by friendly Recruiting identifiers. Opinions are intentionally unsupported.
list_recruiting_applicant_matchesList read-only generated Recruiting applicant matches. ApplicantMatch fields are generated by Huly; this tool only reads them. Filter by candidate, complete state, vacancy/summary query, and limit.
list_recruiting_applicantsList Recruiting applicants. Optionally filter by vacancy, candidate, and status. vacancy accepts raw _id/VCN-number/number/name; candidate accepts person _id/email/exact name.
list_recruiting_attachmentsList files attached directly to a Recruiting vacancy, candidate, applicant, or opinion target. Review attachments are intentionally unsupported unless the model exposes that collection.
list_recruiting_candidate_custom_fieldsDescription is built at runtime.
list_recruiting_candidate_skillsList skill tag references attached to one Recruiting candidate by person _id, email, or exact name.
list_recruiting_candidatesList persons that already have the Recruiting Candidate mixin. Use set_recruiting_candidate_profile, add_recruiting_candidate_skill, or create_recruiting_applicant to recruit-enable an existing person.
list_recruiting_commentsList comments attached directly to a Recruiting vacancy, candidate, applicant, review, or opinion target. The target locator resolves friendly Recruiting identifiers and returns the resolved target ref.
list_recruiting_opinionsList Recruiting opinions for one review. review accepts raw _id, RVE-<number>, bare number, or exact title. Opinion refs include OPE-<number>, parent review ref, and opinion value.
list_recruiting_related_issuesList tracker issues whose Huly Related Issues entries (`Issue.relations`) point at a Recruiting vacancy, candidate, or applicant target.
list_recruiting_reviewsList Recruiting reviews/interviews as stable refs. Filter by candidate, application, date range, title/verdict/location query, and limit. Review locators use raw _id, RVE-<number>, number, or exact title.
list_recruiting_skillsList Recruiting skill tag definitions. Skills are Huly tags scoped to targetClass recruit:mixin:Candidate; use returned titles or IDs with candidate skill tools.
list_recruiting_vacanciesList Recruiting vacancies as stable refs. Supports includeArchived, name query, type ID/name, company organization ID/name, and limit. Vacancy refs include both raw id and derived VCN-<number> identifier.
list_recruiting_vacancy_statusesList applicant workflow statuses for one vacancy. vacancy accepts raw _id, VCN-<number>, bare number, or exact name. Statuses are read from the vacancy's ProjectType; they are workspace data, not hardcoded names.
list_recruiting_vacancy_typesList Huly Recruiting vacancy workflow types. Use the returned type ID or exact type name in create_recruiting_vacancy. Defaults vacancy creation to Huly's Default vacancy type when omitted.
list_recurring_eventsList recurring event definitions. Returns recurring events sorted by modification date (newest first).
list_related_issue_targetsList 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.
list_relationsList concrete Huly relation instances under an association, optionally filtered by source and target documents. Endpoint locators support raw, issue, document, card, and exact funnel-scoped lead targets. Requires at least one filter to avoid broad workspace scans.
list_saved_attachmentsList saved/bookmarked attachments for the current user.
list_saved_messagesList saved/bookmarked activity messages.
list_schedulesList calendar scheduling links/availability schedules. Optional owner accepts an employee/person ID, exact name, or email.
list_social_identity_providersList SocialIdentity providers installed in this Huly workspace, returning native provider IDs and types.
list_space_permissionsList core Huly Permission records for space/workspace access control discovery. Filter by scope, objectClass, or search text. This is read-only and does not assign permissions.
list_space_preferencesList low-level Huly SpacePreference records. These generic preference rows are attached to spaces and the published SDK exposes only the attached space link, so this tool is read-only discovery. Omit space to list recent rows across spaces, or pass a space _id/exact name with optional class/type narrowing to inspect one space.
list_space_typesList configured Huly SpaceType records. Returns descriptor id, base class, target class, default members, autoJoin, and role count for discovering typed-space configuration.
list_spacesDescription is built at runtime.
list_staffList HR Staff and authoritative department assignments. Optionally scope by exact department path/ID, include descendants, and filter Employee active state.
list_status_categoriesList generic Huly StatusCategory records, optionally filtered by status attribute ID or exact name. Returns each category's resolved attribute, default status, and number of statuses that reference it.
list_statusesList 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.
list_tag_categoriesList tag/label categories in the workspace. Categories group labels (e.g., 'Priority Labels', 'Type Labels'). Omit targetClass to include all classes.
list_tagsList generic Huly tag definitions for one SDK target class. Prefer module tools for issue labels, document labels, Planner ToDo labels, board labels, and recruiting skills; use this as the raw SDK fallback for other tag-backed domains or category administration.
list_task_typesList Huly issue/task types. Optionally filter by projectType ID or display name. Returns task type identity, parent project type, kind, issue class, and available status count.
list_teamspacesList all Huly document teamspaces. Returns teamspaces sorted by name. Supports filtering by archived status.
list_test_casesList test cases in a test project. Optional filters: suite (ID or name), assignee (name or email).
list_test_plansList test plans in a test management project. Returns plan names and IDs. Requires project ID or name.
list_test_projectsList test management projects. Returns test projects sorted by name. These are separate from tracker projects.
list_test_resultsList test results in a test run. Returns result names, statuses, and assignees.
list_test_runsList test runs in a test management project. Returns run names, IDs, and due dates.
list_test_suitesList test suites in a test project. Accepts project ID or name. Optional parent filter for nested suites.
list_thread_repliesList replies in a message thread. Returns replies sorted by date (oldest first).
list_time_spend_reportsDescription is built at runtime.
list_todo_label_definitionsList label definitions available for Huly Planner ToDos by optional title substring. Does not expose raw target-class or category mechanics.
list_todo_labelsList labels attached to one Planner ToDo. Resolves the ToDo by raw ID or the same human-oriented issue, title, owner, and completion locators used by get_todo.
list_todosDescription is built at runtime.
list_user_statusesList Huly user presence records. Returns account UUIDs, online status, and last modified timestamp. Use this to check who is currently connected; presence is maintained by Huly server sessions. Filter by online or account UUID.
list_viewletsList viewlets from @hcengineering/view model metadata. Use attachTo with a Huly class id such as board:class:Card to scope by rendered document class; use list_huly_classes when you need class ids. The optional viewlet locator accepts a Viewlet _id, exact title, exact variant, or descriptor _id; descriptor ids may return multiple viewlets. Includes descriptor metadata and matching ViewletPreference configs.
list_work_slotsList scheduled work slots created by schedule_todo, Huly UI, or other clients. Shows planned time blocks attached to ToDos. Supports filtering by employee and date range.
list_workbench_applicationsList read-only Huly Workbench application model declarations by exact URL alias or case-insensitive alias substring. Returns untranslated labelId values, static model flags, the authenticated account's caller-scoped hiddenByPreference state, and summarized declarative space/special/group navigation without executing components, resource callbacks, or query builders. Legacy space-navigation entries without a stable id are omitted with an agent-visible warning. Application presence is not proof that a plugin, integration provider, worker, API, role, permission, or effective browser visibility is…
list_workflow_statusesList generic Huly workflow Status records across the workspace model. Filter by status attribute ID/exact name and category ID/exact label. Returns resolved attribute and category relationships. For one tracker project's issue statuses, use list_statuses instead.
list_workspace_membersList members in the current Huly workspace with their roles. Returns members with account IDs and roles.
list_workspacesList all workspaces accessible to the current user. Returns workspace summaries sorted by last visit.
log_timeDescription is built at runtime.
make_organization_customerApply the Customer mixin to an organization so it appears in the Huly Leads > Customers view. Idempotent - safe to call on organizations that are already customers. Takes the organization ID or exact name when that name is unique.
make_person_customerApply the native Customer mixin to one existing person so it appears in Huly Leads > Customers. Resolve by person ID, exact email address, or exact display name; ambiguous identifiers fail, no person is created, and repeated calls are idempotent.
mark_all_notifications_readMark all unread notifications as read. Returns the count of notifications marked.
mark_notification_readMark a notification as read. Idempotent: returns success when the notification is already read.
mark_notification_unreadMark a notification as unread. Idempotent: returns success when the notification is already unread.
merge_peoplecan change or delete dataPreview or execute a native-reference-preserving person merge with an explicitly selected source and survivor; source and survivor must each contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous. Preview is the default and reports identities, channels, memberships, comments, attachments, every other model-declared Person/Contact/Employee reference, account eligibility, retained scalar fields, and an exact preflight token bound to canonical affected document IDs, write-routing fields, and scalar/array values. Execution requires execute=true …
move_drive_itemMove 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.
move_issueMove an issue tree within its project, preserving IDs, identifiers and attributes. issue/parent accept full identifiers or stable IDs; project accepts identifier or stable ID. destination forms: {project: 'HULY'} for project top level, {parent: 'HULY-42'} to infer the parent project, {project: 'HULY', parent: 'HULY-42'} requiring agreement, or {parent: null} for current project top level. Cross-project movement supports complete compatible trees with equal project types and actual supported kind/status, component/milestone references preserved when valid or matched by literal unique name; othe…
move_leadMove a native Huly lead to another active funnel after validating both native Funnel project types and Lead workflows. Pass a destination status matched exactly after normalization (trimmed, case-insensitive, and ignoring spaces, hyphens, and underscores), or omit status to map the current status name; incompatible or ambiguous mappings fail without writing.
pin_activity_messagePin or unpin an activity message. Idempotent when the pin state already matches.
pin_attachmentPin or unpin an attachment.
pin_notification_contextPin or unpin a notification context. Pinned contexts are highlighted in the inbox. Idempotent when the pin state already matches.
preview_deletionPreview the impact of deleting a Huly entity before actually deleting it. Shows affected sub-entities, relations, and warnings. Supports issues, projects, components, and milestones. Use this to understand cascade effects before calling a delete operation.
publish_issue_to_external_trackerRequest publication of an existing Huly issue as a new issue in Huly's configured external tracker. Identify the issue with project and its human identifier (for example, HULY-123); provider currently accepts only 'github'. Select target by stable Huly target ID or exact name, or omit target only when exactly one enabled target is mapped to the project. Publication is asynchronous: pending means Huly accepted the request, not that an external issue exists. Repeating the same target is safe while pending or published; a failed same-target request retries, while a different target is rejected. U…
read_attachment_contentDescription is built at runtime.
reject_approval_requestReject an active approval Request as the current Huly user and attach the required markdown rejection decision comment. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Huly applies rejectedTx when present.
remove_board_card_labelDetach a board label from one board card. Returns detached=false when the label exists but is not attached to that card.
remove_channel_membersIdempotently remove members from a non-archived Huly channel. Members accept account UUID, exact email, or exact person display name. Refuses removals that would leave the channel with zero members or, when owners exist, no owner among remaining members.
remove_document_labelDetach a label from one ordinary Huly document without deleting the reusable label definition. Returns detached=false when the label exists but is not attached; duplicate exact titles return candidate IDs.
remove_drive_membersIdempotently 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.
remove_issue_labelRemove a tag/label from a Huly issue. Detaches the label reference; does not delete the label definition.
remove_issue_relationRemove a relation between two issues. Mirrors add_issue_relation: 'blocks' pulls from target's blockedBy, 'is-blocked-by' pulls from source's blockedBy, 'relates-to' pulls from both sides. No-op if the relation doesn't exist.
remove_lead_labelIdempotently remove all matching TagReference relations from one exact lead without deleting the reusable label definition.
remove_object_collaboratorUnsubscribe 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.
remove_organization_channelRemove one contact channel from an organization identified by ID or exact unique name. Identify the channel with exactly one locator: channelId, or provider plus value. Returns removed=false when the locator is absent for that organization.
remove_organization_memberUnlink a person from an organization's members. Reverses add_organization_member. Returns removed: false if the person was not a member. When using an organization name instead of an ID, that name must identify exactly one organization.
remove_person_channelRemove one contact channel from a person. Person accepts person ID, exact email, or exact display name. Identify the channel with exactly one locator: channelId, or provider plus value. Returns removed=false when the locator is absent for that person.
remove_reactionRemove an emoji reaction from an activity message.
remove_recruiting_candidate_skillDetach a Recruiting skill from a candidate by skill title or tag ID. Idempotent when the skill is absent.
remove_recruiting_related_issueIdempotently remove a Huly Related Issues entry (`Issue.relations`) from a tracker issue to a Recruiting vacancy, candidate, or applicant target.
remove_space_membersIdempotently remove members from an existing Huly space. Members accept account UUID, exact email, or exact person display name and resolve to Huly account UUIDs before replacing the full members array.
remove_space_role_membersIdempotently remove members from one role on a typed Huly space while preserving all other role assignments. Role accepts a raw role _id or exact role name from the space's SpaceType. Members accept account UUID, exact email, or exact person display name.
remove_template_childRemove a child (sub-task) template from an issue template by its child ID. Get child IDs from get_issue_template response.
remove_test_plan_itemRemove a test case from a test plan by item ID. Get item IDs from get_test_plan.
remove_todo_labelDetach a label from one Planner ToDo without deleting the reusable label definition. Returns detached=false when the label exists but is not attached; duplicate exact titles return candidate IDs.
rename_drive_itemRename 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.
render_message_templateread-onlyRender one global Huly message template by template ID or exact title. Substitutes only caller-provided values for matching dollar-brace placeholder field IDs from placeholderFieldIds; does not execute Huly TemplateField provider resources. Unresolved placeholders remain in renderedMessage and are reported in unresolvedFieldIds.
reopen_todoReopen a completed Planner ToDo by raw todoId or human locator, including a document attachment locator, by clearing doneOn. Human locators search completed ToDos by default; raw todoId locators target that exact ToDo.
repair_person_social_identitiesApply only Huly's native safe, idempotent SocialIdentity repairs from the authenticated person's authoritative account record: recreate missing active projections, promote verification, reassign an unverified identity after an account merge, and propagate authoritative deletion; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous. Another account-linked person, verified cross-person reassignment, arbitrary active type/value/key changes, removal of workspace-only identities, and key collisions return a Huly-specific unsupported…
request_channel_accessAttempt the Huly private-channel request-access workflow by channel name or ID. The current Chunter SDK/model has no stable request-access record or server action, so this build returns supported=false with a stable reasonCode and performs no mutation.
restore_drive_file_versionRestore 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.
run_test_planRun Test PlanExecute a test plan: creates a test run and one test result per plan item. Returns the run ID and count of results created. Optionally name the run and set a due date.
save_attachmentSave/bookmark an attachment for later reference. Idempotent when already saved.
save_messageSave/bookmark an activity message for later reference.
schedule_todoSchedule a Planner ToDo by raw todoId or human locator, including a document attachment locator. Creates a Planner-visible blocking work slot on the authenticated user's personal calendar, owned by their primary social identity and including them as a participant. Fails actionably when the identity, employee, or writable calendar prerequisite is unavailable.
send_channel_messageSend a message to a Huly channel. Message body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
send_dm_messageSend a message to a direct-message conversation. The `dm` argument accepts either the DM `_id` or a participant display name; a name resolves only to a one-to-one DM with the authenticated account. Message body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
set_chat_message_pinnedIdempotently pin or unpin a top-level message or thread reply located inside exactly one Huly channel or direct-message conversation. Provide `channel` or `dm`, plus the messageId; the message must belong to the resolved conversation.
set_class_collaborator_metadataCreate or replace direct core ClassCollaborators metadata for a class resolved by class ID, tail name, or label. fieldSelection supports all person-like fields, no fields, or exact property names validated against the class and its ancestors. Security propagation flags are normalized explicitly. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
set_conversation_closedSet the authenticated user's closed/visible state for exactly one conversation. Provide either `channel` or `dm`, plus `closed`. Closing only hides the current user's notification context; it does not leave channels or remove members.
set_conversation_starredSet the authenticated user's starred state for exactly one conversation. Provide either `channel` (channel name or ID) or `dm` (DM ID, or one-to-one participant display name), plus `starred`. Creates the missing notification context when needed.
set_custom_fieldSet a custom field value on a document. Requires the document ID, class, field ID (from list_custom_fields), and value. Values are parsed before Huly writes: numbers from numeric strings, booleans from 'true'/'false', and strings as-is. Date fields accept only a real YYYY-MM-DD calendar date (UTC midnight) or a canonical non-negative epoch-millisecond string from 0 through 8640000000000000. If a date is rejected, remove any time, time-zone suffix, sign, whitespace, decimal, or exponent and retry with one of those exact forms.
set_drive_ownersReplace 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.
set_employee_positionIdempotently set an employee's official position on contact.mixin.Employee. employee must be an object with exactly one locator field: {id}, {email}, or {name}; combined locator modalities are rejected. The selected ID, email, or display name is exact, and duplicate email/name matches are rejected. The position field is required: pass a string to set it, or null/an empty string to clear it. Omitting position fails schema parsing and performs no mutation. This updates the Contact Employee mixin, not an HR Staff record.
set_global_space_adminscan change or delete dataReplace the workspace-wide Huly space-admin list. Admins accept account UUIDs, exact emails, or exact person display names; pass admins=[] to clear the role. The tool resolves the stable core all-spaces space and Admin role internally.
set_issue_componentSet or clear the component on a Huly issue. Pass null for component to clear it.
set_issue_milestoneSet or clear the milestone on a Huly issue. Pass null for milestone to clear it.
set_primary_calendarSet the authenticated caller's primary personal calendar by calendarId or an unambiguous exact calendarName. The target must be caller-owned, visible, and Writer or Owner. Creates or updates the single PrimaryCalendar preference and never changes provider defaults.
set_recruiting_candidate_custom_fieldDescription is built at runtime.
set_recruiting_candidate_profileCreate or update the Recruiting Candidate profile mixin on an existing person. For a new candidate, call create_person first, then call this tool with the returned Person ID (or exact email/name). candidate accepts person _id, email, or exact display name. Provide at least one of title, source, onsite, remote.
set_related_issue_targetSet 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.
set_space_ownersReplace owners on an existing Huly space. Owners accept account UUID, exact email, or exact person display name. By default, owners are also ensured in members.
set_space_role_membersReplace members assigned to one role on a typed Huly space while preserving all other role assignments. Role accepts a raw role _id or exact role name from the space's SpaceType. Members accept account UUID, exact email, or exact person display name; pass members=[] to clear this role.
set_space_role_permissionsReplace one existing role definition's permission set. SpaceType accepts an ID or exact name, role accepts an ID or exact name scoped to that SpaceType, and each permission accepts an ID or exact label. Pass permissions=[] to clear the role. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
start_processStart a new active Huly Process workflow execution on a card/document. Accepts process ID or exact process name, and card/document ID or exact title; ambiguous names or titles fail with candidate IDs. This is not idempotent: each successful call creates a new execution unless the process forbids parallel active executions for the same card, in which case the existing active execution ID is returned in a typed error.
start_timerStart a client-side timer on a Huly issue. Validates the issue exists and returns a start timestamp. Use log_time to record the elapsed time when done.
stop_timerStop a client-side timer on a Huly issue. Returns the stop timestamp. Calculate elapsed time from start/stop timestamps and use log_time to record it.
subscribe_to_object_notificationsSubscribe the authenticated account to notifications for a raw Huly object by adding a core collaborator row. Idempotent when already subscribed.
translate_chat_messageAttempt to translate a located Huly channel/DM message to targetLanguage. Current Huly translation is browser-only, uses an optional AI endpoint, and stores results only in UI state; this build returns supported=false with a stable reasonCode and does not fabricate translated text.
unarchive_boardUnarchive a Huly board by board _id or exact board name.
unarchive_board_cardUnarchive a board card. card accepts _id, CARD-123, bare number, or exact title scoped to the board.
unarchive_channelUnarchive a Huly channel by channel name or ID. Idempotent when the channel is already active.
unarchive_notificationUnarchive a notification so it can appear in active notification lists again. Idempotent when already active.
unarchive_notification_contextUnarchive all archived inbox notifications in a notification context. Idempotent: returns count 0 when no archived notifications remain.
unarchive_recruiting_vacancyUnarchive a Recruiting vacancy by raw _id, VCN-<number>, bare number, or exact name.
unlink_document_from_issueRemove a document link from an issue. Idempotent: no-op if the document is not linked.
unsave_attachmentRemove an attachment from saved/bookmarks.
unsave_messageRemove an activity message from saved/bookmarks.
unschedule_todocan change or delete dataRemove ToDo work slots. Pass either workSlotId to remove one slot, or a raw ToDo ID/human locator (including a document attachment locator) with scope=all or scope=future and optional from.
unsubscribe_from_object_notificationsUnsubscribe the authenticated account from notifications for a raw Huly object by removing its collaborator row. Idempotent when already absent.
update_activity_replyUpdate a generic activity reply body. Body supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_attachmentUpdate attachment metadata (description, pinned status).
update_boardUpdate a Huly board's name, description, or privacy. board accepts board _id or exact board name.
update_board_cardUpdate board card fields: title, markdown description, status, assignee, members, location, cover, startDate, and dueDate. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Use null to clear clearable fields.
update_board_labelUpdate a board label definition by TagElement _id or exact title. At least one of title, color, description, or category is required.
update_calendar_settingsUpdate local visibility and/or hidden settings on one authenticated caller-owned calendar. Visibility accepts public, freeBusy, or private. Hidden changes are allowed only for ExternalCalendar rows and require Writer or Owner access; internal-calendar hiding and provider-owned fields are rejected.
update_cardUpdate fields on an existing Huly card. Only provided fields are modified. Content updates support markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_card_commentUpdate one comment that belongs to the resolved Huly card. Resolves the card space by exact name or ID and the card by exact title or ID. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_channelUpdate fields on an existing Huly channel. Only provided fields are modified.
update_channel_messageUpdate a channel message. Only the body can be modified; body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_chat_message_attachmentUpdate description and/or pinned state for a file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target.
update_commentUpdate an existing comment on a Huly issue. Comment body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_componentUpdate fields on an existing Huly component. Only provided fields are modified. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_departmentRename, move, or replace department metadata and people. Rejects duplicate sibling names, parent cycles, and moves of subtrees with server-derived members; clear Staff.department assignments before moving a populated subtree. newParent=null moves top-level; teamLead=null clears. Never writes Department.members.
update_dm_messageUpdate a direct-message message. The `dm` argument accepts either the DM `_id` or a participant display name; a name resolves only to a one-to-one DM with the authenticated account. Only the body can be modified; body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_drawingUpdate drawing content. Pass null content to clear it.
update_driveUpdate 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.
update_drive_file_commentUpdate a comment on a Drive file resolved by filePath or fileId. Provide only one locator. Idempotent when the comment body is unchanged. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_eventUpdate fields on an existing calendar event. Only provided fields are modified. Description updates support markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. meetingRoom changes an existing native Meeting only (ordinary Events are rejected), resolves room ID first then exact name with optional floor disambiguation, and updates every eventId sibling without replacing location. Room removal is not supported.
update_funnelUpdate a funnel resolved by stable _id or exact unambiguous name. Validates the existing Funnel project type/workflow and membership before mutation. Null clears description or fullDescription; Markdown native references are preserved.
update_hr_requestUpdate selected HR request fields by exact request ID. Department and type locators resolve exactly; omitted fields are preserved. Dates remain inclusive YYYY-MM-DD calendar dates.
update_hr_request_attachmentUpdate description and/or pinned state for a file belonging directly to an exact HR request.
update_hr_request_commentUpdate a comment that belongs directly to an exact HR request.
update_huly_attributeUpdate label, index, automation-only, or hidden state for a Huly Attribute resolved by ID or exact name. Pass class by ID/name to disambiguate. Built-in attributes permit hidden-only updates; all other built-in mutations are protected, and property keys/types cannot be changed here. Hide/unhide uses the SDK behavior exercised by Huly settings. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
update_huly_custom_sequenceSet only the prefix of a CustomSequence resolved by exact sequence ID or attached class ID/name. The compare-and-set guard does not change the counter and refuses a concurrent change; standard Sequence records are protected. This changes a workspace sequence definition. confirm=true is required so an agent cannot mutate sequence metadata accidentally.
update_huly_enumUpdate a Huly model enum resolved by exact ID or name. Renaming and adding options are safe; removing an option is refused while any attribute references the enum. This changes workspace model metadata. confirm=true is required so an agent cannot mutate the model accidentally.
update_huly_permissionUpdate a custom Huly Permission resolved by exact ID or exact label. Namespaced built-in permissions are protected. Label/description changes are allowed on unreferenced custom permissions; semantic changes are refused while referenced by a role or SpaceType descriptor. Null clears optional constraints. This changes workspace access-control metadata. confirm=true is required so an agent cannot mutate security configuration accidentally.
update_inventory_categoryRename and/or move an inventory category. category accepts ID or exact name; pass parentCategory when a name may be duplicated. Rejects duplicate names in the destination parent and self/descendant moves.
update_inventory_productRename and/or move an inventory product. product accepts ID or exact name; pass category when a name may be duplicated. Rejects duplicate names in the destination category.
update_inventory_product_attachmentUpdate description and/or pinned state for a file attached directly to an inventory product. The attachmentId must belong to the resolved product.
update_inventory_product_commentUpdate a comment attached directly to an inventory product. The commentId must belong to the resolved product. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_inventory_product_photoUpdate description and/or pinned state for a photo attached directly to an inventory product. The photoId must belong to the resolved product.
update_inventory_variantRename and/or change the SKU of an inventory variant. variant accepts ID, exact name, or exact SKU; pass product when needed. Rejects duplicate names or SKUs in the same product.
update_issueUpdate fields on an existing Huly issue. Assignee accepts an email, Person display name, or exact agent UserProfile title and always stores the linked Person; use null to unassign. Optionally set taskType by ID or display name; it is resolved within the target project's project type, and the status is preserved only when valid for the new task type. Use list_task_types or get_project_type to discover valid task types and statuses. Only provided fields are modified. Description updates support markdown; markdown links to current-workspace Huly browse URLs with _class, _id, and label become nati…
update_issue_templateUpdate fields on an existing Huly issue template. Only provided fields are modified. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_labelUpdate a label/tag definition. Accepts label ID or title. Only provided fields are modified.
update_leadUpdate a native Huly lead by funnel ID or exact name and LEAD-<number> identifier. Supported fields are title, Markdown description, a workflow status matched exactly after normalization (trimmed, case-insensitive, and ignoring spaces, hyphens, and underscores), employee assignee, start date, due date, and Customer mixin description. Omitted fields are unchanged; pass null explicitly to clear description, assignee, dates, or customer description. Existing people are resolved exactly and ambiguous identifiers fail.
update_lead_attachmentUpdate description or pinned state for an attachment only when it belongs to one exact lead.
update_lead_commentUpdate one comment belonging to an exact lead; comments attached elsewhere are rejected. Markdown native references are preserved.
update_lead_labelUpdate the published optional weight on every matching TagReference relation for one exact lead and label.
update_member_roleUpdate a workspace member's role. Requires appropriate permissions. Valid roles: READONLYGUEST, DocGuest, GUEST, USER, MAINTAINER, OWNER, ADMIN.
update_milestoneUpdate fields on an existing Huly milestone. Only provided fields are modified. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_notification_provider_settingEnable or disable a notification provider setting. Validates providerId against authoritative model definitions when available; compatible REST fallback is preserved and explicitly warned.
update_notification_type_settingEnable or disable one notification type for one provider. Validates both IDs against authoritative model definitions when available, and creates a type setting only when the provider is configurable. Compatible REST fallback is preserved and explicitly warned.
update_office_roomUpdate one durable Room or Office by roomId. Accepts only name, Markdown description, access, startWithTranscription, and startWithRecording. Personal offices reject open access; Huly's protected Reception cannot be renamed. Floor, geometry, person assignment, language, ACLs, occupancy, and active provider state are preserved. Default flags affect future sessions and do not start or stop recording/transcription.
update_organizationUpdate fields on an existing organization identified by ID or exact name when that name is unique. Only provided fields are modified. Description supports markdown for CRM notes / revenue summaries / context. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Pass null to clear city or description. If multiple organizations share the same name, use the organization ID.
update_organization_channelUpdate one contact channel on an organization identified by ID or exact unique name. Identify the channel with exactly one locator: channelId, or provider plus value. Provide newProvider, newValue, or both. Updating to an existing provider+value on the same organization fails with a conflict.
update_personUpdate fields on an existing person. Only provided fields are modified.
update_person_attachmentUpdate description or pinned state only when the attachment belongs to one resolved person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous.
update_person_channelUpdate one contact channel on a person. Person accepts person ID, exact email, or exact display name. Identify the channel with exactly one locator: channelId, or provider plus value. Provide newProvider, newValue, or both. Updating to an existing provider+value on the same person fails with a conflict.
update_person_commentIdempotently update a note/comment belonging to one resolved person; person must contain exactly one exact locator: {id}, {email}, or {name}; duplicate email/name matches fail as ambiguous. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_projectUpdate a Huly project. Only provided fields are modified. Set description to null to clear it.
update_public_holidayUpdate selected fields of one exact public-holiday ID. Department paths resolve exactly and duplicate department/date pairs are rejected. Omitted fields are preserved without a read-after-write query.
update_recruiting_applicantUpdate applicant status, assignee, startDate, and/or dueDate. applicant accepts raw _id, APP-<number>, or number; vacancy/candidate only disambiguate. Pass null to clear assignee, startDate, or dueDate.
update_recruiting_attachmentUpdate description and/or pinned state for a file attached directly to a Recruiting vacancy, candidate, applicant, or opinion. The attachmentId must belong to the resolved target.
update_recruiting_commentUpdate one comment attached directly to a Recruiting vacancy, candidate, applicant, review, or opinion. The commentId must belong to the resolved target. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_recruiting_opinionUpdate a Recruiting opinion value and/or markdown description. opinion accepts raw _id, OPE-<number>, or number; review can disambiguate. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Pass null for description to clear it.
update_recruiting_reviewUpdate a Recruiting review. review accepts raw _id, RVE-<number>, number, or exact title; candidate/applicationContext only disambiguate. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Pass null for description, verdict, application, company, or location to clear.
update_recruiting_vacancyUpdate mutable Recruiting vacancy fields. vacancy accepts raw _id, VCN-<number>, bare number, or exact name. Provide at least one field. fullDescription supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Pass null for fullDescription, company, location, or dueTo to clear.
update_scheduleUpdate a calendar schedule. Supports owner, title, description, duration, interval, availability, timeZone, and calendar move by calendarId or calendarName. meetingRoom changes an existing caller-owned native MeetingSchedule only, using ID-first then exact-name resolution with optional floor disambiguation; room removal is not supported.
update_spaceUpdate safe common metadata on an existing Huly space: name, description, private, archived, and autoJoin. Does not create/delete spaces or mutate module-specific required fields.
update_status_categoryUpdate a generic StatusCategory by ID or exact label. The resulting default status must belong to the resulting attribute. Statuses from other attributes may continue to reference the category because Huly categories can be shared.
update_tagUpdate a generic Huly tag definition. The tag argument accepts a tag ID or exact title, resolved within targetClass.
update_tag_categoryUpdate a tag/label category. Accepts category ID or label name. Only provided fields are modified.
update_teamspaceUpdate fields on an existing Huly document teamspace. Only provided fields are modified. Set description to null to clear it.
update_test_caseUpdate a test case. Accepts test case ID or name. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Only provided fields are modified. Set assignee to null to unassign.
update_test_planUpdate a test plan's name or description. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Only provided fields are modified. Pass description=null to clear.
update_test_resultUpdate a test result's status, assignee, or description. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Status values: untested, blocked, passed, failed.
update_test_runUpdate a test run's name, description, or due date. Description supports markdown. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links. Only provided fields are modified. Pass null to clear optional fields.
update_test_suiteUpdate a test suite. Accepts suite ID or name. Only provided fields are modified.
update_thread_replyUpdate a thread reply. Only the body can be modified; body supports markdown formatting. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_todoUpdate a Planner ToDo by human locator or raw todoId. Human locators can target an issue or document attachment. Supports title, markdown description, owner, dueDate including null to clear, priority, and visibility. Markdown links to current-workspace Huly browse URLs with _class, _id, and label become native Huly references; external URLs and other-workspace browse URLs stay normal links.
update_workflow_statusUpdate a generic workflow Status by ID or exact name. Use currentOfAttribute to disambiguate the target. category, color, and description accept null to clear. Renaming is refused while a StatusCategory uses the status as its default; update that default first. Moving attributes is allowed only when the status is unreferenced and both attributes use the same concrete Status class. Categories may be shared across attributes.
upload_drive_fileUpload a file into Drive at a full path including filename. Provide exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server. By default createParents=true creates missing parent folders and reports them.
upload_drive_file_versionUpload a new version for an existing Drive file resolved by file id or file path. Provide exactly one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server. This increments the file version counter and makes the uploaded version current.
upload_fileUpload a file to Huly storage. Provide one source: filePath is resolved on the MCP server host, data is client-local base64 content, and fileUrl is fetched by the MCP server. Returns the blob ID and URL.
upsert_project_target_preferenceCreate 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.
Signals
- Stars
- 59
- Forks
- 25
- Open issues
- 27
- Weekly downloads
- 646
- Last commit
- Oct 23, 2026 (2 days ago)
- Last release
- Oct 23, 2026 (3 days ago)
- Last package publish
- Oct 23, 2026 (3 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.dearlordylord/huly-mcp- Version
- 0.52.5
- Auth
- API key
- Packages
- npm @firfi/huly-mcp
- License
- MIT
- Repository
- github.com/dearlordylord/huly-mcp
- Website
- huly-mcp.dearlordylord.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from dearlordylord
Cite this page
Huly MCP. Agent Mart. https://agentmart.dev/connectors/dearlordylord-huly-mcp (last updated 2026-10-25)