huly-mcp-selfhost 3.2.0 → 3.3.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/dist/guard.d.ts CHANGED
@@ -11,6 +11,17 @@ export declare function audit(path: string | undefined, tool: ToolDef, args: unk
11
11
  }): void;
12
12
  /** Deletes and bulk/structural changes that are hard to undo. */
13
13
  export declare function isRisky(name: string): boolean;
14
+ /**
15
+ * MCP tool annotations: reads are read-only; deletes, removals and the risky tools above are
16
+ * destructive; every other change (create, add, update, set, …) is marked non-destructive —
17
+ * the MCP default for a write tool is "destructive", which would over-warn.
18
+ * Off by default (HULY_ANNOTATIONS=1): they add ~16% to tools/list in every session.
19
+ */
20
+ export declare function toolAnnotations(tool: ToolDef): {
21
+ title: string;
22
+ readOnlyHint?: boolean;
23
+ destructiveHint?: boolean;
24
+ };
14
25
  export type ConfirmMode = 'auto' | 'off' | 'strict';
15
26
  export declare function parseConfirmMode(value: string | undefined): ConfirmMode;
16
27
  /** What the confirm callback can do with the connected client. */
package/dist/guard.js CHANGED
@@ -6,6 +6,7 @@ exports.parseWriteProjects = parseWriteProjects;
6
6
  exports.assertWriteAllowed = assertWriteAllowed;
7
7
  exports.audit = audit;
8
8
  exports.isRisky = isRisky;
9
+ exports.toolAnnotations = toolAnnotations;
9
10
  exports.parseConfirmMode = parseConfirmMode;
10
11
  exports.describeCall = describeCall;
11
12
  exports.elicitationAsker = elicitationAsker;
