@hailer/mcp 1.1.6 → 1.1.8

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.
@@ -2,7 +2,14 @@
2
2
  name: agent-helga-workflow-config
3
3
  description: Manages Hailer workspace configuration as infrastructure-as-code using SDK v0.8.4.
4
4
  model: sonnet
5
- tools: Bash, Read, Edit, Write, Glob, Skill, mcp__hailer__get_workflow_schema
5
+ tools:
6
+ bash: true
7
+ read: true
8
+ edit: true
9
+ write: true
10
+ glob: true
11
+ skill: true
12
+ mcp_hailer_get_workflow_schema: true
6
13
  skills:
7
14
  - SDK-ws-config-skill
8
15
  - SDK-generate-skill
@@ -0,0 +1 @@
1
+ 3031
package/.mcp.json CHANGED
@@ -2,10 +2,10 @@
2
2
  "mcpServers": {
3
3
  "hailer": {
4
4
  "type": "stdio",
5
- "command": "npx",
5
+ "command": "sh",
6
6
  "args": [
7
- "mcp-remote",
8
- "http://localhost:3030/api/mcp?apiKey=unique-api-key-for-this-agent"
7
+ "-c",
8
+ "PORT=$(cat .hailer-mcp-port 2>/dev/null || echo 3030) && npx mcp-remote \"http://localhost:$PORT/api/mcp?apiKey=unique-api-key-for-this-agent\""
9
9
  ],
10
10
  "env": {}
11
11
  }
@@ -2,7 +2,14 @@
2
2
  name: agent-helga-workflow-config
3
3
  description: Manages Hailer workspace configuration as infrastructure-as-code using SDK v0.8.4.
4
4
  model: sonnet
5
- tools: Bash, Read, Edit, Write, Glob, Skill, mcp__hailer__get_workflow_schema
5
+ tools:
6
+ bash: true
7
+ read: true
8
+ edit: true
9
+ write: true
10
+ glob: true
11
+ skill: true
12
+ mcp_hailer_get_workflow_schema: true
6
13
  skills:
7
14
  - SDK-ws-config-skill
8
15
  - SDK-generate-skill
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.1.7] - 18-02-2026
8
+
9
+ ### Fix
10
+
11
+ - Fixed `agent-helga-workflow-config.md` file format to ensure OpenCode compatibility
12
+
7
13
  ## [0.2.5] - 22-01-2026
8
14
 
9
15
  ### Added
@@ -15,6 +21,7 @@ Download file attachments from Hailer activities. Useful for processing uploaded
15
21
  ```
16
22
  download_file(file_id, activity_id)
17
23
  ```
24
+
18
25
  - Returns content directly in response or saves to disk
19
26
  - Auto-detects text (utf8) vs binary (base64)
20
27
 
@@ -38,12 +45,14 @@ No more switching to docs - everything is accessible inline.
38
45
  Share and install community-built agents, skills, and hooks.
39
46
 
40
47
  How it works:
48
+
41
49
  1. The marketplace is a separate git repo with community plugins
42
50
  2. `/marketplace-setup` clones it locally to `./hailer-marketplace/`
43
51
  3. `/install-plugin <name>` copies plugin files to your `.claude/` folder
44
52
  4. Restart Claude Code to load the new plugin
45
53
 
46
54
  New commands:
55
+
47
56
  - `/marketplace-setup` - Clone the marketplace repo locally
48
57
  - `/list-plugins` - Browse available plugins
49
58
  - `/install-plugin <name>` - Install a plugin to `.claude/`
@@ -51,12 +60,14 @@ New commands:
51
60
  - `/publish-plugin` - Submit your plugin to the marketplace
52
61
 
53
62
  New agents:
63
+
54
64
  - `agent-marketplace-publisher` - creates PRs to publish your plugins
55
65
  - `agent-marketplace-reviewer` - auto-reviews and merges marketplace PRs
56
66
 
57
67
  ### Changed
58
68
 
59
69
  **Orchestrator Improvements**
70
+
60
71
  - Delegation protocol now has bootstrap exception
61
72
  - Agent-chaining: agents can trigger follow-up agents automatically
62
73
 
@@ -68,6 +79,7 @@ New agents:
68
79
  Language Server Protocol provides code intelligence - go to definition, find references, hover for types. Lars uses this to find dead code, unused imports, and navigate TypeScript/JavaScript codebases.
69
80
 
70
81
  **Setup:**
