@firfi/huly-mcp 0.14.0 → 0.15.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 +36 -2
  2. package/dist/index.cjs +3492 -1284
  3. package/package.json +7 -5
package/README.md CHANGED
@@ -182,6 +182,23 @@ Configure with `MCP_HTTP_PORT` and `MCP_HTTP_HOST`:
182
182
  MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-mcp@latest
183
183
  ```
184
184
 
185
+ ### Hosted HTTP Header Configuration
186
+
187
+ For hosted URL deployments, keep the server process configured with `MCP_TRANSPORT=http`. A hosting layer can forward per-session Huly credentials as request headers, so one hosted server can serve different Huly workspaces without process-wide `HULY_*` env vars.
188
+
189
+ Supported v1 headers:
190
+
191
+ | Header | Required | Description |
192
+ |--------|----------|-------------|
193
+ | `x-huly-url` | Yes | Huly instance URL |
194
+ | `x-huly-workspace` | Yes | Workspace identifier |
195
+ | `x-huly-token` | Yes | Huly API token |
196
+ | `x-huly-connection-timeout` | No | Connection timeout in ms |
197
+
198
+ If any `x-huly-*` header is present, all required headers must be present. Missing values are not filled from environment variables. Email/password auth is not supported in hosted header configuration v1.
199
+
200
+ For a Smithery publish schema example, see [docs/SMITHERY_URL_PUBLISH.md](docs/SMITHERY_URL_PUBLISH.md).
201
+
185
202
  ## Environment Variables
186
203
 
187
204
  | Variable | Required | Description |
@@ -193,7 +210,7 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
193
210
  | `HULY_WORKSPACE` | Yes | Workspace identifier |
194
211
  | `HULY_CONNECTION_TIMEOUT` | No | Connection timeout in ms (default: 30000) |
195
212
  | `MCP_TRANSPORT` | No | Transport type: `stdio` (default) or `http` |
196
- | `MCP_HTTP_PORT` | No | HTTP server port (default: 3000) |
213
+ | `MCP_HTTP_PORT` | No | HTTP server port (falls back to `PORT`, then 3000) |
197
214
  | `MCP_HTTP_HOST` | No | HTTP server host (default: 127.0.0.1) |
198
215
  | `TOOLSETS` | No | Comma-separated tool categories to expose. If unset, all tools are exposed. Example: `issues,projects,search` |
199
216
 
@@ -203,7 +220,7 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
203
220
  <!-- AUTO-GENERATED from src/mcp/tools/ descriptions. Do not edit manually. Run `pnpm update-readme` to regenerate. -->
204
221
  ## Available Tools
205
222
 
206
- **`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `activity`, `notifications`, `workspace`, `cards`, `custom-fields`, `labels`, `leads`, `processes`, `tag-categories`, `task-management`, `test-management`
223
+ **`TOOLSETS` categories:** `projects`, `issues`, `comments`, `milestones`, `documents`, `storage`, `attachments`, `contacts`, `channels`, `calendar`, `time tracking`, `search`, `associations`, `activity`, `notifications`, `workspace`, `cards`, `custom-fields`, `labels`, `leads`, `processes`, `tag-categories`, `task-management`, `test-management`, `user-statuses`
207
224
 
208
225
  ### Projects
209
226
 
@@ -384,6 +401,15 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
384
401
  |------|-------------|
385
402
  | `fulltext_search` | Perform a global fulltext search across all Huly content. Searches issues, documents, messages, and other indexed content. Returns matching items sorted by relevance (newest first). |
386
403
 
404
+ ### Associations
405
+
406
+ | Tool | Description |
407
+ |------|-------------|
408
+ | `list_associations` | List 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. |
409
+ | `list_relations` | List concrete Huly relation instances under an association, optionally filtered by source and target documents. Requires at least one filter to avoid broad workspace scans. |
410
+ | `create_relation` | Idempotently create one concrete relation between two resolved documents. Only succeeds for associations where list_associations reports canCreateRelation=true; otherwise it fails clearly. This build currently reports no generic associations as writable until a write allowlist is live-validated. |
411
+ | `delete_relation` | Idempotently delete one concrete relation by relation ID or by exact association/source/target triple. Only succeeds for associations where list_associations reports canDeleteRelation=true; otherwise it fails clearly. This build currently reports no generic associations as writable until a write allowlist is live-validated. |
412
+
387
413
  ### Activity
388
414
 
389
415
  | Tool | Description |
@@ -475,6 +501,8 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
475
501
  | `list_processes` | List 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. |
476
502
  | `get_process` | Get 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. |
477
503
  | `list_process_executions` | List 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. |
504
+ | `start_process` | Start 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. |
505
+ | `cancel_execution` | Idempotently 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. |
478
506
 
479
507
  ### Tag-Categories
480
508
 
@@ -529,6 +557,12 @@ MCP_TRANSPORT=http MCP_HTTP_PORT=8080 MCP_HTTP_HOST=0.0.0.0 npx -y @firfi/huly-m
529
557
  | `delete_test_result` | Permanently delete a test result. Cannot be undone. |
530
558
  | `run_test_plan` | Execute 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. |
531
559
 
560
+ ### User-Statuses
561
+
562
+ | Tool | Description |
563
+ |------|-------------|
564
+ | `list_user_statuses` | List 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. |
565
+
532
566
  <!-- tools:end -->
533
567
 
534
568
  ## Troubleshooting