huly-mcp-selfhost 3.2.0 → 3.4.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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.markNotificationsRead = exports.listNotifications = void 0;
3
+ exports.manageNotifications = exports.markNotificationsRead = exports.listNotifications = void 0;
4
4
  const core_1 = require("@hcengineering/core");
5
5
  const connection_1 = require("../connection");
6
6
  const errors_1 = require("../utils/errors");
@@ -73,4 +73,67 @@ exports.markNotificationsRead = (0, errors_1.wrapToolHandler)(async (args) => {
73
73
  }
74
74
  return `✅ ${notes.length} notification(s) ${args.archive ? 'archived' : 'marked read'} (${scope}).`;
75
75
  });
76
+ /**
77
+ * Inbox housekeeping for one object, the way Huly's inbox does it: pin/unpin and hide/unhide its
78
+ * conversation (DocNotifyContext), mark it unread again, restore archived notifications, and
79
+ * follow/unfollow it (a Collaborator row for my account). unhide is our own addition — Huly only
80
+ * un-hides on new activity.
81
+ */
82
+ exports.manageNotifications = (0, errors_1.wrapToolHandler)(async (args) => {
83
+ const client = await (0, connection_1.getConnection)(args.workspace);
84
+ const user = await (0, people_1.currentAccountUuid)(client);
85
+ const target = await (0, resolve_1.resolveObject)(client, args.object);
86
+ if (args.action === 'follow' || args.action === 'unfollow') {
87
+ const rows = await client.findAll(classes_1.C.Collaborator, { attachedTo: target._id, collaborator: user });
88
+ if (args.action === 'follow') {
89
+ if (rows.length > 0)
90
+ return `You already follow ${target.label}.`;
91
+ await client.addCollection(classes_1.C.Collaborator, target.space, target._id, target._class, 'collaborators', { collaborator: user });
92
+ return `✅ You now follow ${target.label} — its changes reach your inbox.`;
93
+ }
94
+ if (rows.length === 0)
95
+ return `You do not follow ${target.label}.`;
96
+ for (const r of rows)
97
+ await client.removeCollection(classes_1.C.Collaborator, r.space, r._id, r.attachedTo, r.attachedToClass, r.collection ?? 'collaborators');
98
+ return `✅ You no longer follow ${target.label}.`;
99
+ }
100
+ const ctx = await client.findOne(classes_1.C.DocNotifyContext, { user, objectId: target._id });
101
+ if (ctx == null)
102
+ throw new Error(`${target.label} is not in your inbox (no notifications for it yet). Nothing was changed.`);
103
+ const set = async (update) => { await client.updateDoc(ctx._class, ctx.space, ctx._id, update); };
104
+ switch (args.action) {
105
+ case 'pin':
106
+ await set({ isPinned: true });
107
+ return `✅ Pinned ${target.label} in your inbox.`;
108
+ case 'unpin':
109
+ await set({ isPinned: false });
110
+ return `✅ Unpinned ${target.label}.`;
111
+ case 'hide':
112
+ await set({ hidden: true });
113
+ return `✅ Hidden ${target.label} — it comes back with new activity.`;
114
+ case 'unhide':
115
+ await set({ hidden: false });
116
+ return `✅ ${target.label} is visible in your inbox again.`;
117
+ case 'unarchive': {
118
+ const notes = await client.findAll(classes_1.C.InboxNotification, { user, docNotifyContext: ctx._id, archived: true });
119
+ for (const n of notes)
120
+ await client.updateDoc(n._class, n.space, n._id, { archived: false });
121
+ return `✅ ${notes.length} notification(s) of ${target.label} restored from the archive.`;
122
+ }
123
+ case 'unread': {
124
+ // Like Huly's "mark as unread": the notifications become unviewed and the context's
125
+ // last-viewed time goes back to just before the oldest of them.
126
+ const notes = await client.findAll(classes_1.C.InboxNotification, { user, docNotifyContext: ctx._id, archived: false });
127
+ if (notes.length === 0)
128
+ return `${target.label} has no notifications to mark unread.`;
129
+ for (const n of notes)
130
+ if (n.isViewed === true)
131
+ await client.updateDoc(n._class, n.space, n._id, { isViewed: false });
132
+ const oldest = Math.min(...notes.map((n) => n.createdOn ?? Date.now()));
133
+ await set({ lastViewedTimestamp: oldest - 1 });
134
+ return `✅ ${target.label} is unread again (${notes.length} notification(s)).`;
135
+ }
136
+ }
137
+ throw new Error(`Unknown action '${args.action}'.`);
138
+ });
76
139
  //# sourceMappingURL=inbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/tools/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/tools/inbox.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export declare const listIssues: (args: {
8
8
  labelName?: string | undefined;
9
9
  assignee?: string | null | undefined;
10
10
  parentIdentifier?: string | null | undefined;
11
+ title?: string | undefined;
12
+ due?: "none" | "overdue" | "set" | undefined;
11
13
  limit: number;
12
14
  offset?: number | undefined;
13
15
  }) => Promise<{
@@ -108,6 +108,16 @@ exports.listIssues = (0, errors_1.wrapToolHandler)(async (args) => {
108
108
  query.attachedTo = parent._id;
109
109
  }
110
110
  }
111
+ if (args.title != null) {
112
+ // $like with % wildcards; escape the user's own % and _ so they match literally.
113
+ query.title = { $like: `%${args.title.replace(/[%_\\]/g, (c) => `\\${c}`)}%` };
114
+ }
115
+ if (args.due === 'overdue')
116
+ query.dueDate = { $lt: Date.now() };
117
+ else if (args.due === 'set')
118
+ query.dueDate = { $ne: null };
119
+ else if (args.due === 'none')
120
+ query.dueDate = null;
111
121
  if (args.labelName != null) {
112
122
  const label = await client.findOne(tags_1.default.class.TagElement, { targetClass: tracker_1.default.class.Issue, title: args.labelName });
113
123
  if (label == null)
@@ -1 +1 @@
1
- {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/tools/issues.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.4.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
+ }