killbottleneck-mcp
Advanced tools
+26
-9
@@ -21,10 +21,21 @@ #!/usr/bin/env node | ||
| const API_KEY = process.env.KB_API_KEY || process.env.FLOWMAP_API_KEY || ''; | ||
| if (!URL_BASE || !/^https?:\/\//.test(URL_BASE)) { | ||
| console.error('killbottleneck-mcp: missing/invalid KB_URL (e.g. http://localhost:8090)'); | ||
| process.exit(1); | ||
| // Konfigurace se NEkontroluje ukončením procesu (Richard 16. 8. 2026). Server bez | ||
| // KB_URL/KB_API_KEY normálně naběhne a nabídne seznam nástrojů — teprve VOLÁNÍ | ||
| // nástroje řekne, co chybí. Dva důvody: (a) klient (Claude Desktop) ukazoval | ||
| // server, který se hned ukončil, jako rozbitý, místo aby řekl co doplnit; | ||
| // (b) katalogy MCP serverů si server spouštějí bez konfigurace a ptají se ho na | ||
| // nástroje — okamžitý exit = neprojde kontrolou. | ||
| const CHYBI_KONFIG = [ | ||
| (!URL_BASE || !/^https?:\/\//.test(URL_BASE)) | ||
| ? 'KB_URL is missing or invalid (e.g. http://localhost:8090 or https://company.killbottleneck.com)' | ||
| : null, | ||
| // PŘECHOD: staré fm_user_ klíče dál platí | ||
| !/^(?:kb|fm)_user_[A-Za-z0-9]+$/.test(API_KEY) | ||
| ? 'KB_API_KEY is missing or invalid (kb_user_…) — create one in the app under "API keys"' | ||
| : null, | ||
| ].filter(Boolean); | ||
| if (CHYBI_KONFIG.length) { | ||
| console.error('killbottleneck-mcp: not configured yet — ' + CHYBI_KONFIG.join('; ')); | ||
| } | ||
| if (!/^(?:kb|fm)_user_[A-Za-z0-9]+$/.test(API_KEY)) { // PŘECHOD: staré fm_user_ klíče dál platí | ||
| console.error('killbottleneck-mcp: missing/invalid KB_API_KEY (kb_user_…) — create one in the app under "API keys"'); | ||
| process.exit(1); | ||
| } | ||
@@ -38,2 +49,7 @@ const enc = encodeURIComponent; // id v cestě VŽDY encodovat (LLM může poslat cokoli) | ||
| async function call(method, path, body) { | ||
| // Nenakonfigurovaný server nástroje NABÍZÍ, ale při volání poctivě řekne, co chybí | ||
| // (místo dřívějšího tichého pádu procesu při startu). | ||
| if (CHYBI_KONFIG.length) { | ||
| throw new Error('killbottleneck-mcp is not configured: ' + CHYBI_KONFIG.join('; ')); | ||
| } | ||
| let res; | ||
@@ -449,4 +465,5 @@ try { | ||
| await server.connect(transport); | ||
| // startup ping (nefatální): překlep v adrese ať je vidět hned, ne až u prvního nástroje | ||
| try { | ||
| // startup ping (nefatální): překlep v adrese ať je vidět hned, ne až u prvního nástroje. | ||
| // Bez konfigurace se neptáme nikam — není kam. | ||
| if (!CHYBI_KONFIG.length) try { | ||
| const ping = await fetch(`${URL_BASE}/api/health`, { signal: AbortSignal.timeout(3000) }); | ||
@@ -453,0 +470,0 @@ console.error(ping.ok |
+2
-2
| { | ||
| "name": "killbottleneck-mcp", | ||
| "version": "0.33.0", | ||
| "version": "0.34.0", | ||
| "description": "MCP server for killBottleneck — connect your AI assistant (Claude Desktop, Claude Code, …) to your killBottleneck instance and build goal maps conversationally.", | ||
@@ -36,4 +36,4 @@ "type": "module", | ||
| ], | ||
| "mcpName": "io.github.tengolabs/killbottleneck", | ||
| "mcpName": "com.killbottleneck/killbottleneck", | ||
| "license": "SEE LICENSE IN LICENSE" | ||
| } |
+3
-3
@@ -39,3 +39,3 @@ # killbottleneck-mcp — MCP server pro killBottleneck | ||
| -e KB_API_KEY=kb_user_... \ | ||
| -- node /absolutni/cesta/mcp/index.js | ||
| -- npx -y killbottleneck-mcp | ||
| ``` | ||
@@ -48,4 +48,4 @@ | ||
| "killbottleneck": { | ||
| "command": "node", | ||
| "args": ["/absolutni/cesta/mcp/index.js"], | ||
| "command": "npx", | ||
| "args": ["-y", "killbottleneck-mcp"], | ||
| "env": { | ||
@@ -52,0 +52,0 @@ "KB_URL": "http://192.168.1.10:8090", |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
39668
2.45%444
3.74%5
25%