@createsomething/ground-mcp 0.2.1 → 0.2.3

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.
Files changed (3) hide show
  1. package/README.md +113 -4
  2. package/install.js +2 -2
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -26,16 +26,65 @@ Ground is an MCP server that:
26
26
 
27
27
  ---
28
28
 
29
- ## Quick Install
29
+ ## Installation
30
+
31
+ Pick your tool. We've tested these so you don't have to discover config file locations through trial and error.
32
+
33
+ ### Claude Code (CLI)
34
+
35
+ This is the one everyone gets wrong. Claude Code doesn't read `.claude/mcp.json`. It reads `~/.claude.json` for user-scoped servers and `.mcp.json` at project root for project-scoped servers. Two different files. Two different places. Now you know.
36
+
37
+ **Option A: User scope (available everywhere)**
38
+
39
+ ```bash
40
+ npm install @createsomething/ground-mcp
41
+ claude mcp add --scope user --transport stdio ground -- npx @createsomething/ground-mcp
42
+ ```
43
+
44
+ Restart Claude Code, run `/mcp`, and you should see "ground" connected.
45
+
46
+ **Option B: Project scope (shared with team)**
47
+
48
+ Create `.mcp.json` in your project root:
49
+
50
+ ```json
51
+ {
52
+ "mcpServers": {
53
+ "ground": {
54
+ "command": "npx",
55
+ "args": ["@createsomething/ground-mcp"]
56
+ }
57
+ }
58
+ }
59
+ ```
60
+
61
+ Claude Code will prompt you to approve it on first use.
30
62
 
31
63
  ### Cursor (One-Click)
32
64
 
