@mcp-html-bridge/claude-skill 0.3.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 +24 -65
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/render.d.ts +0 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +0 -11
- package/dist/render.js.map +1 -1
- package/package.json +1 -1
package/commands/mcp-render.md
CHANGED
|
@@ -1,54 +1,30 @@
|
|
|
1
|
-
You are the rendering decision-maker for MCP tool results. You analyze data
|
|
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
|
-
|
|
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.
|
|
6
6
|
|
|
7
7
|
## Decision Framework
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
### Step 1: Understand the Data
|
|
12
|
-
|
|
13
|
-
Read the JSON. Ask yourself:
|
|
14
|
-
- What does this data represent? (products, metrics, config, logs, comparison, narrative, error...)
|
|
15
|
-
- Who is the audience? (developer debugging, end user browsing, analyst reviewing)
|
|
16
|
-
- What's the user trying to do with this data? (compare, explore, overview, drill down)
|
|
17
|
-
|
|
18
|
-
### Step 2: Decide — GUI or Not?
|
|
9
|
+
### Step 1: Decide — GUI or Not?
|
|
19
10
|
|
|
20
11
|
**Skip GUI rendering when:**
|
|
21
12
|
- Data is a simple success/failure status or short message
|
|
22
13
|
- Data is a single scalar value or very small object (< 5 fields)
|
|
23
14
|
- The user is debugging and just wants to see raw JSON
|
|
24
15
|
- The data is an error response — just explain the error
|
|
25
|
-
- A text summary would be more helpful than a visual
|
|
26
16
|
|
|
27
17
|
**Use GUI rendering when:**
|
|
28
18
|
- Data has tabular structure that benefits from sorting/scanning
|
|
29
19
|
- There are many items to compare or browse
|
|
30
|
-
-
|
|
31
|
-
- The
|
|
32
|
-
- A form would help the user construct input for a tool
|
|
33
|
-
|
|
34
|
-
If you decide to skip GUI, just present the data as formatted text/table in your response. Say why you skipped visual rendering.
|
|
20
|
+
- The structure is complex/nested enough that a visual layout aids navigation
|
|
21
|
+
- The user explicitly asks for a visual/HTML rendering
|
|
35
22
|
|
|
36
|
-
|
|
23
|
+
If you decide to skip GUI, just present the data as formatted text in your response.
|
|
37
24
|
|
|
38
|
-
|
|
39
|
-
|---|---|---|
|
|
40
|
-
| `data-grid` | Tabular data where columns matter. Comparison tables, search results, inventory lists, leaderboards. | Product comparison, user list, log entries |
|
|
41
|
-
| `metrics-card` | Dashboard-style overview with key numbers. Small set of important KPIs. | Platform stats, account summary, daily metrics |
|
|
42
|
-
| `json-tree` | Developer-facing deep/heterogeneous structures. Config dumps, API responses, debug output. | Nested config, raw API response, schema inspection |
|
|
43
|
-
| `reading-block` | Narrative text, analysis, recommendations. Long-form content that needs formatting. | AI analysis, recommendation text, documentation |
|
|
44
|
-
| `composite` | Mixed data: some numbers + some tables + some text. The data has distinct semantic sections. | Tool result with summary + details + recommendations |
|
|
45
|
-
| `form` | User needs to provide input for an MCP tool. Use with `--schema`. | Tool input forms |
|
|
25
|
+
### Step 2: Render
|
|
46
26
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
### Step 4: Render
|
|
50
|
-
|
|
51
|
-
Write the JSON data to a temp file, then call the renderer with your explicit choice:
|
|
27
|
+
Write the JSON data to a temp file, then call the renderer:
|
|
52
28
|
|
|
53
29
|
```bash
|
|
54
30
|
cat <<'MCPJSON' > /tmp/mcp-render-input.json
|
|
@@ -57,7 +33,6 @@ MCPJSON
|
|
|
57
33
|
|
|
58
34
|
mcp-html-skill render \
|
|
59
35
|
--data /tmp/mcp-render-input.json \
|
|
60
|
-
--renderer <your-choice> \
|
|
61
36
|
--title "<descriptive title>" \
|
|
62
37
|
--tool-name "<mcp_tool_name>" \
|
|
63
38
|
--open
|
|
@@ -74,57 +49,41 @@ mcp-html-skill render \
|
|
|
74
49
|
|
|
75
50
|
If `mcp-html-skill` is not in PATH:
|
|
76
51
|
```bash
|
|
77
|
-
npx @mcp-html-bridge/claude-skill render --data /tmp/mcp-render-input.json --
|
|
52
|
+
npx @mcp-html-bridge/claude-skill render --data /tmp/mcp-render-input.json --open
|
|
78
53
|
```
|
|
79
54
|
|
|
80
|
-
### Step
|
|
55
|
+
### Step 3: Explain
|
|
81
56
|
|
|
82
57
|
After rendering, briefly tell the user:
|
|
83
|
-
- What renderer you chose and why
|
|
84
58
|
- The file path (from command output)
|
|
85
59
|
- What they'll see when they open it
|
|
86
60
|
|
|
87
|
-
##
|
|
61
|
+
## What the renderer does
|
|
62
|
+
|
|
63
|
+
The renderer applies **pure structural rendering** based on JSON data shape:
|
|
88
64
|
|
|
89
|
-
|
|
|
90
|
-
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
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 |
|
|
97
73
|
|
|
98
|
-
|
|
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.
|
|
99
75
|
|
|
100
76
|
## Options
|
|
101
77
|
|
|
102
78
|
| Flag | Description |
|
|
103
79
|
|---|---|
|
|
104
|
-
| `--renderer <type>` | **Your choice.** data-grid, metrics-card, json-tree, reading-block, composite, auto |
|
|
105
80
|
| `--data <file>` | Input JSON data file |
|
|
106
81
|
| `--schema <file>` | Input JSON Schema (renders as form) |
|
|
82
|
+
| `--json <string>` | Inline JSON string |
|
|
107
83
|
| `--title <title>` | Page title |
|
|
108
84
|
| `--tool-name <name>` | MCP tool name |
|
|
109
|
-
| `--debug` | Add
|
|
85
|
+
| `--debug` | Add debug playground panel |
|
|
110
86
|
| `--open` | Auto-open in browser |
|
|
111
87
|
| `--stdout` | Print raw HTML to stdout |
|
|
112
88
|
|
|
113
|
-
## Examples of Good Decisions
|
|
114
|
-
|
|
115
|
-
**Product comparison table** → `data-grid`
|
|
116
|
-
"This is a comparison across multiple products with consistent dimensions. A sortable table lets the user scan and compare at a glance."
|
|
117
|
-
|
|
118
|
-
**Platform dashboard stats** → `metrics-card`
|
|
119
|
-
"These are high-level KPIs (total products, active merchants, avg commission). Large formatted numbers with labels communicate this best."
|
|
120
|
-
|
|
121
|
-
**AI recommendation with analysis** → `composite`
|
|
122
|
-
"This has a text analysis section, a ranked list of recommendations each with pros/cons, and a budget summary. Multiple renderers composed together."
|
|
123
|
-
|
|
124
|
-
**Deeply nested API config** → `json-tree`
|
|
125
|
-
"This is a raw configuration object. A developer needs to drill into specific paths. Collapsible tree with search is ideal."
|
|
126
|
-
|
|
127
|
-
**Simple 'ok' status** → Skip GUI
|
|
128
|
-
"This is just `{ status: 'success', message: 'Created' }`. No need to generate a whole HTML page — I'll just tell the user it succeeded."
|
|
129
|
-
|
|
130
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/)')
|
|
@@ -27,7 +27,6 @@ program
|
|
|
27
27
|
.option('--data <file>', 'JSON data file (renders result view)')
|
|
28
28
|
.option('--json <string>', 'Inline JSON string')
|
|
29
29
|
.option('--mode <mode>', 'Force render mode: schema | data (auto-detected if omitted)')
|
|
30
|
-
.option('--renderer <type>', 'Explicit renderer: data-grid | metrics-card | json-tree | reading-block | composite | auto')
|
|
31
30
|
.option('--title <title>', 'Page title')
|
|
32
31
|
.option('--tool-name <name>', 'Tool name for bridge protocol')
|
|
33
32
|
.option('--tool-desc <desc>', 'Tool description')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,UAAU,EAAE,iDAAiD,EAAE,IAAI,CAAC;KAC3E,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;KACnE,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;KAC/C,MAAM,CAAC,eAAe,EAAE,6DAA6D,CAAC;KACtF,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,UAAU,EAAE,iDAAiD,EAAE,IAAI,CAAC;KAC3E,MAAM,CAAC,WAAW,EAAE,8CAA8C,CAAC;KACnE,MAAM,CAAC,OAAO,CAAC,CAAC;AAEnB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;KAClE,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC;KAC/D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;KAC/C,MAAM,CAAC,eAAe,EAAE,6DAA6D,CAAC;KACtF,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC;KACvC,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;KAC7D,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;KAChD,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,CAAC;KACpE,MAAM,CAAC,QAAQ,EAAE,iCAAiC,CAAC;KACnD,MAAM,CAAC,UAAU,EAAE,qDAAqD,CAAC;KACzE,MAAM,CAAC,MAAM,CAAC,CAAC;AAElB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/render.d.ts
CHANGED
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"
|
|
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
|
@@ -5,7 +5,6 @@ import { readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { execSync } from 'node:child_process';
|
|
7
7
|
import { renderFromSchema, renderFromData } from '@mcp-html-bridge/ui-engine';
|
|
8
|
-
const VALID_RENDERERS = ['data-grid', 'metrics-card', 'json-tree', 'reading-block', 'composite', 'auto'];
|
|
9
8
|
function loadJSON(options) {
|
|
10
9
|
let raw;
|
|
11
10
|
if (options.schema) {
|
|
@@ -40,9 +39,6 @@ function loadJSON(options) {
|
|
|
40
39
|
process.exit(1);
|
|
41
40
|
}
|
|
42
41
|
function buildHTML(json, mode, options) {
|
|
43
|
-
const rendererChoice = options.renderer && options.renderer !== 'auto'
|
|
44
|
-
? options.renderer
|
|
45
|
-
: undefined;
|
|
46
42
|
if (mode === 'schema') {
|
|
47
43
|
return renderFromSchema(json, {
|
|
48
44
|
title: options.title ?? options.toolName ?? 'MCP Tool Input',
|
|
@@ -56,16 +52,9 @@ function buildHTML(json, mode, options) {
|
|
|
56
52
|
toolName: options.toolName,
|
|
57
53
|
toolDescription: options.toolDesc,
|
|
58
54
|
debug: options.debug,
|
|
59
|
-
renderer: rendererChoice,
|
|
60
55
|
});
|
|
61
56
|
}
|
|
62
57
|
export function render(options) {
|
|
63
|
-
// Validate renderer choice
|
|
64
|
-
if (options.renderer && !VALID_RENDERERS.includes(options.renderer)) {
|
|
65
|
-
console.error(` Error: Unknown renderer "${options.renderer}".`);
|
|
66
|
-
console.error(` Available: ${VALID_RENDERERS.join(', ')}`);
|
|
67
|
-
process.exit(1);
|
|
68
|
-
}
|
|
69
58
|
const { json, detectedMode } = loadJSON(options);
|
|
70
59
|
const mode = options.mode ?? detectedMode;
|
|
71
60
|
const html = buildHTML(json, mode, options);
|
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;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED