@firfi/huly-mcp 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +20 -2
  2. package/dist/index.cjs +2220 -1156
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -449,13 +449,21 @@ SDK upgrade revisit:
449
449
  | `update_person` | Update fields on an existing person. Only provided fields are modified. |
450
450
  | `delete_person` | Permanently delete a person from Huly. This action cannot be undone. |
451
451
  | `list_employees` | List employees (persons who are team members). Returns employees sorted by modification date (newest first). |
452
+ | `list_contact_channel_providers` | List supported contact channel provider labels for person and organization channel tools. |
453
+ | `list_person_channels` | List 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. |
454
+ | `add_person_channel` | Idempotently 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. |
455
+ | `update_person_channel` | Update 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. |
456
+ | `remove_person_channel` | Remove 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. |
452
457
  | `list_organizations` | List all organizations in the Huly workspace. Returns organizations sorted by modification date (newest first). |
453
458
  | `create_organization` | Create 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. |
454
459
  | `get_organization` | Retrieve 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. |
455
460
  | `update_organization` | Update fields on an existing organization identified by ID or exact name when that name is unique. Only provided fields are modified. Description supports multi-line plain text and is the right place to store CRM notes / revenue summaries / context. Pass null to clear city or description. If multiple organizations share the same name, use the organization ID. |
456
461
  | `delete_organization` | Permanently 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. |
457
462
  | `make_organization_customer` | Apply 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. |
458
- | `add_organization_channel` | Add a contact channel (phone, email, website/homepage, LinkedIn, Twitter, GitHub, Facebook, Telegram) to an organization identified by ID or exact unique name. Provider names: email, phone, linkedin, twitter, github, facebook, telegram, homepage. |
463
+ | `add_organization_channel` | Idempotently 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. |
464
+ | `list_organization_channels` | List contact channels for an organization identified by ID or exact unique organization name. Returns channelId, provider label, value, and optional activity metadata. |
465
+ | `update_organization_channel` | Update 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. |
466
+ | `remove_organization_channel` | Remove 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. |
459
467
  | `add_organization_member` | Link 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. |
460
468
  | `list_organization_members` | List 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. |
461
469
  | `list_person_organizations` | List all organizations that a person is a member of. Provide personId or email. Returns each organization's ID and name. |
@@ -465,11 +473,21 @@ SDK upgrade revisit:
465
473
 
466
474
  | Tool | Description |
467
475
  |------|-------------|
476
+ | `list_channel_members` | List members of a Huly channel by channel name or ID. Returns each member account UUID and the workspace display name when available. |
477
+ | `add_channel_members` | Idempotently 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. |
478
+ | `remove_channel_members` | Idempotently 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. |
479
+ | `join_channel` | Join a non-archived Huly channel as the authenticated account. Idempotent when the account is already a member. |
480
+ | `leave_channel` | Leave 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. |
481
+ | `archive_channel` | Archive a Huly channel by channel name or ID. This is reversible with unarchive_channel and is idempotent when the channel is already archived. |
482
+ | `unarchive_channel` | Unarchive a Huly channel by channel name or ID. Idempotent when the channel is already active. |
483
+ | `create_group_direct_message` | Open 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. |
484
+ | `set_conversation_starred` | Set 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. |
485
+ | `set_conversation_closed` | Set 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. |
468
486
  | `list_channels` | List all Huly channels. Returns channels sorted by name. Supports filtering by archived status. Supports searching by name substring (nameSearch) and topic substring (topicSearch). |
469
487
  | `get_channel` | Retrieve full details for a Huly channel including topic and member list. |
470
488
  | `create_channel` | Create a new channel in Huly. Returns the created channel ID and name. |
471
489
  | `update_channel` | Update fields on an existing Huly channel. Only provided fields are modified. |
472
- | `delete_channel` | Permanently delete a Huly channel. This action cannot be undone. |
490
+ | `delete_channel` | Permanently delete a Huly channel. This action cannot be undone. For reversible channel lifecycle changes, use archive_channel and unarchive_channel instead. |
473
491
  | `list_channel_messages` | List messages in a Huly channel. Returns messages sorted by date (newest first). |
474
492
  | `send_channel_message` | Send a message to a Huly channel. Message body supports markdown formatting. |
475
493
  | `update_channel_message` | Update a channel message. Only the body can be modified. |