@firfi/huly-mcp 0.45.0 → 0.46.1

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 +7 -12
  2. package/dist/index.cjs +126051 -144788
  3. package/package.json +28 -26
package/README.md CHANGED
@@ -173,7 +173,7 @@ The `@latest` tag asks the package runner for the newest version. Some MCP clien
173
173
 
174
174
  ## HTTP Transport
175
175
 
176
- By default, the server uses stdio transport. For HTTP transport (Streamable HTTP):
176
+ By default, the server uses stdio transport. For HTTP transport:
177
177
 
178
178
  ```bash
179
179
  HULY_URL=https://your-huly-instance.example.com \
@@ -194,12 +194,7 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
194
194
 
195
195
  ### HTTP MCP Protocol Support
196
196
 
197
- The HTTP server supports both the existing SDK initialize-compatible Streamable HTTP flow and the 2026 stateless HTTP flow at the same `/mcp` endpoint. Dispatch is per request:
198
-
199
- - Requests with matching `_meta.io.modelcontextprotocol/protocolVersion`, `server/discover`, or an `Mcp-Method` header that does not also declare a legacy protocol version use the 2026 stateless dispatcher.
200
- - Requests that explicitly declare a non-2026 `MCP-Protocol-Version` continue through the SDK transport even when newer legacy clients send `Mcp-Method`.
201
-
202
- The 2026 path requires one JSON-RPC message per POST, `Accept: application/json, text/event-stream`, `Mcp-Method`, method-specific `Mcp-Name`, and per-request `_meta.io.modelcontextprotocol/*` client metadata. Huly credentials are still configured separately through env vars or supported `x-huly-*` headers.
197
+ Both stdio and HTTP implement the released MCP `2026-07-28` interface and retain SDK-owned compatibility for MCP `2025-06-18` clients. Stdio pins each connection to the protocol era selected by its opening exchange; HTTP serves legacy requests statelessly. Modern HTTP requires one JSON-RPC message per POST, `Accept: application/json, text/event-stream`, `MCP-Protocol-Version: 2026-07-28`, `Mcp-Method`, method-specific `Mcp-Name`, and per-request `_meta.io.modelcontextprotocol/*` client metadata. Huly credentials are configured separately through env vars or supported `x-huly-*` headers.
203
198
 
204
199
  For hosted or tunneled HTTP deployments, you can require an MCP endpoint bearer token:
205
200
 
@@ -447,6 +442,11 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
447
442
 
448
443
  | Tool | Description |
449
444
  |------|-------------|
445
+ | `list_chat_message_attachments` | List 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. |
446
+ | `get_chat_message_attachment` | Get one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target. |
447
+ | `add_chat_message_attachment` | Attach 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. |
448
+ | `update_chat_message_attachment` | Update 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. |
449
+ | `delete_chat_message_attachment` | Delete one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target. |
450
450
  | `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. |
451
451
  | `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. |
452
452
  | `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. |
@@ -477,11 +477,6 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
477
477
  | `add_thread_reply` | Add 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. |
478
478
  | `update_thread_reply` | Update 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. |
479
479
  | `delete_thread_reply` | Permanently delete a thread reply. This action cannot be undone. |
480
- | `list_chat_message_attachments` | List 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. |
481
- | `get_chat_message_attachment` | Get one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target. |
482
- | `add_chat_message_attachment` | Attach 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. |
483
- | `update_chat_message_attachment` | Update 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. |
484
- | `delete_chat_message_attachment` | Delete one file attached directly to a Huly channel message, direct-message message, or thread reply. The attachmentId must belong to the resolved target. |
485
480
 
486
481
  ### Calendar
487
482