@brxce/mcp-server 1.1.16 → 1.1.17

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 CHANGED
@@ -41,6 +41,46 @@ Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_
41
41
  - `BACKEND_URL`: Custom backend URL (default: Production)
42
42
  - `MCP_DEBUG`: Enable debug logging (default: false)
43
43
 
44
+ ## Agent Skill (Best-Practice Playbook)
45
+
46
+ This package ships a portable agent skill (`brxce-mcp`) that documents the
47
+ 89 BRXCE MCP tools, the 5 core principles, common workflows, and every
48
+ known footgun. It works in both **Claude Code** and **OpenClaw** via the
49
+ [AgentSkills](https://agentskills.io) standard.
50
+
51
+ ### Install
52
+
53
+ ```bash
54
+ # Auto-detect Claude Code and/or OpenClaw and install the skill there
55
+ npx @brxce/mcp-server install-skill
56
+
57
+ # Force a specific target
58
+ npx @brxce/mcp-server install-skill --target=claude
59
+ npx @brxce/mcp-server install-skill --target=openclaw
60
+ npx @brxce/mcp-server install-skill --target=both
61
+
62
+ # Overwrite an existing skill directory
63
+ npx @brxce/mcp-server install-skill --force
64
+ ```
65
+
66
+ ### What it installs
67
+
68
+ - `~/.claude/skills/brxce-mcp/` (Claude Code)
69
+ - `~/.openclaw/workspace/skills/brxce-mcp/` (OpenClaw)
70
+
71
+ Each location receives a copy of `SKILL.md` plus the `references/`
72
+ directory (workflows, tool selection, footguns, error recovery).
73
+
74
+ ### After installing
75
+
76
+ Restart your agent so the skills cache picks up the new files:
77
+
78
+ - **Claude Code**: end the session and start a new one
79
+ - **OpenClaw**: `openclaw gateway restart`
80
+
81
+ The skill is version-locked with the MCP server it ships with. When you
82
+ upgrade `@brxce/mcp-server`, re-run `install-skill` to refresh the docs.
83
+
44
84
  ## Development
45
85
 
46
86
  ### 1. Build the server
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAwDA,wBAAsB,SAAS,kBAmL9B;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBAG/C;AAED,eAAO,MAAM,gBAAgB,eAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAwDA,wBAAsB,SAAS,kBAmL9B;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBAG/C;AAiCD,eAAO,MAAM,gBAAgB,eAAa,CAAA"}
package/dist/index.js CHANGED
@@ -218,5 +218,33 @@ export async function handleFatal(error) {
218
218
  console.error('[MCP] Fatal error:', error);
219
219
  process.exit(1);
220
220
  }
221
- export const bootstrapPromise = bootstrap().catch(handleFatal);
221
+ async function dispatch() {
222
+ const subcommand = process.argv[2];
223
+ if (subcommand === 'install-skill') {
224
+ const { runInstallSkill } = await import('./install-skill.js');
225
+ try {
226
+ await runInstallSkill();
227
+ process.exit(0);
228
+ }
229
+ catch (error) {
230
+ console.error('install-skill failed:', error instanceof Error ? error.message : error);
231
+ process.exit(1);
232
+ }
233
+ return;
234
+ }
235
+ if (subcommand === '--help' || subcommand === '-h') {
236
+ console.log(`@brxce/mcp-server — BRXCE Model Context Protocol server
237
+
238
+ Usage:
239
+ brxce-mcp Start the MCP server (stdio transport)
240
+ brxce-mcp install-skill [opts] Install the BRXCE MCP agent skill
241
+ brxce-mcp --help Show this help
242
+
243
+ Run 'brxce-mcp install-skill --help' for skill installer options.
244
+ `);
245
+ process.exit(0);
246
+ }
247
+ await bootstrap().catch(handleFatal);
248
+ }
249
+ export const bootstrapPromise = dispatch();
222
250
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * install-skill subcommand
3
+ *
4
+ * Copies the bundled `skills/brxce-mcp/` directory into one or more agent
5
+ * skill roots. Detects Claude Code and OpenClaw automatically and falls
6
+ * back to flag-based selection (--target=claude|openclaw|both).
7
+ *
8
+ * Usage:
9
+ * npx @brxce/mcp-server install-skill
10
+ * npx @brxce/mcp-server install-skill --target=claude
11
+ * npx @brxce/mcp-server install-skill --target=openclaw
12
+ * npx @brxce/mcp-server install-skill --force
13
+ */
14
+ export declare function runInstallSkill(argv?: string[]): Promise<void>;
15
+ //# sourceMappingURL=install-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../src/install-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmHH,wBAAsB,eAAe,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA2D3F"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * install-skill subcommand
3
+ *
4
+ * Copies the bundled `skills/brxce-mcp/` directory into one or more agent
5
+ * skill roots. Detects Claude Code and OpenClaw automatically and falls
6
+ * back to flag-based selection (--target=claude|openclaw|both).
7
+ *
8
+ * Usage:
9
+ * npx @brxce/mcp-server install-skill
10
+ * npx @brxce/mcp-server install-skill --target=claude
11
+ * npx @brxce/mcp-server install-skill --target=openclaw
12
+ * npx @brxce/mcp-server install-skill --force
13
+ */
14
+ import { promises as fs } from 'node:fs';
15
+ import { existsSync } from 'node:fs';
16
+ import { homedir } from 'node:os';
17
+ import { dirname, join, resolve } from 'node:path';
18
+ import { fileURLToPath } from 'node:url';
19
+ const SKILL_NAME = 'brxce-mcp';
20
+ // dist/install-skill.js → ../skills/brxce-mcp
21
+ const __filename = fileURLToPath(import.meta.url);
22
+ const __dirname = dirname(__filename);
23
+ const SKILL_SOURCE = resolve(__dirname, '..', 'skills', SKILL_NAME);
24
+ function detectTargets() {
25
+ const home = homedir();
26
+ return [
27
+ {
28
+ name: 'Claude Code',
29
+ root: join(home, '.claude', 'skills'),
30
+ exists: existsSync(join(home, '.claude')),
31
+ },
32
+ {
33
+ name: 'OpenClaw',
34
+ root: join(home, '.openclaw', 'workspace', 'skills'),
35
+ exists: existsSync(join(home, '.openclaw')),
36
+ },
37
+ ];
38
+ }
39
+ function parseFlags(argv) {
40
+ let target = 'auto';
41
+ let force = false;
42
+ for (const arg of argv) {
43
+ if (arg.startsWith('--target=')) {
44
+ const value = arg.slice('--target='.length);
45
+ if (value === 'claude' || value === 'openclaw' || value === 'both') {
46
+ target = value;
47
+ }
48
+ else {
49
+ throw new Error(`Invalid --target value: ${value}. Use claude | openclaw | both.`);
50
+ }
51
+ }
52
+ else if (arg === '--force' || arg === '-f') {
53
+ force = true;
54
+ }
55
+ else if (arg === '--help' || arg === '-h') {
56
+ printHelp();
57
+ process.exit(0);
58
+ }
59
+ }
60
+ return { target, force };
61
+ }
62
+ function printHelp() {
63
+ console.log(`brxce-mcp install-skill — install the BRXCE MCP skill
64
+
65
+ Usage:
66
+ npx @brxce/mcp-server install-skill [options]
67
+
68
+ Options:
69
+ --target=<name> claude | openclaw | both (default: auto-detect)
70
+ --force, -f Overwrite existing skill directory
71
+ --help, -h Show this help
72
+
73
+ Examples:
74
+ npx @brxce/mcp-server install-skill
75
+ npx @brxce/mcp-server install-skill --target=claude
76
+ npx @brxce/mcp-server install-skill --target=both --force
77
+ `);
78
+ }
79
+ async function copyDir(src, dest) {
80
+ await fs.mkdir(dest, { recursive: true });
81
+ const entries = await fs.readdir(src, { withFileTypes: true });
82
+ for (const entry of entries) {
83
+ const srcPath = join(src, entry.name);
84
+ const destPath = join(dest, entry.name);
85
+ if (entry.isDirectory()) {
86
+ await copyDir(srcPath, destPath);
87
+ }
88
+ else if (entry.isFile()) {
89
+ await fs.copyFile(srcPath, destPath);
90
+ }
91
+ }
92
+ }
93
+ async function installToTarget(target, force) {
94
+ if (!target.exists) {
95
+ console.log(` ⏭ ${target.name}: not detected at ${target.root.replace(homedir(), '~')}`);
96
+ return false;
97
+ }
98
+ const dest = join(target.root, SKILL_NAME);
99
+ const destExists = existsSync(dest);
100
+ if (destExists && !force) {
101
+ console.log(` ⚠ ${target.name}: ${dest.replace(homedir(), '~')} already exists. Use --force to overwrite.`);
102
+ return false;
103
+ }
104
+ if (destExists) {
105
+ await fs.rm(dest, { recursive: true, force: true });
106
+ }
107
+ await copyDir(SKILL_SOURCE, dest);
108
+ console.log(` ✔ ${target.name}: installed to ${dest.replace(homedir(), '~')}`);
109
+ return true;
110
+ }
111
+ export async function runInstallSkill(argv = process.argv.slice(3)) {
112
+ const { target, force } = parseFlags(argv);
113
+ if (!existsSync(SKILL_SOURCE)) {
114
+ throw new Error(`Skill source not found at ${SKILL_SOURCE}. ` +
115
+ `This usually means the npm package was built without the skills/ directory bundled.`);
116
+ }
117
+ console.log(`Installing BRXCE MCP skill from ${SKILL_SOURCE.replace(homedir(), '~')}`);
118
+ console.log();
119
+ const allTargets = detectTargets();
120
+ let chosen;
121
+ if (target === 'claude') {
122
+ chosen = allTargets.filter((t) => t.name === 'Claude Code');
123
+ }
124
+ else if (target === 'openclaw') {
125
+ chosen = allTargets.filter((t) => t.name === 'OpenClaw');
126
+ }
127
+ else if (target === 'both') {
128
+ chosen = allTargets;
129
+ }
130
+ else {
131
+ // auto: install to all detected
132
+ chosen = allTargets.filter((t) => t.exists);
133
+ if (chosen.length === 0) {
134
+ console.log('No supported skill roots detected.');
135
+ console.log('Expected one of:');
136
+ for (const t of allTargets) {
137
+ console.log(` - ${t.name}: ${t.root.replace(homedir(), '~')}`);
138
+ }
139
+ console.log();
140
+ console.log('Use --target=claude or --target=openclaw to force a specific target.');
141
+ process.exit(1);
142
+ }
143
+ }
144
+ let installed = 0;
145
+ for (const t of chosen) {
146
+ // For explicit --target, skip the existence check (force install dir creation)
147
+ if (target !== 'auto' && !t.exists) {
148
+ console.log(` ℹ ${t.name}: target directory will be created at ${t.root.replace(homedir(), '~')}`);
149
+ }
150
+ const effective = target === 'auto' ? t : { ...t, exists: true };
151
+ const ok = await installToTarget(effective, force);
152
+ if (ok)
153
+ installed++;
154
+ }
155
+ console.log();
156
+ if (installed === 0) {
157
+ console.log('No skills were installed.');
158
+ process.exit(1);
159
+ }
160
+ console.log(`✔ Installed BRXCE MCP skill to ${installed} location(s).`);
161
+ console.log();
162
+ console.log('Restart your agent to refresh the skills cache:');
163
+ console.log(' - Claude Code: end the session and start a new one');
164
+ console.log(' - OpenClaw: openclaw gateway restart');
165
+ }
166
+ //# sourceMappingURL=install-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../src/install-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,UAAU,GAAG,WAAW,CAAA;AAE9B,8CAA8C;AAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AAQnE,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,OAAO;QACL;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;YACrC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC1C;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC;YACpD,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;SAC5C;KACF,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,IAAI,MAAM,GAA4C,MAAM,CAAA;IAC5D,IAAI,KAAK,GAAG,KAAK,CAAA;IAEjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAC3C,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnE,MAAM,GAAG,KAAK,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,iCAAiC,CAAC,CAAA;YACpF,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,SAAS,EAAE,CAAA;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;CAcb,CAAC,CAAA;AACF,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY;IAC9C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAqB,EAAE,KAAc;IAClE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,qBAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAEnC,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,4CAA4C,CAAC,CAAA;QAC7G,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,MAAM,CAAC,IAAI,kBAAkB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAChF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAE1C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,6BAA6B,YAAY,IAAI;YAC3C,qFAAqF,CACxF,CAAA;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mCAAmC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IACtF,OAAO,CAAC,GAAG,EAAE,CAAA;IAEb,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,IAAI,MAAuB,CAAA;IAE3B,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAA;IAC7D,CAAC;SAAM,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA;IAC1D,CAAC;SAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,UAAU,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;YACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;YAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;YACjE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAA;YACb,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAA;YACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,+EAA+E;QAC/E,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,yCAAyC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QACtG,CAAC;QACD,MAAM,SAAS,GAAkB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAC/E,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAClD,IAAI,EAAE;YAAE,SAAS,EAAE,CAAA;IACrB,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,SAAS,eAAe,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,EAAE,CAAA;IACb,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;IAC9D,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;IACnE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;AAC1D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brxce/mcp-server",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "Model Context Protocol (MCP) server for BRXCE workspace management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -9,6 +9,7 @@
9
9
  },