33
65
  [**Install in Cursor →**](cursor://anysphere.cursor-deeplink/mcp/install?name=ground&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyJAY3JlYXRlc29tZXRoaW5nL2dyb3VuZC1tY3AiXX0%3D)
34
66
 
67
+ Or add to `.mcp.json` at your project root:
68
+
69
+ ```json
70
+ {
71
+ "mcpServers": {
72
+ "ground": {
73
+ "command": "npx",
74
+ "args": ["@createsomething/ground-mcp"]
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
35
80
  ### Claude Desktop
36
81
 
37
82
  Add to `claude_desktop_config.json`:
38
83
 
84
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
85
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
86
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
87
+
39
88
  ```json
40
89
  {
41
90
  "mcpServers": {
@@ -74,13 +123,13 @@ Settings → MCP → View raw config, add:
74
123
  codex mcp add ground --command "npx @createsomething/ground-mcp"
75
124
  ```
76
125
 
77
- ### npm (Global Install)
126
+ ### Global Install (When npx Isn't Your Thing)
78
127
 
79
128
  ```bash
80
129
  npm install -g @createsomething/ground-mcp
81
130
  ```
82
131
 
83
- Then add to your tool's MCP config:
132
+ Now `ground-mcp` is in your PATH. Use it in any config:
84
133
 
85
134
  ```json
86
135
  {
@@ -92,6 +141,43 @@ Then add to your tool's MCP config:
92
141
  }
93
142
  ```
94
143
 
144
+ ## Troubleshooting
145
+
146
+ **"Server not showing up"**
147
+
148
+ Run `/mcp` in your tool. If ground isn't listed, your config file is in the wrong place or has a typo. Claude Code in particular has... opinions about where configs live.
149
+
150
+ **"Connection closed" or "Download failed: HTTP 404"**
151
+
152
+ The npm package downloads a platform-specific binary on install. If that failed:
153
+
154
+ ```bash
155
+ # Check if the binary exists
156
+ ls node_modules/@createsomething/ground-mcp/bin/
157
+
158
+ # Re-install
159
+ npm install @createsomething/ground-mcp
160
+ ```
161
+
162
+ **"No files analyzed" or "0 results"**
163
+
164
+ Ground needs to know where your code is. For project-specific analysis, run it from your project directory, or pass `--workspace`:
165
+
166
+ ```json
167
+ {
168
+ "mcpServers": {
169
+ "ground": {
170
+ "command": "npx",
171
+ "args": ["@createsomething/ground-mcp", "--workspace", "/path/to/your/project"]
172
+ }
173
+ }
174
+ }
175
+ ```
176
+
177
+ **CSS/HTML analysis shows "100% adoption" or "0 drift"**
178
+
179
+ Ground's sweet spot is TypeScript/JavaScript projects with design tokens (CSS variables). If you're analyzing plain HTML with inline styles and no token system defined, there's nothing to measure drift against—it's a vacuous pass. For CSS-only linting, try Stylelint.
180
+
95
181
  ## Available Tools
96
182
 
97
183
  ### Core Analysis
@@ -134,6 +220,24 @@ Then add to your tool's MCP config:
134
220
  | `ground_diff` | Incremental analysis vs git baseline (only NEW issues) |
135
221
  | `ground_verify_fix` | Verify a fix was applied correctly |
136
222
 
223
+ ## MCP Apps (Interactive UIs)
224
+
225
+ Ground supports the [MCP Apps extension](https://modelcontextprotocol.io/docs/concepts/apps) for interactive visualization directly in the conversation.
226
+
227
+ ### Duplicate Explorer UI
228
+
229
+ When you call duplicate analysis tools (`ground_find_duplicate_functions`, `ground_compare`, `ground_suggest_fix`), supported MCP clients can render an interactive duplicate explorer:
230
+
231
+ - Visual similarity scores with color-coded badges
232
+ - Expandable cards showing side-by-side file comparison
233
+ - Adjustable similarity threshold slider
234
+ - One-click compare and suggest fix actions
235
+ - Real-time filtering and search
236
+
237
+ **Supported Clients**: Claude.ai, VS Code (Insiders), ChatGPT, Goose
238
+
239
+ The UI is served via `ui://ground/duplicate-explorer` resource and communicates with the server via postMessage.
240
+
137
241
  ### Design System Analysis (v2.1)
138
242
 
139
243
  | Tool | What it does |
@@ -168,7 +272,12 @@ What's the CSS token adoption ratio in packages/components?
168
272
  Find design drift in my CSS files only (use extensions: "css")
169
273
  ```
170
274
 
171
- ## What's New in 0.2.1
275
+ ## What's New in 0.2.2
276
+
277
+ - **Fixed npm installer** — Binary downloads now work correctly across all platforms
278
+ - **Improved documentation** — Claude Code setup instructions (because nobody should have to discover `~/.claude.json` vs `.mcp.json` the hard way)
279
+
280
+ ### 0.2.1
172
281
 
173
282
  - **`ground_explain`** — AI-native context traceability. Explains why files are excluded from violation checks (e.g., video-rendering contexts, third-party CSS)
174
283
  - **`ground_find_drift` extensions filter** — Analyze specific file types (e.g., `extensions: "css"` for CSS-only analysis)
package/install.js CHANGED
@@ -46,8 +46,8 @@ function getBinaryName() {
46
46
 
47
47
  function getDownloadUrl(binaryName) {
48
48
  const ext = process.platform === 'win32' ? 'zip' : 'tar.gz';
49
- // Tag format: ground-v0.1.0
50
- return `https://github.com/${REPO}/releases/download/ground-v${VERSION}/ground-${binaryName}.${ext}`;
49
+ // Tag format: v0.2.0
50
+ return `https://github.com/${REPO}/releases/download/v${VERSION}/ground-${binaryName}.${ext}`;
51
51
  }
52
52
 
53
53
  async function download(url) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@createsomething/ground-mcp",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Grounded claims for code. MCP server that prevents AI hallucination in code analysis.",
5
5
  "author": "CREATE SOMETHING <hello@createsomething.io>",
6
6
  "license": "MIT",