82
+
71
83
  ```bash
72
84
  /marketplace-setup # Clone marketplace (one time)
73
85
  /install-plugin lars-code-inspector # Install LSP config
@@ -75,6 +87,7 @@ claude -c # Restart to activate
75
87
  ```
76
88
 
77
89
  What this does:
90
+
78
91
  - Installs `.lsp.json` to Claude's plugin cache
79
92
  - Sets `ENABLE_LSP_TOOL=1` in `.claude/settings.json`
80
93
  - Sets `ENABLE_LSP_TOOL=1` in `.env`
package/dist/app.js CHANGED
@@ -80,42 +80,47 @@ core.addTool(app_1.getProductManifestTool);
80
80
  core.addTool(app_1.publishAppTool);
81
81
  core.addTool(app_1.installMarketplaceAppTool);
82
82
  // Bot-internal tools - dynamically imported only when MCP_CLIENT_ENABLED=true
83
- // This allows npm package to work without bot-config and bug-fixer modules
83
+ // Wrapped in try/catch so global installs work (bot-config excluded from npm package)
84
84
  if (config_1.environment.MCP_CLIENT_ENABLED) {
85
- // Dynamic import bot-config tools
86
- const { listBotsConfigTool, enableBotTool, disableBotTool, checkSpecialistStatusTool } = require('./bot-config');
87
- core.addTool(listBotsConfigTool);
88
- core.addTool(enableBotTool);
89
- core.addTool(disableBotTool);
90
- core.addTool(checkSpecialistStatusTool);
91
- // Dynamic import bug-fixer tools
92
- const {
93
- // Low-level tools
94
- bugFixerFindAppTool, bugFixerListFilesTool, bugFixerReadFileTool, bugFixerWriteFileTool, bugFixerApplyFixTool, bugFixerRunBuildTool, bugFixerGitStatusTool, bugFixerGitPullTool, bugFixerGitCommitTool, bugFixerGitPushTool, bugFixerGitRevertTool, bugFixerPublishAppTool,
95
- // High-level workflow tools (LLM-driven)
96
- bugFixerAnalyzeBugTool, bugFixerStartFixTool, bugFixerMarkDeclinedTool, bugFixerPublishFixTool, bugFixerRetryFixTool, markBugDeclinedTool, markBugFixedTool } = require('./plugins/bug-fixer');
97
- // Low-level tools
98
- core.addTool(bugFixerFindAppTool);
99
- core.addTool(bugFixerListFilesTool);
100
- core.addTool(bugFixerReadFileTool);
101
- core.addTool(bugFixerWriteFileTool);
102
- core.addTool(bugFixerApplyFixTool);
103
- core.addTool(bugFixerRunBuildTool);
104
- core.addTool(bugFixerGitStatusTool);
105
- core.addTool(bugFixerGitPullTool);
106
- core.addTool(bugFixerGitCommitTool);
107
- core.addTool(bugFixerGitPushTool);
108
- core.addTool(bugFixerGitRevertTool);
109
- core.addTool(bugFixerPublishAppTool);
110
- // High-level workflow tools (LLM-driven)
111
- core.addTool(bugFixerAnalyzeBugTool);
112
- core.addTool(bugFixerStartFixTool);
113
- core.addTool(bugFixerMarkDeclinedTool);
114
- core.addTool(bugFixerPublishFixTool);
115
- core.addTool(bugFixerRetryFixTool);
116
- core.addTool(markBugDeclinedTool);
117
- core.addTool(markBugFixedTool);
118
- logger.debug('Bot-internal tools registered (MCP_CLIENT_ENABLED=true)');
85
+ try {
86
+ // Dynamic import bot-config tools
87
+ const { listBotsConfigTool, enableBotTool, disableBotTool, checkSpecialistStatusTool } = require('./bot-config');
88
+ core.addTool(listBotsConfigTool);
89
+ core.addTool(enableBotTool);
90
+ core.addTool(disableBotTool);
91
+ core.addTool(checkSpecialistStatusTool);
92
+ // Dynamic import bug-fixer tools
93
+ const {
94
+ // Low-level tools
95
+ bugFixerFindAppTool, bugFixerListFilesTool, bugFixerReadFileTool, bugFixerWriteFileTool, bugFixerApplyFixTool, bugFixerRunBuildTool, bugFixerGitStatusTool, bugFixerGitPullTool, bugFixerGitCommitTool, bugFixerGitPushTool, bugFixerGitRevertTool, bugFixerPublishAppTool,
96
+ // High-level workflow tools (LLM-driven)
97
+ bugFixerAnalyzeBugTool, bugFixerStartFixTool, bugFixerMarkDeclinedTool, bugFixerPublishFixTool, bugFixerRetryFixTool, markBugDeclinedTool, markBugFixedTool } = require('./plugins/bug-fixer');
98
+ // Low-level tools
99
+ core.addTool(bugFixerFindAppTool);
100
+ core.addTool(bugFixerListFilesTool);
101
+ core.addTool(bugFixerReadFileTool);
102
+ core.addTool(bugFixerWriteFileTool);
103
+ core.addTool(bugFixerApplyFixTool);
104
+ core.addTool(bugFixerRunBuildTool);
105
+ core.addTool(bugFixerGitStatusTool);
106
+ core.addTool(bugFixerGitPullTool);
107
+ core.addTool(bugFixerGitCommitTool);
108
+ core.addTool(bugFixerGitPushTool);
109
+ core.addTool(bugFixerGitRevertTool);
110
+ core.addTool(bugFixerPublishAppTool);
111
+ // High-level workflow tools (LLM-driven)
112
+ core.addTool(bugFixerAnalyzeBugTool);
113
+ core.addTool(bugFixerStartFixTool);
114
+ core.addTool(bugFixerMarkDeclinedTool);
115
+ core.addTool(bugFixerPublishFixTool);
116
+ core.addTool(bugFixerRetryFixTool);
117
+ core.addTool(markBugDeclinedTool);
118
+ core.addTool(markBugFixedTool);
119
+ logger.debug('Bot-internal tools registered (MCP_CLIENT_ENABLED=true)');
120
+ }
121
+ catch {
122
+ logger.warn('Bot modules not available (normal for npm package installs)');
123
+ }
119
124
  }
