@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 +40 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -1
- package/dist/index.js.map +1 -1
- package/dist/install-skill.d.ts +15 -0
- package/dist/install-skill.d.ts.map +1 -0
- package/dist/install-skill.js +166 -0
- package/dist/install-skill.js.map +1 -0
- package/package.json +2 -1
- package/skills/brxce-mcp/SKILL.md +147 -0
- package/skills/brxce-mcp/references/error-recovery.md +274 -0
- package/skills/brxce-mcp/references/footguns.md +277 -0
- package/skills/brxce-mcp/references/tool-selection.md +245 -0
- package/skills/brxce-mcp/references/workflows.md +274 -0
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brxce/mcp-server",
|
|
3
|
-
"version": "1.1.
|
|
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) — 에러 코드별 복구
|