@firfi/huly-mcp 0.55.0 → 0.55.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.
- package/README.md +32 -3
- package/dist/application.cjs +203490 -0
- package/dist/index.cjs +39 -202083
- package/dist/native/THIRD-PARTY-NOTICES +8808 -0
- package/dist/native/huly-stdio-darwin-arm64 +0 -0
- package/dist/native/huly-stdio-darwin-x64 +0 -0
- package/dist/native/huly-stdio-linux-arm64 +0 -0
- package/dist/native/huly-stdio-linux-x64 +0 -0
- package/package.json +22 -5
package/README.md
CHANGED
|
@@ -45,6 +45,7 @@ The standard configuration uses a Huly API token and works with most MCP clients
|
|
|
45
45
|
"command": "npx",
|
|
46
46
|
"args": ["-y", "@firfi/huly-mcp@latest"],
|
|
47
47
|
"env": {
|
|
48
|
+
"MCP_TRANSPORT": "stdio-resident",
|
|
48
49
|
"HULY_URL": "https://your-huly-instance.example.com",
|
|
49
50
|
"HULY_TOKEN": "your-huly-api-token",
|
|
50
51
|
"HULY_WORKSPACE": "yourworkspace"
|
|
@@ -73,6 +74,7 @@ Use Codex's MCP manager:
|
|
|
73
74
|
|
|
74
75
|
```bash
|
|
75
76
|
codex mcp add huly \
|
|
77
|
+
--env MCP_TRANSPORT=stdio-resident \
|
|
76
78
|
--env HULY_URL=https://your-huly-instance.example.com \
|
|
77
79
|
--env HULY_TOKEN=your-huly-api-token \
|
|
78
80
|
--env HULY_WORKSPACE=yourworkspace \
|
|
@@ -87,6 +89,7 @@ command = "npx"
|
|
|
87
89
|
args = ["-y", "@firfi/huly-mcp@latest"]
|
|
88
90
|
|
|
89
91
|
[mcp_servers.huly.env]
|
|
92
|
+
MCP_TRANSPORT = "stdio-resident"
|
|
90
93
|
HULY_URL = "https://your-huly-instance.example.com"
|
|
91
94
|
HULY_TOKEN = "your-huly-api-token"
|
|
92
95
|
HULY_WORKSPACE = "yourworkspace"
|
|
@@ -99,6 +102,7 @@ HULY_WORKSPACE = "yourworkspace"
|
|
|
99
102
|
|
|
100
103
|
```bash
|
|
101
104
|
claude mcp add huly \
|
|
105
|
+
-e MCP_TRANSPORT=stdio-resident \
|
|
102
106
|
-e HULY_URL=https://your-huly-instance.example.com \
|
|
103
107
|
-e HULY_TOKEN=your-huly-api-token \
|
|
104
108
|
-e HULY_WORKSPACE=yourworkspace \
|
|
@@ -131,6 +135,7 @@ Add with Command Palette → "MCP: Add Server", or put this in a VS Code MCP con
|
|
|
131
135
|
"command": "npx",
|
|
132
136
|
"args": ["-y", "@firfi/huly-mcp@latest"],
|
|
133
137
|
"env": {
|
|
138
|
+
"MCP_TRANSPORT": "stdio-resident",
|
|
134
139
|
"HULY_URL": "https://your-huly-instance.example.com",
|
|
135
140
|
"HULY_TOKEN": "your-huly-api-token",
|
|
136
141
|
"HULY_WORKSPACE": "yourworkspace"
|
|
@@ -168,6 +173,7 @@ Open the global configuration file (`~/.config/opencode/opencode.json`) and merg
|
|
|
168
173
|
"type": "local",
|
|
169
174
|
"command": ["npx", "-y", "@firfi/huly-mcp@latest"],
|
|
170
175
|
"environment": {
|
|
176
|
+
"MCP_TRANSPORT": "stdio-resident",
|
|
171
177
|
"HULY_URL": "https://your-huly-instance.example.com",
|
|
172
178
|
"HULY_TOKEN": "your-huly-api-token",
|
|
173
179
|
"HULY_WORKSPACE": "yourworkspace"
|
|
@@ -206,7 +212,7 @@ The `@latest` tag asks the package runner for the newest version. Some MCP clien
|
|
|
206
212
|
| **VS Code / Cursor** | Restart the MCP server from the command palette/configured client or reload the window |
|
|
207
213
|
| **OpenCode** | Restart OpenCode or start a new session after config changes |
|
|
208
214
|
| **Pi** | Run `/mcp reconnect huly`, then `/reload` if the registered direct-tool surface changed |
|
|
209
|
-
| **npx (manual)** | `npx -y @firfi/huly-mcp@latest` — the `-y` flag auto-confirms install prompts |
|
|
215
|
+
| **npx (manual)** | `MCP_TRANSPORT=stdio-resident npx -y @firfi/huly-mcp@latest` — the `-y` flag auto-confirms install prompts |
|
|
210
216
|
|
|
211
217
|
## Maintainer Production Release
|
|
212
218
|
|
|
@@ -220,6 +226,12 @@ Use this exact command even when a newer Node.js version is active on the host.
|
|
|
220
226
|
exact Node.js versions certified by CI; this is intentionally narrower than the package's runtime requirement. See
|
|
221
227
|
the [production release guide](docs/NPM_PRODUCTION_RELEASE.md) for preflight checks, rerun behavior, and verification.
|
|
222
228
|
|
|
229
|
+
## Shared resident stdio
|
|
230
|
+
|
|
231
|
+
The setup examples explicitly select `MCP_TRANSPORT=stdio-resident`. MCP clients still use stdio, while compatible clients under the same OS user share a Node backend through small native bridges. Linux and macOS arm64/x64 binaries are included; no Rust installation is needed. If the native bridge cannot run, startup falls back to ordinary stdio before accepting requests. A failed active resident never reconnects or replays requests.
|
|
232
|
+
|
|
233
|
+
Omitting `MCP_TRANSPORT` still selects ordinary `stdio`, preserving existing installations. Set `MCP_TRANSPORT=stdio` explicitly to keep a separate backend per client. Restart the MCP client after changing the setting.
|
|
234
|
+
|
|
223
235
|
## Manual resident backend
|
|
224
236
|
|
|
225
237
|
The experimental [manual resident backend path](docs/resident-manual.md) lets
|
|
@@ -270,7 +282,7 @@ Authorization: Bearer <MCP_AUTH_TOKEN>
|
|
|
270
282
|
|
|
271
283
|
### Shared CLI and stdio profiles
|
|
272
284
|
|
|
273
|
-
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.
|
|
285
|
+
Save a profile with `huly auth login --profile work`, then set `MCP_TRANSPORT=stdio-resident` and `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.
|
|
274
286
|
|
|
275
287
|
### Hosted HTTP Header Configuration
|
|
276
288
|
|
|
@@ -299,7 +311,7 @@ For a Smithery publish schema example, see [docs/SMITHERY_URL_PUBLISH.md](docs/S
|
|
|
299
311
|
| `HULY_PASSWORD` | Auth* | Compatibility fallback: account password |
|
|
300
312
|
| `HULY_WORKSPACE` | Yes | Workspace identifier |
|
|
301
313
|
| `HULY_CONNECTION_TIMEOUT` | No | Connection timeout in ms. Omit to use the package default. |
|
|
302
|
-
| `MCP_TRANSPORT` | No | Transport type: `stdio` (default) or `http` |
|
|
314
|
+
| `MCP_TRANSPORT` | No | Transport type: `stdio` (package default), `stdio-resident` (recommended in setup examples), or `http` |
|
|
303
315
|
| `MCP_PRELOAD_TOOLS` | No | Load every tool handler before serving requests. Defaults to `false`; use `true` for smoke tests that check all handler imports. |
|
|
304
316
|
| `MCP_HTTP_PORT` | No | HTTP server port (falls back to `PORT`, then 3000) |
|
|
305
317
|
| `MCP_HTTP_HOST` | No | HTTP server host. Omit to bind to the package default loopback host. |
|
|
@@ -1204,6 +1216,22 @@ When resolved tool exposure is `proxy`, clients see the built-in tools plus thes
|
|
|
1204
1216
|
|
|
1205
1217
|
<!-- tools:end -->
|
|
1206
1218
|
|
|
1219
|
+
## Building from source
|
|
1220
|
+
|
|
1221
|
+
Published packages include the native resident bridge; Rust is a build dependency.
|
|
1222
|
+
Source builds require Node.js, pnpm, Rustup, Python 3, and Bash. Prepare the pinned
|
|
1223
|
+
Rust toolchain, Zig linker, and cross-compilation SDK once:
|
|
1224
|
+
|
|
1225
|
+
```bash
|
|
1226
|
+
pnpm setup:native
|
|
1227
|
+
pnpm build
|
|
1228
|
+
pnpm test:native
|
|
1229
|
+
```
|
|
1230
|
+
|
|
1231
|
+
Build tools are kept in a platform-specific user cache, outside the checkout and
|
|
1232
|
+
published package. The bridge is a single Rust I/O loop; MCP protocol processing,
|
|
1233
|
+
authorization, and cancellation remain in the shared Node backend.
|
|
1234
|
+
|
|
1207
1235
|
## Troubleshooting
|
|
1208
1236
|
|
|
1209
1237
|
### Password fallback with special characters
|
|
@@ -1229,6 +1257,7 @@ For Claude JSON config, the shell-sensitive characters above can be written dire
|
|
|
1229
1257
|
"command": "npx",
|
|
1230
1258
|
"args": ["-y", "@firfi/huly-mcp@latest"],
|
|
1231
1259
|
"env": {
|
|
1260
|
+
"MCP_TRANSPORT": "stdio-resident",
|
|
1232
1261
|
"HULY_URL": "https://your-huly-instance.com",
|
|
1233
1262
|
"HULY_EMAIL": "you@example.com",
|
|
1234
1263
|
"HULY_PASSWORD": "p@ss*w0rd!#%",
|