@@ -82,6 +83,18 @@ const RISKY = new Set(['bulk_update_issues', 'move_issue', 'generic_update', 'ge
82
83
  function isRisky(name) {
83
84
  return name.startsWith('delete_') || RISKY.has(name);
84
85
  }
86
+ /**
87
+ * MCP tool annotations: reads are read-only; deletes, removals and the risky tools above are
88
+ * destructive; every other change (create, add, update, set, …) is marked non-destructive —
89
+ * the MCP default for a write tool is "destructive", which would over-warn.
90
+ * Off by default (HULY_ANNOTATIONS=1): they add ~16% to tools/list in every session.
91
+ */
92
+ function toolAnnotations(tool) {
93
+ const title = tool.name.replace(/_/g, ' ').replace(/^./, (c) => c.toUpperCase());
94
+ if (!isMutation(tool))
95
+ return { title, readOnlyHint: true };
96
+ return { title, destructiveHint: isRisky(tool.name) || /^(remove|revoke)_/.test(tool.name) };
97
+ }
85
98
  function parseConfirmMode(value) {
86
99
  const v = (value ?? 'auto').trim().toLowerCase();
87
100
  if (v === 'auto' || v === 'off' || v === 'strict')
package/dist/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,12 @@ async function main() {
13
13
  await (0, watch_1.runWatch)(process.argv.slice(3));
14
14
  return;
15
15
  }
16
+ if (process.argv[2] === 'setup') {
17
+ // `npx huly-mcp-selfhost setup`: the token wizard for SSO accounts (scripts/setup.js ships in the package).
18
+ process.env.HULY_SETUP_RUN = '1';
19
+ require('../scripts/setup.js');
20
+ return;
21
+ }
16
22
  if (process.argv[2] === 'junit') {
17
23
  await (0, junit_cli_1.runJUnit)(process.argv.slice(3));
18
24
  process.exit();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,wEAAgF;AAChF,qCAAuC;AACvC,6CAA8C;AAC9C,+BAAoC;AACpC,mCAAkC;AAClC,2CAAsC;AACtC,2CAAqD;AAErD,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAA,oBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC;IACD,IAAA,kBAAY,GAAE,CAAA;IACd,oFAAoF;IACpF,2FAA2F;IAC3F,gFAAgF;IAChF,IAAA,6BAAoB,GAAE,CAAA;IACtB,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAA;IAE5C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAA,4BAAe,GAAE,CAAA;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAA,4BAAe,GAAE,CAAA;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,6DAA6D;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,wEAAgF;AAChF,qCAAuC;AACvC,6CAA8C;AAC9C,+BAAoC;AACpC,mCAAkC;AAClC,2CAAsC;AACtC,2CAAqD;AAErD,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,4GAA4G;QAC5G,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAA;QAChC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC9B,OAAM;IACR,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAA,oBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC;IACD,IAAA,kBAAY,GAAE,CAAA;IACd,oFAAoF;IACpF,2FAA2F;IAC3F,gFAAgF;IAChF,IAAA,6BAAoB,GAAE,CAAA;IACtB,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAA;IAE5C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAA,4BAAe,GAAE,CAAA;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAA,4BAAe,GAAE,CAAA;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,6DAA6D;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
@@ -2,6 +2,13 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  export declare function completeWorkspace(prefix: string): Promise<string[]>;
3
3
  export declare function completeProject(prefix: string, workspace?: string): Promise<string[]>;
4
4
  export declare function completeIssue(prefix: string, workspace?: string): Promise<string[]>;
5
+ export declare const GUIDES: Record<string, {
6
+ file: string;
7
+ title: string;
8
+ description: string;
9
+ }>;
10
+ /** Guide text: dist/guides (build output) or, when running from source, the plugin skill itself. */
11
+ export declare function readGuide(name: string): string;
5
12
  export declare function registerResources(server: McpServer): void;
6
13
  export declare function registerPrompts(server: McpServer): void;
7
14
  /** modifiedOn of the object behind a huly:// URI, or undefined if it cannot be read. */
package/dist/resources.js CHANGED
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GUIDES = void 0;
6
7
  exports.completeWorkspace = completeWorkspace;
7
8
  exports.completeProject = completeProject;
8
9
  exports.completeIssue = completeIssue;
10
+ exports.readGuide = readGuide;
9
11
  exports.registerResources = registerResources;
10
12
  exports.registerPrompts = registerPrompts;
11
13
  exports.modifiedOn = modifiedOn;
@@ -16,6 +18,8 @@ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
16
18
  const completable_js_1 = require("@modelcontextprotocol/sdk/server/completable.js");
17
19
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
18
20
  const zod_1 = require("zod");
21
+ const fs_1 = require("fs");
22
+ const path_1 = require("path");
19
23
  const tracker_1 = __importDefault(require("@hcengineering/tracker"));
20
24
  const task_1 = __importDefault(require("@hcengineering/task"));
21
25
  const core_1 = require("@hcengineering/core");
@@ -91,7 +95,32 @@ const ws = (ctx) => ctx?.arguments?.workspace;
91
95
  const wsArg = () => (0, completable_js_1.completable)(zod_1.z.string(), async (v) => await completeWorkspace(v));
92
96
  const issueArg = () => (0, completable_js_1.completable)(zod_1.z.string(), async (v, ctx) => await completeIssue(v, ws(ctx)));
93
97
  const projectArg = () => (0, completable_js_1.completable)(zod_1.z.string(), async (v, ctx) => await completeProject(v, ws(ctx)));
98
+ // ── Guides: the plugin skill as plain resources, so every MCP client (not only Claude Code) gets them ──
99
+ exports.GUIDES = {
100
+ workflow: { file: 'SKILL.md', title: 'Huly workflow for agents', description: 'Repo rules first, pick up/hand back issues, status flow, creating without duplicates' },
101
+ costs: { file: 'costs.md', title: 'Cheapest Huly call per question', description: 'Which call answers which question with the least output (measured sizes)' },
102
+ onboarding: { file: 'onboarding.md', title: 'Bringing a project into Huly', description: 'Status set, components, milestones, TODO scan, architecture document' },
103
+ features: { file: 'features.md', title: 'All of Huly for a software project', description: 'Labels, templates, test management, documents, drive, custom fields, cards — tools and toolsets' }
104
+ };
105
+ /** Guide text: dist/guides (build output) or, when running from source, the plugin skill itself. */
106
+ function readGuide(name) {
107
+ const g = exports.GUIDES[name];
108
+ if (g == null)
109
+ throw new Error(`Unknown guide: ${name}. Available: ${Object.keys(exports.GUIDES).join(', ')}`);
110
+ let text;
111
+ try {
112
+ text = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, 'guides', `${name}.md`), 'utf8');
113
+ }
114
+ catch {
115
+ text = (0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'plugin', 'skills', 'huly', g.file), 'utf8').replace(/\r\n/g, '\n').replace(/^---\n[\s\S]*?\n---\n+/, '');
116
+ }
117
+ // Links between the skill files become links between the resources.
118
+ return text.replace(/\]\((SKILL|costs|onboarding|features)\.md\)/g, (_m, f) => `](huly://guide/${f === 'SKILL' ? 'workflow' : f})`);
119
+ }
94
120
  function registerResources(server) {
121
+ for (const [name, g] of Object.entries(exports.GUIDES)) {
122
+ server.registerResource(`guide-${name}`, `huly://guide/${name}`, { title: g.title, description: g.description, mimeType: 'text/markdown' }, async (uri) => ({ contents: [{ uri: uri.href, mimeType: 'text/markdown', text: readGuide(name) }] }));
123
+ }
95
124
  server.registerResource('issue', new mcp_js_1.ResourceTemplate('huly://{workspace}/issue/{identifier}', {
96
125
  list: async () => ({ resources: (await myOpenIssues()).map((r) => ({ ...r, mimeType: 'text/markdown' })) }),
97
126
  complete: {
@@ -108,6 +137,20 @@ function registerResources(server) {
108
137
  }
109
138
  const user = (text) => ({ messages: [{ role: 'user', content: { type: 'text', text } }] });
110
139
  function registerPrompts(server) {
140
+ server.registerPrompt('setup', {
141
+ title: 'Set up Huly for a project',
142
+ description: 'Ask how Huly should be used for a project, write the rules for your project instructions, optionally import it',
143
+ argsSchema: { repository: zod_1.z.string().optional(), workspace: zod_1.z.string().optional() }
144
+ }, ({ repository, workspace }) => user(`Set up how you use Huly for ${repository != null ? `the repository ${repository}` : 'my current project'}${workspace != null ? ` (workspace ${workspace})` : ''}.\n\n` +
145
+ '1. Find the project: ' + (repository != null ? 'call find_project_for_repo with the repository; ' : '') +
146
+ 'otherwise list_workspaces and list_projects and suggest the one that fits. Never create a Huly project — if none fits, suggest a short key and ask me to create it.\n' +
147
+ '2. Ask me in one message, with numbered options and your recommendation first: (a) role of Huly — leads / overview only / not used; ' +
148
+ '(b) where new issues go — code bugs on GitHub and product topics in Huly / everything in Huly / only when I ask; ' +
149
+ '(c) initiative — act and keep status current / propose first / only on request; (d) efficiency — normal / token-saving / minimal.\n' +
150
+ '3. Write a short "## Huly" rules section from my answers (workspace, project, where issues go, duplicate check, component + milestone on every issue, ' +
151
+ 'status flow, initiative, efficiency) and give it to me to paste into my project instructions (CLAUDE.md, AGENTS.md, Cursor rules or the project instructions of this app).\n' +
152
+ '4. Ask which imports I want (components, milestones, status set, TODO/FIXME proposals, architecture document) and do them as described in resource huly://guide/onboarding, ' +
153
+ 'dry runs first. For efficient calls follow huly://guide/costs. End with what was created and what I still have to do.'));
111
154
  server.registerPrompt('start', {
112
155
  title: 'Start working on an issue',
113
156
  description: 'Pick up an issue, load its context and propose a plan',
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare function createServer(options?: {
11
11
  toolsets?: string;
12
12
  workspace?: string;
13
13
  dynamic?: boolean;
14
+ annotations?: boolean;
14
15
  }): McpServer;
15
16
  export declare function stripLimits(node: any): void;
16
17
  /** Names models often use instead of ours. Applied only when the tool has the target and not the alias. */
package/dist/server.js CHANGED
@@ -49,11 +49,14 @@ function createServer(options = {}) {
49
49
  // information, so it is left out of the schemas and filled in here. Write checks use the
50
50
  // registry schema, which keeps it, so "every change names its workspace" still holds.
51
51
  const pinned = (options.workspace ?? process.env.HULY_WORKSPACE ?? '').trim() || undefined;
52
+ const annotate = options.annotations ?? ['1', 'true', 'yes'].includes(String(process.env.HULY_ANNOTATIONS ?? '').toLowerCase());
52
53
  const dynamic = options.dynamic ?? ['1', 'true', 'yes'].includes(String(process.env.HULY_DYNAMIC_TOOLSETS ?? '').toLowerCase());
53
54
  let instructions = pinned != null ? pinnedInstructions(pinned) : SERVER_INSTRUCTIONS;
55
+ if (enabled.has('agent'))
56
+ instructions += '\n- Guides: resources huly://guide/workflow, huly://guide/costs, huly://guide/onboarding, huly://guide/features; prompt "setup" writes a project\'s Huly rules.';
54
57
  if (dynamic)
55
58
  instructions = instructions.replace('- Missing tools may be in a disabled toolset (HULY_TOOLSETS).', '- More tools (calendar, cards, drive, testing, recruiting, …) load on demand: enable_toolsets.');
56
- const server = new mcp_js_1.McpServer({ name: 'huly-mcp-selfhost', version: '3.2.0' }, { instructions });
59
+ const server = new mcp_js_1.McpServer({ name: 'huly-mcp-selfhost', version: '3.3.0' }, { instructions });
57
60
  const asker = (0, guard_1.elicitationAsker)(server);
58
61
  // Load on demand (HULY_DYNAMIC_TOOLSETS=1): every tool is registered, those outside HULY_TOOLSETS
59
62
  // start disabled; enable_toolsets switches them on and the client is told the tool list changed.
@@ -64,11 +67,16 @@ function createServer(options = {}) {
64
67
  const handler = (0, guard_1.guard)(tool, process.env, asker);
65
68
  let reg;
66
69
  if (pinned == null || tool.schema.shape.workspace == null) {
67
- reg = server.tool(tool.name, tool.description, tool.schema.shape, handler);
70
+ reg = annotate
71
+ ? server.tool(tool.name, tool.description, tool.schema.shape, (0, guard_1.toolAnnotations)(tool), handler)
72
+ : server.tool(tool.name, tool.description, tool.schema.shape, handler);
68
73
  }
69
74
  else {
70
75
  const { workspace: _ws, ...shape } = tool.schema.shape;
71
- reg = server.tool(tool.name, tool.description, shape, async (args, extra) => await handler({ ...args, workspace: pinned }, extra));
76
+ const pinnedHandler = async (args, extra) => await handler({ ...args, workspace: pinned }, extra);
77
+ reg = annotate
78
+ ? server.tool(tool.name, tool.description, shape, (0, guard_1.toolAnnotations)(tool), pinnedHandler)
79
+ : server.tool(tool.name, tool.description, shape, pinnedHandler);
72
80
  }
73
81
  if (!enabled.has(tool.toolset))
74
82
  reg.disable();
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,26 +1,31 @@
1
1
  {
2
2
  "name": "huly-mcp-selfhost",
3
- "version": "3.2.0",
4
- "description": "MCP server for Huly (self-hosted + cloud) — connect Claude Desktop to your Huly workspace via the native WebSocket SDK. Fork of huly-mcp-sdk with self-hosted document/description support, chat, attachments, custom issue statuses, and organizations.",
3
+ "version": "3.3.0",
4
+ "description": "MCP server for Huly (self-hosted and Huly Cloud): 224 tools for Claude and other AI agents — issues, epics, documents, chat, planner, test management — with toolsets for low token use, an agent workflow and a Claude Code plugin.",
5
5
  "keywords": [
6
6
  "huly",
7
+ "huly-selfhost",
7
8
  "mcp",
9
+ "mcp-server",
8
10
  "model-context-protocol",
9
11
  "claude",
12
+ "claude-code",
13
+ "claude-desktop",
14
+ "ai-agents",
10
15
  "project-management",
11
16
  "issue-tracker",
12
- "anthropic"
17
+ "self-hosted"
13
18
  ],
14
- "homepage": "https://github.com/JoKeks2023/huly-mcp#readme",
19
+ "homepage": "https://jokeks2023.github.io/huly-mcp/",
15
20
  "repository": {
16
21
  "type": "git",
17
22
  "url": "git+https://github.com/JoKeks2023/huly-mcp.git"
18
23
  },
19
24
  "mcpName": "io.github.jokeks2023/huly-mcp-selfhost",
20
25
  "license": "EPL-2.0",
21
- "author": "SaiVaraprasad Medapati",
26
+ "author": "Joris Conrad (https://github.com/JoKeks2023)",
22
27
  "contributors": [
23
- "Joris Conrad (self-hosted fork: https://github.com/JoKeks2023/huly-mcp)"
28
+ "SaiVaraprasad Medapati (original huly-mcp-sdk: https://github.com/varaprasadreddy9676/huly-mcp)"
24
29
  ],
25
30
  "bin": {
26
31
  "huly-mcp": "dist/index.js",
@@ -31,13 +36,14 @@
31
36
  "dist/",
32
37
  "scripts/",
33
38
  ".env.example",
34
- "README.md"
39
+ "README.md",
40
+ "CHANGELOG.md"
35
41
  ],
36
42
  "engines": {
37
43
  "node": ">=20"
38
44
  },
39
45
  "scripts": {
40
- "build": "node --max-old-space-size=4096 node_modules/typescript/bin/tsc",
46
+ "build": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && node --max-old-space-size=4096 node_modules/typescript/bin/tsc && node scripts/copy-guides.js",
41
47
  "dev": "tsx watch src/index.ts",
42
48
  "start": "node dist/index.js",
43
49
  "setup": "node scripts/setup.js",
@@ -70,5 +76,8 @@
70
76
  "overrides": {
71
77
  "dompurify": "^3.4.17",
72
78
  "uuid": "^11.1.1"
79
+ },
80
+ "bugs": {
81
+ "url": "https://github.com/JoKeks2023/huly-mcp/issues"
73
82
  }
74
83
  }
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env node
2
+ // Build step: the plugin skill files are the one source for the agent guides. They are copied to
3
+ // dist/guides/ (without the skill frontmatter) so every MCP client can read them as huly://guide/*.
4
+ 'use strict'
5
+ const fs = require('fs')
6
+ const path = require('path')
7
+
8
+ const root = path.join(__dirname, '..')
9
+ const src = path.join(root, 'plugin', 'skills', 'huly')
10
+ const out = path.join(root, 'dist', 'guides')
11
+ const GUIDES = { workflow: 'SKILL.md', costs: 'costs.md', onboarding: 'onboarding.md', features: 'features.md' }
12
+
13
+ fs.mkdirSync(out, { recursive: true })
14
+ for (const [name, file] of Object.entries(GUIDES)) {
15
+ const text = fs.readFileSync(path.join(src, file), 'utf8').replace(/\r\n/g, '\n').replace(/^---\n[\s\S]*?\n---\n+/, '')
16
+ fs.writeFileSync(path.join(out, `${name}.md`), text)
17
+ }
18
+ console.log(`guides: ${Object.keys(GUIDES).length} copied to dist/guides`)
package/scripts/setup.js CHANGED
@@ -1,18 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * One-time setup: authenticate via OTP and save your token to .env
3
+ * One-time setup for SSO accounts (Google/GitHub): log in with a one-time code and get a token.
4
4
  *
5
5
  * Usage:
6
- * node scripts/setup.js
6
+ * npx huly-mcp-selfhost setup (anywhere — prints the token to paste into your client)
7
+ * npm run setup (in a checkout of this repo — also saves it to .env)
8
+ * ... setup --url https://huly.example.com (self-hosted; or set HULY_ACCOUNTS_URL)
7
9
  *
8
10
  * What it does:
9
- * 1. Sends a one-time code to your email
10
- * 2. You paste the code
11
+ * 1. Asks for your Huly address (empty = Huly Cloud) unless HULY_ACCOUNTS_URL / --url is given
12
+ * 2. Sends a one-time code to your email; you paste the code
11
13
  * 3. Lists the workspaces your account can access (discovery test)
12
- * 4. Saves HULY_TOKEN to .env
13
- *
14
- * No workspace is configured: the MCP server discovers all workspaces of the
15
- * account at runtime and every tool takes a `workspace` argument.
14
+ * 4. In a repo checkout: saves HULY_TOKEN to .env. Otherwise: prints what to put where.
16
15
  */
17
16
 
18
17
  'use strict'
@@ -23,18 +22,47 @@ const readline = require('readline')
23
22
 
24
23
  const { getClient } = require('@hcengineering/account-client')
25
24
 
26
- const envFile = path.join(__dirname, '..', '.env')
27
- const accountsUrl = process.env.HULY_ACCOUNTS_URL ?? 'https://account.huly.app'
25
+ const CLOUD_ACCOUNTS = 'https://account.huly.app'
26
+ const root = path.join(__dirname, '..')
27
+ const envFile = path.join(root, '.env')
28
+ // Started via npx the package sits in the npm cache: a .env there would be lost and never read.
29
+ const isCheckout = fs.existsSync(path.join(root, '.git'))
28
30
 
31
+ // One interface for the whole run: a new one per question would drop lines already buffered (piped input).
32
+ let rl
33
+ const lines = []
34
+ const waiting = []
29
35
  function ask (question) {
30
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout })
31
- return new Promise(resolve => rl.question(question, ans => { rl.close(); resolve(ans.trim()) }))
36
+ if (rl == null) {
37
+ rl = readline.createInterface({ input: process.stdin })
38
+ rl.on('line', line => { const next = waiting.shift(); if (next != null) next(line.trim()); else lines.push(line.trim()) })
39
+ rl.on('close', () => { while (waiting.length > 0) waiting.shift()('') })
40
+ }
41
+ process.stdout.write(question)
42
+ if (lines.length > 0) return Promise.resolve(lines.shift())
43
+ return new Promise(resolve => waiting.push(resolve))
32
44
  }
33
45
 
34
- function writeEnv (token, accountsUrl) {
46
+ /** "https://huly.example.com", ".../_accounts" or empty (cloud) → { accounts, front } */
47
+ function resolveUrls (input) {
48
+ const value = (input ?? '').trim().replace(/\/+$/, '')
49
+ if (value === '' || /(^|\/\/)(app\.)?huly\.app$/.test(value) || value === CLOUD_ACCOUNTS) return { accounts: CLOUD_ACCOUNTS, front: undefined }
50
+ if (!/^https?:\/\//.test(value)) throw new Error(`Not a URL: ${value} (expected e.g. https://huly.example.com)`)
51
+ if (value.endsWith('/_accounts')) return { accounts: value, front: value.slice(0, -'/_accounts'.length) }
52
+ return { accounts: `${value}/_accounts`, front: value }
53
+ }
54
+
55
+ function urlArg (argv) {
56
+ const i = argv.indexOf('--url')
57
+ if (i >= 0) return argv[i + 1] ?? ''
58
+ const eq = argv.find(a => a.startsWith('--url='))
59
+ return eq != null ? eq.slice('--url='.length) : undefined
60
+ }
61
+
62
+ function writeEnv (token, urls) {
35
63
  const lines = [
36
64
  `HULY_TOKEN=${token}`,
37
- accountsUrl !== 'https://account.huly.app' ? `HULY_ACCOUNTS_URL=${accountsUrl}` : null
65
+ urls.accounts !== CLOUD_ACCOUNTS ? `HULY_ACCOUNTS_URL=${urls.accounts}` : null
38
66
  ].filter(Boolean)
39
67
 
40
68
  // Merge with existing .env (don't overwrite unrelated vars)
@@ -51,17 +79,38 @@ function writeEnv (token, accountsUrl) {
51
79
  })
52
80
 
53
81
  fs.writeFileSync(envFile, [...keep.filter(Boolean), ...lines].join('\n') + '\n')
82
+ return /^HULY_WORKSPACE=/m.test(existing)
83
+ }
84
+
85
+ function printConfig (token, urls) {
86
+ console.log('\n Put these values into your MCP client:')
87
+ console.log(' Claude Code plugin: /plugin → huly → configure (fields "Huly token", "Accounts URL", "Front URL")')
88
+ console.log(' Other clients: the "env" block of the huly server\n')
89
+ console.log(` HULY_TOKEN=${token}`)
90
+ if (urls.accounts !== CLOUD_ACCOUNTS) {
91
+ console.log(` HULY_ACCOUNTS_URL=${urls.accounts}`)
92
+ console.log(` HULY_FRONT_URL=${urls.front}`)
93
+ }
94
+ console.log('\n Keep the token secret — it logs in as you.')
54
95
  }
55
96
 
56
97
  async function main () {
57
98
  console.log('\n🔧 Huly MCP Setup\n')
58
99
 
59
- const email = await ask(' Email address (the one you use for huly.app): ')
100
+ const fromEnv = (process.env.HULY_ACCOUNTS_URL ?? '').trim()
101
+ const given = urlArg(process.argv.slice(2)) ?? (fromEnv !== '' ? fromEnv : undefined)
102
+ const urls = resolveUrls(given ?? await ask(' Huly address (empty = Huly Cloud, e.g. https://huly.example.com): '))
103
+ if (urls.accounts !== CLOUD_ACCOUNTS) console.log(` Accounts service: ${urls.accounts}`)
104
+
105
+ const email = await ask(' Email address of your Huly account: ')
60
106
  if (!email.includes('@')) { console.error('Invalid email.'); process.exit(1) }
61
107
 
62
- console.log(`\n Sending OTP to ${email}...`)
63
- const unauthClient = getClient(accountsUrl)
64
- await unauthClient.loginOtp(email)
108
+ console.log(`\n Sending a one-time code to ${email}...`)
109
+ const unauthClient = getClient(urls.accounts)
110
+ await unauthClient.loginOtp(email).catch(e => {
111
+ const cause = e.cause?.code ?? e.message
112
+ throw new Error(`Could not reach the Huly accounts service at ${urls.accounts} (${cause}). Check the address — self-hosted: your Huly URL, e.g. https://huly.example.com`)
113
+ })
65
114
  console.log(' ✅ Code sent!\n')
66
115
 
67
116
  const code = await ask(' Enter the 6-digit code from your email: ')
@@ -75,7 +124,7 @@ async function main () {
75
124
  }
76
125
 
77
126
  // Discovery test: which workspaces can this account use?
78
- const authedClient = getClient(accountsUrl, loginInfo.token)
127
+ const authedClient = getClient(urls.accounts, loginInfo.token)
79
128
  const workspaces = await authedClient.getUserWorkspaces().catch(e => {
80
129
  console.error(` ❌ Workspace discovery failed: ${e.message}`)
81
130
  process.exit(1)
@@ -86,22 +135,29 @@ async function main () {
86
135
  process.exit(1)
87
136
  }
88
137
 
89
- const hadWorkspace = fs.existsSync(envFile) && /^HULY_WORKSPACE=/m.test(fs.readFileSync(envFile, 'utf8'))
90
- writeEnv(loginInfo.token, accountsUrl)
91
-
92
- console.log(`\n ✅ Setup complete! Token saved to .env`)
93
- console.log(`\n Workspaces available to this account (${workspaces.length}):`)
138
+ console.log(`\n ✅ Logged in. Workspaces available to this account (${workspaces.length}):`)
94
139
  for (const ws of workspaces) {
95
- console.log(` - ${ws.name ?? ws.url} (slug: ${ws.url}, id: ${ws.uuid})${ws.isDisabled ? ' [disabled]' : ''}`)
140
+ console.log(` - ${ws.name ?? ws.url} (slug: ${ws.url})${ws.isDisabled ? ' [disabled]' : ''}`)
96
141
  }
97
- if (hadWorkspace) {
98
- console.log('\n ℹ️ Removed HULY_WORKSPACE from .env — the server now uses all workspaces above.')
99
- console.log(' Re-add it only if you want to restrict this server to a single workspace.')
142
+
143
+ if (isCheckout) {
144
+ const hadWorkspace = writeEnv(loginInfo.token, urls)
145
+ console.log('\n Token saved to .env')
146
+ if (hadWorkspace) {
147
+ console.log(' ℹ️ Removed HULY_WORKSPACE from .env — the server now uses all workspaces above.')
148
+ console.log(' Re-add it only if you want to restrict this server to a single workspace.')
149
+ }
150
+ } else {
151
+ printConfig(loginInfo.token, urls)
100
152
  }
101
- console.log('\n In your MCP client, pass the slug as `workspace`, e.g. list_projects(workspace="' + workspaces[0].url + '").\n')
153
+ console.log('\n Optional: pin one workspace with HULY_WORKSPACE (a slug above) — fewer tokens per session.\n')
102
154
  }
103
155
 
104
- main().catch(err => {
105
- console.error('\n❌ Setup failed:', err.message)
106
- process.exit(1)
107
- })
156
+ module.exports = { resolveUrls, urlArg }
157
+
158
+ if (require.main === module || process.env.HULY_SETUP_RUN === '1') {
159
+ main().then(() => rl?.close()).catch(err => {
160
+ console.error('\n❌ Setup failed:', err.message)
161
+ process.exit(1)
162
+ })
163
+ }