@castandcrew/spotlight-mcp 0.1.4 → 0.1.6
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 +37 -43
- package/data/index.json +36016 -42627
- package/dist/tools/get_token.js +2 -1
- package/dist/tools/get_token.js.map +1 -1
- package/dist/tools/search_tokens.js +34 -8
- package/dist/tools/search_tokens.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -35,27 +35,21 @@ server. The index has two sources, both merged by the [indexer](#updating-the-in
|
|
|
35
35
|
|
|
36
36
|
## Getting it running
|
|
37
37
|
|
|
38
|
-
> **
|
|
38
|
+
> **Use `@castandcrew/spotlight-mcp` `0.1.4` or later.** Earlier npm versions (`0.1.0`–`0.1.3`)
|
|
39
|
+
> ship an empty index (0 components, 0 tokens, 0 utility classes), so `search_components`,
|
|
40
|
+
> `get_component`, `search_tokens`, `get_token` and `search_utility_classes` return nothing.
|
|
41
|
+
> Do not use them. `0.1.4` is the first release with a populated `data/index.json`:
|
|
42
|
+
> 169 entries (165 unique component names), 329 tokens, 218 utility classes, 111 patterns and
|
|
43
|
+
> 71 rules. See [Via npm](#via-npm) to connect it without cloning anything.
|
|
39
44
|
>
|
|
40
|
-
>
|
|
41
|
-
>
|
|
42
|
-
> The tool is still in preliminary testing and nothing else has been published.
|
|
43
|
-
>
|
|
44
|
-
> Concretely, the published tarball ships a `data/index.json` containing **0 components,
|
|
45
|
-
> 0 tokens and 0 utility classes** (only 103 patterns and 71 rules), so `search_components`,
|
|
46
|
-
> `search_tokens`, `get_component`, `get_token` and `search_utility_classes` return nothing.
|
|
47
|
-
> Verified 2026-09-08 by running `npx -y @castandcrew/spotlight-mcp` in an empty directory:
|
|
48
|
-
> the server starts and lists all 12 tools, but has no component or token data behind them.
|
|
49
|
-
>
|
|
50
|
-
> **A fresh clone of this repo is fine.** `data/index.json` is committed with real data
|
|
51
|
-
> (84 components, 329 tokens, 218 utility classes, 111 patterns, 71 rules; `generated:
|
|
52
|
-
> 2026-09-01`), so `pnpm install && pnpm build` is enough to get a working server. Regenerate
|
|
45
|
+
> **You can also run it from source.** A fresh clone is fine: `data/index.json` is committed
|
|
46
|
+
> with real data, so `pnpm install && pnpm build` is enough to get a working server. Regenerate
|
|
53
47
|
> it only when the upstream library changes — see [Updating the index](#updating-the-index).
|
|
54
48
|
>
|
|
55
|
-
> **If the index is ever empty, the server
|
|
56
|
-
>
|
|
57
|
-
>
|
|
58
|
-
>
|
|
49
|
+
> **If the index is ever empty, the server says so.** It does not answer `[]` as if the design
|
|
50
|
+
> system were empty: each tool returns an explicit error naming the index path, the counts it
|
|
51
|
+
> found and the command to fix it, and a status banner is written to stderr at startup. See
|
|
52
|
+
> [When the index is empty](#when-the-index-is-empty).
|
|
59
53
|
>
|
|
60
54
|
> **Prerequisites (source):** Node 18+ and `pnpm`.
|
|
61
55
|
|
|
@@ -121,11 +115,12 @@ tail -f ~/Library/Logs/Claude/mcp-server-spotlight.log # confirms the handshak
|
|
|
121
115
|
|
|
122
116
|
Look for `"Server started and connected successfully"` with no error after it.
|
|
123
117
|
|
|
124
|
-
> **Scope:** this config covers Claude Desktop's **Chat
|
|
118
|
+
> **Scope:** this config covers Claude Desktop's **Chat**. The **Code Tab** is
|
|
125
119
|
> Claude Code and reads Claude Code's own config (`~/.claude.json`) — register the server there
|
|
126
120
|
> with `claude mcp add` (section above) or install the `spotlight-cowork` plugin, which bundles it.
|
|
127
|
-
> `mcp-server-spotlight.log`
|
|
128
|
-
>
|
|
121
|
+
> `mcp-server-spotlight.log` records Chat's server process. (Claude Desktop merged Cowork into
|
|
122
|
+
> Chat — Cowork capabilities live in the same conversation now, there is no separate Cowork
|
|
123
|
+
> option; the `spotlight-cowork` plugin keeps its name.)
|
|
129
124
|
> (An earlier draft of this README claimed the Code Tab could not reach the server; that was a
|
|
130
125
|
> misconfigured path in `~/.claude.json`, not a limitation — verified in SPT-1526 v2, 2026-09-08.)
|
|
131
126
|
|
|
@@ -134,24 +129,22 @@ Look for `"Server started and connected successfully"` with no error after it.
|
|
|
134
129
|
- **MCP Inspector** (GUI to poke at tools): `npx @modelcontextprotocol/inspector node dist/index.js`
|
|
135
130
|
- **HTTP** (Claude.ai, custom integrations): `pnpm start:http` (or `PORT=8080 pnpm start:http`)
|
|
136
131
|
- `POST /mcp` — Streamable HTTP (recommended) · `GET /sse` + `POST /messages` — SSE legacy · `GET /health`
|
|
132
|
+
- The HTTP server has **no authentication** and accepts requests from any origin (CORS is open so browser clients can connect). Run it only on a trusted network; the network boundary is the protection.
|
|
137
133
|
|
|
138
|
-
### Via npm
|
|
139
|
-
|
|
140
|
-
**Do not point a client at the npm package expecting it to work.** `npx -y @castandcrew/spotlight-mcp`
|
|
141
|
-
resolves and starts (0.1.3 is on npm), but it serves an index with **0 components and 0 tokens** —
|
|
142
|
-
that publication was a pipeline smoke test while the tool is still in preliminary testing.
|
|
134
|
+
### Via npm
|
|
143
135
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
use the from-source setup above.
|
|
136
|
+
`0.1.4` or later is required. `npx -y @castandcrew/spotlight-mcp` downloads and starts the
|
|
137
|
+
server; it ships the full index, so no clone or build is needed. Pin a version range so a
|
|
138
|
+
future release cannot change your setup unannounced, for example
|
|
139
|
+
`@castandcrew/spotlight-mcp@0.1.4` (exact) or `@castandcrew/spotlight-mcp@~0.1.4` (patch
|
|
140
|
+
updates only).
|
|
150
141
|
|
|
151
|
-
|
|
152
|
-
|
|
142
|
+
Versions `0.1.0`–`0.1.3` (including the `0.1.3` pipeline smoke test) have an empty index and
|
|
143
|
+
predate the empty-index guard described below. Do not use them.
|
|
153
144
|
|
|
154
|
-
The
|
|
145
|
+
The plugins in `claude-plugins` (`spotlight-cowork`, `spotlight-remediation`,
|
|
146
|
+
`spotlight-advisor`, `spotlight-patterns`, `repo-spec` and `spotlight-design`) start the server
|
|
147
|
+
through `npx -y @castandcrew/spotlight-mcp` in their `.mcp.json`.
|
|
155
148
|
|
|
156
149
|
**Claude Code:**
|
|
157
150
|
|
|
@@ -338,7 +331,8 @@ spotlight-mcp/
|
|
|
338
331
|
│ └── smoke.sh # stdio smoke test
|
|
339
332
|
├── test/ # vitest: index-integrity, tools, manual-merge
|
|
340
333
|
├── docs/
|
|
341
|
-
│
|
|
334
|
+
│ ├── TESTING.md # How to test (interactive + automated)
|
|
335
|
+
│ └── RELEASING.md # Branching, versioning, release runbook
|
|
342
336
|
├── data/
|
|
343
337
|
│ └── index.json # Generated index — this is what the server reads
|
|
344
338
|
└── platform-ui-gaps.md # Historical (pre-monorepo) coverage gaps
|
|
@@ -366,15 +360,15 @@ The tool descriptions (the text in each `server.tool(name, description, ...)` ca
|
|
|
366
360
|
|
|
367
361
|
## Publishing
|
|
368
362
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
363
|
+
Releases are tagged on `main` and staged on npm by the **Release** GitHub workflow; a maintainer
|
|
364
|
+
approves the staged version in npm. **Do not run `npm publish` / `pnpm publish` from a laptop:** it
|
|
365
|
+
skips the checks that stop an empty index from shipping (that is how `0.1.3` went out).
|
|
372
366
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
```
|
|
367
|
+
Branching, versioning rules, the step-by-step release runbook and rollback are in
|
|
368
|
+
[`docs/RELEASING.md`](./docs/RELEASING.md).
|
|
376
369
|
|
|
377
|
-
|
|
370
|
+
Clients that run `npx -y @castandcrew/spotlight-mcp` (without a pinned version) get the latest
|
|
371
|
+
release on the next start; pin a range (see [Via npm](#via-npm)) to avoid that.
|
|
378
372
|
|
|
379
373
|
---
|
|
380
374
|
|