@firfi/huly-mcp 0.52.6 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/dist/index.cjs +25575 -20583
- package/package.json +10 -5
package/README.md
CHANGED
|
@@ -262,6 +262,10 @@ Authorization: Bearer <MCP_AUTH_TOKEN>
|
|
|
262
262
|
|
|
263
263
|
`MCP_AUTH_TOKEN` protects only the MCP HTTP `/mcp` endpoint. It is unrelated to `HULY_TOKEN`, does not authenticate to Huly, and does not replace `HULY_EMAIL` / `HULY_PASSWORD` / `HULY_TOKEN`. Huly credentials are still required through process env vars or, for hosted URL deployments, the supported `x-huly-*` headers. Stdio deployments do not use `MCP_AUTH_TOKEN`.
|
|
264
264
|
|
|
265
|
+
### Shared CLI and stdio profiles
|
|
266
|
+
|
|
267
|
+
Save a profile with `huly auth login --profile work`, then set `HULY_PROFILE=work` in the stdio MCP server's environment. Both processes must run under the same OS user and configuration directory. Stdio never follows the active CLI profile implicitly. Saved tokens are bound to their instance URL and workspace; changes require login again or complete environment credential injection. See the [CLI profile instructions](packages/huly-cli/README.md#authentication-and-profiles). HTTP configuration remains unchanged.
|
|
268
|
+
|
|
265
269
|
### Hosted HTTP Header Configuration
|
|
266
270
|
|
|
267
271
|
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.
|
|
@@ -297,6 +301,7 @@ For a Smithery publish schema example, see [docs/SMITHERY_URL_PUBLISH.md](docs/S
|
|
|
297
301
|
| `PROXY_OUTPUT_STRICT` | No | Proxy candidate strictness: `false` (default) keeps proxy discovery broad; `true` makes active `TOOLSETS` / `TOOLS` a hard allow-list for proxy search, schema lookup, and invocation. |
|
|
298
302
|
| `TOOLSETS` | No | Comma-separated tool categories to expose. If neither `TOOLSETS` nor `TOOLS` is set, all native Huly tools are exposed. Example: `issues,projects,search` |
|
|
299
303
|
| `TOOLS` | No | Comma-separated exact tool names to expose in addition to selected toolsets. Example: `list_documents,create_issue` |
|
|
304
|
+
| `HULY_MCP_TELEMETRY` | No | Aggregate usage analytics (PostHog), on by default. Set `0` to disable. `DO_NOT_TRACK=1` also disables it. |
|
|
300
305
|
|
|
301
306
|
*Auth: Prefer `HULY_TOKEN`. Use `HULY_EMAIL` + `HULY_PASSWORD` only when the Huly deployment does not support a
|
|
302
307
|
managed API token or another compatibility constraint requires password authentication.
|
|
@@ -371,13 +376,13 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
371
376
|
| `set_issue_component` | Set or clear the component on a Huly issue. Pass null for component to clear it. |
|
|
372
377
|
| `delete_component` | Permanently delete a Huly component. This action cannot be undone. |
|
|
373
378
|
| `list_issues` | Query Huly issues with optional filters. Returns issues sorted by modification date (newest first). Supports filtering by project, exact workflow status name (status), Huly SDK task.statusCategory key (statusCategory: UnStarted, ToDo, Active, Won, Lost), assignee (email, Person display name, or exact agent UserProfile title), creator (raw Person ID, exact email, or exact display name), component, a human-readable attached label title (label, exact and case-insensitive), milestone (project-scoped ID or exact case-insensitive label), milestone presence (hasMilestone), parentIssue (to list children of a specific issue), and isTopLevel (to return only native top-level issues). Creator, label, and milestone filters are applied before the result limit; ambiguous creator display names fail actionably and unknown creators return an empty list. Each result includes creator as a stable Person reference { id, name?, email? } when resolvable and the assigned milestone as { id, label } when resolvable. Supports searching by title substring (titleSearch) and description content (descriptionSearch). Each result includes deterministic 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 attachments are omitted with a tool warning. |
|
|
374
|
-
| `get_issue` | Retrieve 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. |
|
|
379
|
+
| `get_issue` | Retrieve 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 identifier/number or stable issue ID; stable IDs resolve across the workspace after movement and return the actual project. The supplied project must exist. |
|
|
375
380
|
| `create_issue` | Create 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 _class, _id, and label become native references, while external URLs stay normal links. Returns the created issue identifier. |
|
|
376
381
|
| `update_issue` | Update 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 native references, while external URLs stay normal links. |
|
|
377
382
|
| `add_issue_label` | Add a tag/label to a Huly issue. Creates the tag if it doesn't exist in the project. |
|
|
378
383
|
| `remove_issue_label` | Remove a tag/label from a Huly issue. Detaches the label reference; does not delete the label definition. |
|
|
379
384
|
| `delete_issue` | Permanently delete a Huly issue. This action cannot be undone. |
|
|
380
|
-
| `move_issue` | Move an issue to
|
|
385
|
+
| `move_issue` | Move 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; otherwise blocked with candidates for exact per-task resolutions {issueId,field,from,to}, where to is a valid destination ID or null to clear. All discoverable conflicts are returned before writes. Comments (including threads/nested attachments), issue attachments, labels, time reports and audited activity/replies/reactions follow the move; historical payloads and independent links stay intact. Unknown record classes/collection edges or discovery limits cause a pre-write refusal. Restricted projects are refused; private destinations require membership. Tree discovery follows attachments, and all task conflicts and resolutions are checked before number allocation. Consent never extends to siblings or newly discovered children. Safety limits refuse a complete move before writes; successful mappings include every task. Cross-project identifiers change; stable IDs and independent references remain. Omit resolutions for same-project calls, including no-ops. Inspects hierarchy before writes and verifies after execution; inconsistent or uncertain outcomes include inspection guidance. Never automatically retry an uncertain move. |
|
|
381
386
|
| `list_issue_templates` | List issue templates in a Huly project. Templates define reusable issue configurations. Returns templates sorted by modification date (newest first). |
|
|
382
387
|
| `get_issue_template` | Retrieve full details for a Huly issue template including children (sub-task templates). Use this to view template content, default values, and child template IDs. |
|
|
383
388
|
| `create_issue_template` | Create 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. |
|