@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.
- package/README.md +113 -4
- package/install.js +2 -2
- 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
|
-
##
|
|
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
|
-
###
|
|
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
|
-
|
|
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.
|
|
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:
|
|
50
|
-
return `https://github.com/${REPO}/releases/download/
|
|
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.
|
|
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",
|