@mcp-html-bridge/claude-skill 0.2.0 → 0.4.0
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/commands/mcp-render.md +67 -87
- package/dist/index.js +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +0 -1
- package/dist/render.js.map +1 -1
- package/package.json +1 -1
package/commands/mcp-render.md
CHANGED
|
@@ -1,109 +1,89 @@
|
|
|
1
|
-
You are
|
|
1
|
+
You are the rendering decision-maker for MCP tool results. You analyze data and decide whether a GUI rendering would benefit the user — or if plain text is sufficient.
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Your Role
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
2. **Detect mode** — `type: "object"` + `properties` → schema (form) / anything else → data (visualization)
|
|
7
|
-
3. **Render** — call `mcp-html-skill render` to generate HTML
|
|
8
|
-
4. **Deliver** — write file + open in browser, or embed HTML in response
|
|
5
|
+
MCP-HTML-Bridge is a **generic MCP GUI wrapper**. It renders any JSON data as clean, structural HTML — tables for arrays of objects, key-value pairs for flat objects, collapsible sections for nested structures. No business logic, no hardcoded formatting. Pure structural rendering.
|
|
9
6
|
|
|
10
|
-
##
|
|
7
|
+
## Decision Framework
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
# Write to file and open in browser (primary method)
|
|
14
|
-
cat <<'EOF' > /tmp/mcp-input.json
|
|
15
|
-
<JSON_DATA>
|
|
16
|
-
EOF
|
|
17
|
-
mcp-html-skill render --data /tmp/mcp-input.json --title "Title" --tool-name "tool" --open
|
|
18
|
-
|
|
19
|
-
# Schema → interactive form
|
|
20
|
-
mcp-html-skill render --schema /tmp/mcp-schema.json --title "Title" --tool-name "tool" --open
|
|
9
|
+
### Step 1: Decide — GUI or Not?
|
|
21
10
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
11
|
+
**Skip GUI rendering when:**
|
|
12
|
+
- Data is a simple success/failure status or short message
|
|
13
|
+
- Data is a single scalar value or very small object (< 5 fields)
|
|
14
|
+
- The user is debugging and just wants to see raw JSON
|
|
15
|
+
- The data is an error response — just explain the error
|
|
25
16
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
**Use GUI rendering when:**
|
|
18
|
+
- Data has tabular structure that benefits from sorting/scanning
|
|
19
|
+
- There are many items to compare or browse
|
|
20
|
+
- The structure is complex/nested enough that a visual layout aids navigation
|
|
21
|
+
- The user explicitly asks for a visual/HTML rendering
|
|
30
22
|
|
|
31
|
-
|
|
23
|
+
If you decide to skip GUI, just present the data as formatted text in your response.
|
|
32
24
|
|
|
33
|
-
|
|
34
|
-
|---|---|
|
|
35
|
-
| `--schema <file>` | Render JSON Schema as interactive form |
|
|
36
|
-
| `--data <file>` | Render JSON data as visualization |
|
|
37
|
-
| `--json '<str>'` | Inline JSON (small payloads) |
|
|
38
|
-
| `--title <title>` | Browser tab & header title |
|
|
39
|
-
| `--tool-name <name>` | MCP tool name (for bridge protocol) |
|
|
40
|
-
| `--tool-desc <desc>` | Tool description |
|
|
41
|
-
| `--debug` | Enable debug playground (LLM relay, JSON injection) |
|
|
42
|
-
| `--output <dir>` | Output dir (default: /tmp/mcp-html-bridge) |
|
|
43
|
-
| `--open` | Auto-open in default browser |
|
|
44
|
-
| `--stdout` | Print raw HTML to stdout |
|
|
25
|
+
### Step 2: Render
|
|
45
26
|
|
|
46
|
-
|
|
27
|
+
Write the JSON data to a temp file, then call the renderer:
|
|
47
28
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
```bash
|
|
30
|
+
cat <<'MCPJSON' > /tmp/mcp-render-input.json
|
|
31
|
+
<THE_JSON_DATA>
|
|
32
|
+
MCPJSON
|
|
33
|
+
|
|
34
|
+
mcp-html-skill render \
|
|
35
|
+
--data /tmp/mcp-render-input.json \
|
|
36
|
+
--title "<descriptive title>" \
|
|
37
|
+
--tool-name "<mcp_tool_name>" \
|
|
38
|
+
--open
|
|
39
|
+
```
|
|
52
40
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
41
|
+
For schema/form rendering:
|
|
42
|
+
```bash
|
|
43
|
+
mcp-html-skill render \
|
|
44
|
+
--schema /tmp/mcp-schema.json \
|
|
45
|
+
--title "<title>" \
|
|
46
|
+
--tool-name "<tool_name>" \
|
|
47
|
+
--open
|
|
48
|
+
```
|
|
57
49
|
|
|
58
|
-
|
|
50
|
+
If `mcp-html-skill` is not in PATH:
|
|
51
|
+
```bash
|
|
52
|
+
npx @mcp-html-bridge/claude-skill render --data /tmp/mcp-render-input.json --open
|
|
53
|
+
```
|
|
59
54
|
|
|
60
|
-
|
|
55
|
+
### Step 3: Explain
|
|
61
56
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
| Flat object with numbers | KPI / metrics cards |
|
|
66
|
-
| Deep nesting (depth > 3) | Collapsible JSON tree |
|
|
67
|
-
| Long text strings | Formatted reading blocks |
|
|
68
|
-
| Mixed structure | Composite (combines above) |
|
|
69
|
-
| JSON Schema with `properties` | Interactive input form |
|
|
57
|
+
After rendering, briefly tell the user:
|
|
58
|
+
- The file path (from command output)
|
|
59
|
+
- What they'll see when they open it
|
|
70
60
|
|
|
71
|
-
##
|
|
61
|
+
## What the renderer does
|
|
72
62
|
|
|
73
|
-
|
|
63
|
+
The renderer applies **pure structural rendering** based on JSON data shape:
|
|
74
64
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
{ "dimension": "商品名称", "SKU-001": "联想小新 Pro 16", "SKU-002": "RedmiBook Pro 15", "SKU-003": "华为 MateBook 14s" },
|
|
84
|
-
{ "dimension": "到手价", "SKU-001": "¥4,699", "SKU-002": "¥4,099", "SKU-003": "¥6,999" },
|
|
85
|
-
{ "dimension": "处理器", "SKU-001": "R7-8845H", "SKU-002": "i7-13700H", "SKU-003": "Ultra 7" },
|
|
86
|
-
{ "dimension": "评分", "SKU-001": "4.8", "SKU-002": "4.7", "SKU-003": "4.9" },
|
|
87
|
-
{ "dimension": "佣金比例", "SKU-001": "3.5%", "SKU-002": "4.2%", "SKU-003": "2.8%" }
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
EOF
|
|
91
|
-
|
|
92
|
-
# 3. Render as visual HTML
|
|
93
|
-
mcp-html-skill render --data /tmp/mcp-input.json \
|
|
94
|
-
--title "商品参数对比" \
|
|
95
|
-
--tool-name "baidu_youxuan_compare" \
|
|
96
|
-
--open
|
|
97
|
-
```
|
|
65
|
+
| Data Shape | Rendering |
|
|
66
|
+
|---|---|
|
|
67
|
+
| Array of objects | Sortable `<table>` with auto-detected columns |
|
|
68
|
+
| Flat object | Key-value pairs (`<dl>`) |
|
|
69
|
+
| Nested object | Collapsible `<details>` sections |
|
|
70
|
+
| Array of scalars | Bulleted `<ul>` list |
|
|
71
|
+
| String / number / boolean | Typed inline display |
|
|
72
|
+
| JSON Schema | Interactive form with smart widgets |
|
|
98
73
|
|
|
99
|
-
|
|
74
|
+
**No business logic is applied.** No status badges, no price formatting, no regex-based field guessing. All data is rendered structurally. Formatting decisions are the caller's responsibility.
|
|
100
75
|
|
|
101
|
-
##
|
|
76
|
+
## Options
|
|
102
77
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
78
|
+
| Flag | Description |
|
|
79
|
+
|---|---|
|
|
80
|
+
| `--data <file>` | Input JSON data file |
|
|
81
|
+
| `--schema <file>` | Input JSON Schema (renders as form) |
|
|
82
|
+
| `--json <string>` | Inline JSON string |
|
|
83
|
+
| `--title <title>` | Page title |
|
|
84
|
+
| `--tool-name <name>` | MCP tool name |
|
|
85
|
+
| `--debug` | Add debug playground panel |
|
|
86
|
+
| `--open` | Auto-open in browser |
|
|
87
|
+
| `--stdout` | Print raw HTML to stdout |
|
|
108
88
|
|
|
109
89
|
$ARGUMENTS
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ const program = new Command();
|
|
|
13
13
|
program
|
|
14
14
|
.name('mcp-html-skill')
|
|
15
15
|
.description('Claude Code skill for MCP-HTML-Bridge')
|
|
16
|
-
.version('0.
|
|
16
|
+
.version('0.4.0');
|
|
17
17
|
program
|
|
18
18
|
.command('install')
|
|
19
19
|
.description('Install /mcp-render command into Claude Code (~/.claude/commands/)')
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA0DD,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CA8BnD"}
|
package/dist/render.js
CHANGED
|
@@ -70,7 +70,6 @@ export function render(options) {
|
|
|
70
70
|
const fileName = `${toolSlug}_${timestamp}.html`;
|
|
71
71
|
const outPath = join(outDir, fileName);
|
|
72
72
|
writeFileSync(outPath, html, 'utf-8');
|
|
73
|
-
// Output the path — Claude Code will capture this
|
|
74
73
|
console.log(outPath);
|
|
75
74
|
if (options.open) {
|
|
76
75
|
try {
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAgB9E,SAAS,QAAQ,CAAC,OAAsB;IACtC,IAAI,GAAW,CAAC;IAEhB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAC3D,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YACnD,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC;QAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBACnD,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,IAAa,EAAE,IAAY,EAAE,OAAsB;IACpE,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,gBAAgB,CAAC,IAA+B,EAAE;YACvD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,gBAAgB;YAC5D,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,OAAO,CAAC,QAAQ;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED