@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.
@@ -1,109 +1,89 @@
1
- You are an MCP tool result visualizer powered by MCP-HTML-Bridge. You render MCP tool schemas and result data as beautiful, self-contained HTML pageszero runtime dependencies.
1
+ You are the rendering decision-maker for MCP tool results. You analyze data and decide whether a GUI rendering would benefit the useror if plain text is sufficient.
2
2
 
3
- ## Core Workflow
3
+ ## Your Role
4
4
 
5
- 1. **Identify input** user provides JSON (file path, inline, or from a recent MCP tool call)
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
- ## Render Commands
7
+ ## Decision Framework
11
8
 
12
- ```bash
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
- # Print raw HTML to stdout (for embedding in response)
23
- mcp-html-skill render --data /tmp/mcp-input.json --stdout
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
- If `mcp-html-skill` is not in PATH, use:
27
- ```bash
28
- npx @mcp-html-bridge/claude-skill render --data /tmp/mcp-input.json --title "Title" --open
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
- ## Options Reference
23
+ If you decide to skip GUI, just present the data as formatted text in your response.
32
24
 
33
- | Flag | Description |
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
- ## Delivery Strategy
27
+ Write the JSON data to a temp file, then call the renderer:
47
28
 
48
- **Default (file + browser):**
49
- 1. Write JSON to temp file
50
- 2. `mcp-html-skill render --data /tmp/mcp-input.json --title "..." --open`
51
- 3. Tell user: "Rendered and opened in browser. File: <path>"
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
- **Inline HTML embedding (for hosts that support HTML rendering):**
54
- 1. Render with `--stdout` to get raw HTML
55
- 2. Wrap in a fenced code block with `html` language tag in your response
56
- 3. Hosts that support HTML preview (e.g., future Claude Desktop) can render it inline
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
- Always prefer the file + browser approach as the primary delivery method. The inline approach is supplementary.
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
- ## Auto-Detection
55
+ ### Step 3: Explain
61
56
 
62
- | Data Shape | Visualization |
63
- |---|---|
64
- | Array of objects (consistent keys) | Sortable data grid with status badges |
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
- ## Example: Baidu Youxuan MCP Integration
61
+ ## What the renderer does
72
62
 
73
- When the user has a Baidu Youxuan (百度优选) MCP server connected and calls comparison tools:
63
+ The renderer applies **pure structural rendering** based on JSON data shape:
74
64
 
75
- ```bash
76
- # 1. The MCP tool returns structured comparison data
77
- # 2. Save the tool result to a temp file
78
- cat <<'EOF' > /tmp/mcp-input.json
79
- {
80
- "compareId": "CMP-001",
81
- "products": ["SKU-001", "SKU-002", "SKU-003"],
82
- "comparison": [
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
- The engine detects the `comparison` array of objects and renders a sortable comparison table with formatted cells.
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
- ## Tips
76
+ ## Options
102
77
 
103
- - Always use `--open` so the page launches automatically
104
- - Generated HTML works offline (zero dependencies)
105
- - Dark mode follows system preference
106
- - `--debug` adds a playground panel for testing LLM integration
107
- - Output persists in `/tmp/mcp-html-bridge/` until system cleanup
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.1.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/)')
@@ -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;AAyDD,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAgCnD"}
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 {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-html-bridge/claude-skill",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Claude Code skill for MCP-HTML-Bridge — render MCP tool data as interactive HTML pages",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",