phpstan-mcp-mx 0.1.0 → 0.1.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 CHANGED
@@ -5,19 +5,24 @@ bedient meerdere PHP-projecten tegelijk; welke dat zijn, leg je zelf vast.
5
5
 
6
6
  ## Installatie
7
7
 
8
+ Met `--scope user` is de server in al je projecten beschikbaar — wat je wilt bij één server
9
+ die meerdere projecten bedient.
10
+
8
11
  ```bash
9
- claude mcp add phpstan \
12
+ npm install -g phpstan-mcp-mx
13
+
14
+ claude mcp add phpstan --scope user \
10
15
  --env PHPSTAN_MCP_ROOTS=/pad/naar/projecten \
11
- -- npx -y phpstan-mcp-mx
16
+ -- phpstan-mcp-mx
12
17
  ```
13
18
 
14
- Of, als je de repo lokaal hebt staan:
19
+ Zonder globale installatie kan het ook rechtstreeks van de registry; dat kost wel elke
20
+ sessiestart een npx-resolutie:
15
21
 
16
22
  ```bash
17
- npm install && npm run build
18
- claude mcp add phpstan \
23
+ claude mcp add phpstan --scope user \
19
24
  --env PHPSTAN_MCP_ROOTS=/pad/naar/projecten \
20
- -- node /pad/naar/phpstan-mcp-mx/dist/index.js
25
+ -- npx -y phpstan-mcp-mx
21
26
  ```
22
27
 
23
28
  Voor Claude Desktop komt hetzelfde in `claude_desktop_config.json`:
@@ -26,14 +31,91 @@ Voor Claude Desktop komt hetzelfde in `claude_desktop_config.json`:
26
31
  {
27
32
  "mcpServers": {
28
33
  "phpstan": {
29
- "command": "npx",
30
- "args": ["-y", "phpstan-mcp-mx"],
34
+ "command": "phpstan-mcp-mx",
31
35
  "env": { "PHPSTAN_MCP_ROOTS": "/pad/naar/projecten" }
32
36
  }
33
37
  }
34
38
  }
35
39
  ```
36
40
 
41
+ ### Als de server niet start: PATH
42
+
43
+ Krijg je iets als `env: node: No such file or directory`, of blijft de server op "failed to
44
+ connect" staan, dan is dit vrijwel altijd de oorzaak.
45
+
46
+ Het commando `phpstan-mcp-mx` is een script dat begint met `#!/usr/bin/env node`, en `npx`
47
+ is zelf ook een commando dat gevonden moet worden. Allebei werken ze in je terminal omdat je
48
+ shell-profiel Node op `PATH` zet. Maar de MCP-server wordt gestart door een ánder programma,
49
+ en dat erft je shell-profiel niet altijd — een GUI-app op macOS krijgt vaak alleen een kale
50
+ `PATH` met `/usr/bin` en `/bin`. Node staat daar niet: Homebrew zet hem in
51
+ `/opt/homebrew/bin`, en nvm, fnm, asdf en volta ergens onder je home.
52
+
53
+ De oplossing is absolute paden gebruiken, zodat er niets meer opgezocht hoeft te worden:
54
+
55
+ ```bash
56
+ command -v node # bijv. /opt/homebrew/bin/node
57
+ npm root -g # bijv. /opt/homebrew/lib/node_modules
58
+ ```
59
+
60
+ ```bash
61
+ claude mcp add phpstan --scope user \
62
+ --env PHPSTAN_MCP_ROOTS=/pad/naar/projecten \
63
+ -- /opt/homebrew/bin/node /opt/homebrew/lib/node_modules/phpstan-mcp-mx/dist/index.js
64
+ ```
65
+
66
+ En voor Claude Desktop:
67
+
68
+ ```json
69
+ {
70
+ "mcpServers": {
71
+ "phpstan": {
72
+ "command": "/opt/homebrew/bin/node",
73
+ "args": ["/opt/homebrew/lib/node_modules/phpstan-mcp-mx/dist/index.js"],
74
+ "env": { "PHPSTAN_MCP_ROOTS": "/pad/naar/projecten" }
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ Zelf nagaan of het aan `PATH` ligt, zonder de MCP-client erbij te halen. Het binary wordt
81
+ eerst in je eigen shell opgezocht en daarna met een kale `PATH` gestart — anders is het
82
+ commando zelf al onvindbaar en meet je iets anders:
83
+
84
+ ```bash
85
+ echo '' | env -i PATH=/usr/bin:/bin "$(command -v phpstan-mcp-mx)"
86
+ ```
87
+
88
+ ```
89
+ env: node: No such file or directory
90
+ ```
91
+
92
+ Komt dat eruit, dan weet je genoeg. Dezelfde test op de absolute variant hoort gewoon te
93
+ starten:
94
+
95
+ ```bash
96
+ echo '' | env -i PATH=/usr/bin:/bin \
97
+ /opt/homebrew/bin/node /opt/homebrew/lib/node_modules/phpstan-mcp-mx/dist/index.js
98
+ ```
99
+
100
+ ```
101
+ phpstan-mcp 0.1.0 luistert op stdio, 0 root(s) geconfigureerd
102
+ ```
103
+
104
+ (Nul roots klopt hier: `env -i` gooit ook `PHPSTAN_MCP_ROOTS` weg. Het gaat er alleen om dát
105
+ hij start.)
106
+
107
+ ### Vanuit de repo
108
+
109
+ ```bash
110
+ npm install && npm run build
111
+ claude mcp add phpstan --scope user \
112
+ --env PHPSTAN_MCP_ROOTS=/pad/naar/projecten \
113
+ -- node /pad/naar/phpstan-mcp-mx/dist/index.js
114
+ ```
115
+
116
+ Let op dat je dan vastzit aan die map: verplaats of verwijder je hem, dan faalt de server in
117
+ al je projecten.
118
+
37
119
  ## Configuratie
38
120
 
39
121
  `PHPSTAN_MCP_ROOTS` is verplicht: een lijst absolute paden, gescheiden door een dubbele punt
package/dist/server.d.ts CHANGED
@@ -5,7 +5,7 @@ import type { Root } from './roots.js';
5
5
  * package.json; die kan hier niet zomaar geïmporteerd worden, want een JSON-import
6
6
  * verhuist bij het bouwen mee naar dist/ en wijst dan naar het verkeerde bestand.
7
7
  */
8
- export declare const VERSION = "0.1.0";
8
+ export declare const VERSION = "0.1.1";
9
9
  /**
10
10
  * Bouwt de MCP-server met de tools die op deze set roots van toepassing zijn.
11
11
  * De roots worden één keer bij het opstarten ingelezen: ze komen uit de
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@ import { registerTools } from './tools.js';
5
5
  * package.json; die kan hier niet zomaar geïmporteerd worden, want een JSON-import
6
6
  * verhuist bij het bouwen mee naar dist/ en wijst dan naar het verkeerde bestand.
7
7
  */
8
- export const VERSION = '0.1.0';
8
+ export const VERSION = '0.1.1';
9
9
  /**
10
10
  * Bouwt de MCP-server met de tools die op deze set roots van toepassing zijn.
11
11
  * De roots worden één keer bij het opstarten ingelezen: ze komen uit de
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phpstan-mcp-mx",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "MCP-server die PHPStan ontsluit als tools, voor meerdere PHP-projecten tegelijk",
5
5
  "keywords": [
6
6
  "mcp",