120
125
  logger.debug('All tools registered successfully');
121
126
  // Start the application
package/dist/cli.js CHANGED
@@ -1,5 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ // Parse port before loading app (which reads process.env.PORT)
5
+ // Supports: hailer-mcp --port 3031 | hailer-mcp -p 3031 | npm run mcp-start --port=3031
6
+ const args = process.argv.slice(2);
7
+ for (let i = 0; i < args.length; i++) {
8
+ if ((args[i] === '--port' || args[i] === '-p') && args[i + 1]) {
9
+ process.env.PORT = args[i + 1];
10
+ break;
11
+ }
12
+ }
13
+ // npm run mcp-start --port=3031 sets npm_config_port in env
14
+ if (!process.env.PORT && process.env.npm_config_port) {
15
+ process.env.PORT = process.env.npm_config_port;
16
+ }
4
17
  require("./app");
5
18
  //# sourceMappingURL=cli.js.map
@@ -474,6 +474,12 @@ class MCPServerService {
474
474
  healthCheck: `http://localhost:${port}/health`,
475
475
  mcpEndpoint: `http://localhost:${port}/api/mcp`
476
476
  });
477
+ // Write port file so .mcp.json can dynamically connect
478
+ const fs = require('fs');
479
+ const path = require('path');
480
+ const portFile = path.join(process.cwd(), '.hailer-mcp-port');
481
+ fs.writeFileSync(portFile, String(port));
482
+ this.logger.debug('Port file written', { portFile, port });
477
483
  resolve();
478
484
  });
479
485
  this.server.on('error', (error) => {
@@ -0,0 +1 @@
1
+ [2026-02-16T05:32:29.204Z] agent-giuseppe-app-builder | skill | hailer-mcp | \"Field '{fieldLabel}' expects Unix ms timestamp (number), got: '{value}'. Convert the date to milliseconds first.\"\n```\n\n**Important:**\n- Read th
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hailer/mcp",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "config": {
5
5
  "docker": {
6
6
  "registry": "registry.gitlab.com/hailer-repos/hailer-mcp"
@@ -1 +0,0 @@
1
- {"sessionId":"bbf0750e-f087-436f-b281-a69e09d13b04","toolCalls":1,"compactCount":0,"lastWarning":"none","stopBlocks":0}
@@ -1 +0,0 @@
1
- 2026-02-13T07:47:04.846Z
package/inbox/usage.jsonl DELETED
@@ -1 +0,0 @@
1
- {"ts":"2026-02-13T08:23:26.264Z","agent":"general-purpose","status":"unknown","project":"hailer-mcp","description":"Convert new agents to OpenCode"}