10
10
  "files": [
11
11
  "dist",
12
+ "skills",
12
13
  "README.md",
13
14
  "package.json"
14
15
  ],
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: brxce-mcp
3
+ description: BRXCE MCP 89개 툴을 효율적·안전하게 사용하기 위한 가이드. 워크노드 CRUD, 태그/회의/알림 관리, AC(Acceptance Criteria) 강제, batch 처리, 캐시 일관성 등 BRXCE 관련 모든 작업에 사용. 인박스 정리, 일일 보고, 이슈 트리아지, GitHub 이슈/PR 동기화, 워크노드 검색, 멤버별 작업 조회, 미팅 노트 작성 등 BRXCE 워크스페이스 작업이 필요할 때 자동으로 활성화하고 필요하면 `/brxce-mcp`로 직접 호출 가능.
4
+ license: MIT
5
+ compatibility: Designed for Claude Code and OpenClaw via the AgentSkills standard. Requires @brxce/mcp-server >= 1.1.16.
6
+ metadata:
7
+ author: BRXCE Team
8
+ version: "1.0.0"
9
+ brxce:
10
+ minMcpVersion: "1.1.16"
11
+ backend: "https://brxce-backend-production-1013529945435.asia-northeast3.run.app"
12
+ ---
13
+
14
+ # BRXCE MCP — Best-Practice Playbook
15
+
16
+ 89개의 BRXCE MCP 툴을 효율적이고 안전하게 사용하기 위한 가이드. 1.1.16까지의 21+개 안정화 fix 전수 검증 결과를 기반으로 작성됨.
17
+
18
+ ## 5대 핵심 원칙
19
+
20
+ 이 5가지는 BRXCE MCP 사용 시 거의 항상 적용된다.
21
+
22
+ ### 1. preview는 기본 true — 명시적으로 끄기
23
+
24
+ `brxce_create_worknodes`, `brxce_update_worknodes`, `brxce_create_meeting`은 모두 `preview: true`가 기본값이다 (안전장치). 실제 생성/수정을 원하면 **반드시 `preview: false` 명시**.
25
+
26
+ ```ts
27
+ // ❌ dry run으로 끝남
28
+ brxce_create_worknodes({ worknodes: [...] })
29
+
30
+ // ✅ 실제 생성
31
+ brxce_create_worknodes({ worknodes: [...], preview: false })
32
+ ```
33
+
34
+ ### 2. workspaceId는 한 번만 — 컨텍스트가 자동 전파됨
35
+
36
+ `brxce_read_worknodes`나 `brxce_workspace_overview`로 한 번 workspaceId를 명시하면, MCP 서버가 컨텍스트에 저장한다. 이후 displayId(`#5723`) 기반 호출은 workspaceId 생략 가능.
37
+
38
+ UUID 기반 호출은 globally unique이므로 workspaceId 없이도 동작한다 (1.1.16부터 `get_worknode_tags` 등에서 자동 fallback resolution).
39
+
40
+ ### 3. UUID는 worknodeIds, displayId는 query
41
+
42
+ `brxce_read_worknodes` / `brxce_worknode_detail` 호출 시:
43
+ - **UUID 입력** → `worknodeIds: [uuid]` 또는 `nodeIds: [uuid]` (alias)
44
+ - **displayId 입력** (`#5723`, `5723`, `WS-5723`) → `query: "#5723"` 또는 `displayId: 5723`
45
+
46
+ UUID를 `query`로 넣으면 백엔드는 title 검색만 하므로 0건 반환한다 (#1101 패턴).
47
+
48
+ ### 4. task / subtask는 acceptance_criteria 필수
49
+
50
+ 백엔드가 강제한다 (#1079). task/subtask 생성 시 최소 1개의 AC가 없으면 400 에러. 단순한 보고용 메모는 `nodeType: note`를 사용하면 AC 없이 가능.
51
+
52
+ ```ts
53
+ brxce_create_worknodes({
54
+ worknodes: [{
55
+ title: "API 인증 미들웨어 구현",
56
+ nodeType: "task",
57
+ acceptance_criteria: [
58
+ { title: "POST /auth/login 200 응답" },
59
+ { title: "잘못된 토큰은 401 반환" },
60
+ ],
61
+ }],
62
+ preview: false,
63
+ })
64
+ ```
65
+
66
+ ### 5. batch가 가능하면 batch_actions 사용
67
+
68
+ N개 워크노드에 같은 action을 적용할 때 `brxce_batch_actions`(complete/archive/unarchive/delete/move/update-status/update-priority)나 `brxce_batch_assign` / `brxce_batch_assign_tags` 사용. N+1 update 호출은 피한다.
69
+
70
+ ## 자주 쓰는 워크플로우 (요약)
71
+
72
+ 상세 단계는 [references/workflows.md](references/workflows.md) 참고.
73
+
74
+ | 시나리오 | 핵심 흐름 |
75
+ |---------|----------|
76
+ | 인박스 정리 | `workspace_inbox` → `batch_actions(action: archive/move)` |
77
+ | 일일 보고 | `daily_report` → `goal_progress` → 댓글/노트 정리 |
78
+ | 이슈 트리아지 | `read_worknodes(query)` → 우선순위/assignee 일괄 변경 → 태그 |
79
+ | GitHub 이슈 동기화 | `create_worknodes(task + AC)` → tag `issue-created` 부착 |
80
+ | 회의 준비 | `create_meeting(preview:true → false)` → `add_agenda_item` → `add_meeting_note` |
81
+ | 멤버별 작업 검토 | `worknodes_by_member(memberId or userId)` → `complete_worknode` |
82
+ | 태그 청소 | `get_tag_stats` → 미사용 태그 `delete_tag` |
83
+
84
+ ## 도구 선택 가이드 (요약)
85
+
86
+ 89개 툴의 카테고리별 대표 도구. 상세 분류는 [references/tool-selection.md](references/tool-selection.md) 참고.
87
+
88
+ | 카테고리 | 대표 툴 | 용도 |
89
+ |---------|--------|-----|
90
+ | 워크스페이스 | `workspace_overview`, `workspace_statistics`, `global_overview` | 트리/통계/전사 |
91
+ | 워크노드 R | `read_worknodes`, `worknode_detail`, `worknode_subtree`, `worknode_history` | 검색/상세/하위/히스토리 |
92
+ | 워크노드 W | `create_worknodes`, `update_worknodes`, `move_worknode`, `complete_worknode` | CRUD + 이동/완료 |
93
+ | 워크노드 일괄 | `batch_actions`, `batch_assign`, `batch_assign_tags`, `archive_worknodes` | bulk 처리 |
94
+ | 정렬/필터 | `filter_worknodes`, `find_worknodes_by_tags`, `worknodes_by_member`, `my_work` | 조건 검색 |
95
+ | 태그 | `list_tags`, `create_tag`, `add_tags_to_worknode`, `tag_changes` | 태그 시스템 |
96
+ | 회의 | `create_meeting`, `add_agenda_item`, `add_meeting_note`, `add_meeting_decision` | 미팅 사이클 |
97
+ | 알림 | `list_notifications`, `mark_all_notifications_read`, `delete_notification` | 인박스 |
98
+ | 댓글/AC | `create_comment`, `create_criteria`, `update_criteria` | 협업/검수 |
99
+ | 반복 | `create_recurring_template`, `list_recurring_templates` | RRULE 기반 자동 생성 |
100
+ | 첨부 | `list_attachments`, `upload_attachment`, `download_attachment` | 파일 |
101
+ | 분석 | `daily_report`, `goal_progress`, `workspace_delta`, `plan_organize` | 보고/델타 |
102
+ | 사용자 | `search_users`, `list_workspace_members` | 멤버 조회 |
103
+
104
+ ## 함정 (footguns)
105
+
106
+ 이번 세션 안정화 전 발견된 모든 함정 + 1.1.16에서 수정된 것은 [references/footguns.md](references/footguns.md). 핵심:
107
+
108
+ - `workspace_delta`는 sinceVersion=0이면 800KB+ 가능 → `maxChanges` 명시 (default 50)
109
+ - `batch_assign`이 0/N으로 silent fail하던 시기 있었음 — 1.1.15+에서 정상 메시지
110
+ - `permanent_delete` 직후 `workspace_inbox`는 캐시 invalidation 필요 — 1.1.16+에서 자동
111
+ - harness가 array 파라미터를 첫 호출에서 string으로 보내는 경우가 있음 — schema 로드 후 재시도
112
+ - 인박스가 회의 분량으로 비대 → `workspace_inbox` 응답 50건 cap
113
+
114
+ ## 에러 복구
115
+
116
+ 상세는 [references/error-recovery.md](references/error-recovery.md). 빠른 참조:
117
+
118
+ | HTTP | 의미 | 즉각 액션 |
119
+ |------|------|----------|
120
+ | 401 | 토큰 만료 | `${BRXCE_API_TOKEN}` 갱신 — MCP 서버 재시작 |
121
+ | 403 | 권한 없음 | workspaceId가 본인 owner인지 확인 |
122
+ | 404 | 리소스 없음 / 라우트 없음 | UUID 정확성 + MCP 서버 버전 (>=1.1.16) 확인 |
123
+ | 410 | Gone (#1021로 제거된 기능) | invitation/workspace_member 툴 — 사용 중단 |
124
+ | 500 + Prisma | 백엔드 raw SQL 버그 | 재시도 후 GitHub 이슈 |
125
+ | `Network error: Server error` | api-client 5xx wrap | 1.1.13 미만 사용 중 — 업데이트 |
126
+
127
+ ## 안전 규칙
128
+
129
+ - **테스트 데이터**: 항상 `[테스트]` prefix + `note` 타입 + 끝나면 `permanent_delete_worknode`
130
+ - **대량 변경**: `preview: true` 한 번 → 결과 검토 → `preview: false`
131
+ - **삭제**: soft delete(`delete_worknode`)는 idempotent. permanent delete는 owner만 가능 + cascade
132
+ - **인박스 stale 데이터**: deletion 후 inbox에 잔존하면 1회 한정 (cache pre-fix data). 1.1.16부터는 invalidation 자동
133
+
134
+ ## MCP 서버 버전 의존성
135
+
136
+ - **>= 1.1.16 권장** — 이 skill의 모든 권고가 동작하는 최소 버전
137
+ - **>= 1.1.13** — 대부분 동작하지만 일부 cache/route 미수정
138
+ - **< 1.1.10** — 사용 비추천 (응답 파싱, 5xx 처리, slug 자동 생성 등 다수 fix 누락)
139
+
140
+ 업데이트: `npm install -g @brxce/mcp-server@latest` 후 Claude Code / OpenClaw 재시작.
141
+
142
+ ## 더 알아보기
143
+
144
+ - [references/workflows.md](references/workflows.md) — 실제 사용 패턴 카탈로그
145
+ - [references/tool-selection.md](references/tool-selection.md) — 89 툴 전체 분류 + 결정 트리
146
+ - [references/footguns.md](references/footguns.md) — 함정 카탈로그
147
+ - [references/error-recovery.md](references/error-recovery.md) — 에러 코드별 복구