jxp 4.2.0 → 5.0.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/.env.sample +16 -0
- package/README.md +2 -0
- package/dist/bin/mcp-stdio-bridge.d.ts +3 -0
- package/dist/bin/mcp-stdio-bridge.d.ts.map +1 -0
- package/dist/bin/mcp-stdio-bridge.js +87 -0
- package/dist/bin/mcp-stdio-bridge.js.map +1 -0
- package/dist/bin/server.d.ts.map +1 -1
- package/dist/bin/server.js +2 -1
- package/dist/bin/server.js.map +1 -1
- package/dist/libs/docs-auth.d.ts.map +1 -1
- package/dist/libs/docs-auth.js +4 -2
- package/dist/libs/docs-auth.js.map +1 -1
- package/dist/libs/docs.js +73 -42
- package/dist/libs/docs.js.map +1 -1
- package/dist/libs/jxp.d.ts.map +1 -1
- package/dist/libs/jxp.js +16 -319
- package/dist/libs/jxp.js.map +1 -1
- package/dist/libs/mcp/auth.d.ts +4 -0
- package/dist/libs/mcp/auth.d.ts.map +1 -0
- package/dist/libs/mcp/auth.js +49 -0
- package/dist/libs/mcp/auth.js.map +1 -0
- package/dist/libs/mcp/config.d.ts +21 -0
- package/dist/libs/mcp/config.d.ts.map +1 -0
- package/dist/libs/mcp/config.js +66 -0
- package/dist/libs/mcp/config.js.map +1 -0
- package/dist/libs/mcp/context.d.ts +5 -0
- package/dist/libs/mcp/context.d.ts.map +1 -0
- package/dist/libs/mcp/context.js +14 -0
- package/dist/libs/mcp/context.js.map +1 -0
- package/dist/libs/mcp/describe.d.ts +13 -0
- package/dist/libs/mcp/describe.d.ts.map +1 -0
- package/dist/libs/mcp/describe.js +36 -0
- package/dist/libs/mcp/describe.js.map +1 -0
- package/dist/libs/mcp/docs_auth.d.ts +5 -0
- package/dist/libs/mcp/docs_auth.d.ts.map +1 -0
- package/dist/libs/mcp/docs_auth.js +36 -0
- package/dist/libs/mcp/docs_auth.js.map +1 -0
- package/dist/libs/mcp/dynamic_import.d.ts +6 -0
- package/dist/libs/mcp/dynamic_import.d.ts.map +1 -0
- package/dist/libs/mcp/dynamic_import.js +12 -0
- package/dist/libs/mcp/dynamic_import.js.map +1 -0
- package/dist/libs/mcp/execute_tool.d.ts +10 -0
- package/dist/libs/mcp/execute_tool.d.ts.map +1 -0
- package/dist/libs/mcp/execute_tool.js +65 -0
- package/dist/libs/mcp/execute_tool.js.map +1 -0
- package/dist/libs/mcp/guides/default.md +67 -0
- package/dist/libs/mcp/guides.d.ts +14 -0
- package/dist/libs/mcp/guides.d.ts.map +1 -0
- package/dist/libs/mcp/guides.js +127 -0
- package/dist/libs/mcp/guides.js.map +1 -0
- package/dist/libs/mcp/model_visibility.d.ts +31 -0
- package/dist/libs/mcp/model_visibility.d.ts.map +1 -0
- package/dist/libs/mcp/model_visibility.js +73 -0
- package/dist/libs/mcp/model_visibility.js.map +1 -0
- package/dist/libs/mcp/mount.d.ts +10 -0
- package/dist/libs/mcp/mount.d.ts.map +1 -0
- package/dist/libs/mcp/mount.js +68 -0
- package/dist/libs/mcp/mount.js.map +1 -0
- package/dist/libs/mcp/read_service.d.ts +23 -0
- package/dist/libs/mcp/read_service.d.ts.map +1 -0
- package/dist/libs/mcp/read_service.js +141 -0
- package/dist/libs/mcp/read_service.js.map +1 -0
- package/dist/libs/mcp/server.d.ts +23 -0
- package/dist/libs/mcp/server.d.ts.map +1 -0
- package/dist/libs/mcp/server.js +111 -0
- package/dist/libs/mcp/server.js.map +1 -0
- package/dist/libs/read_handlers.d.ts +13 -0
- package/dist/libs/read_handlers.d.ts.map +1 -0
- package/dist/libs/read_handlers.js +381 -0
- package/dist/libs/read_handlers.js.map +1 -0
- package/dist/libs/schema_serialize.d.ts +3 -0
- package/dist/libs/schema_serialize.d.ts.map +1 -0
- package/dist/libs/schema_serialize.js +45 -0
- package/dist/libs/schema_serialize.js.map +1 -0
- package/dist/types/jxp-config.d.ts +7 -0
- package/dist/types/jxp-config.d.ts.map +1 -1
- package/docs/changelog.md +35 -0
- package/docs/index.md +1 -0
- package/docs/mcp.md +134 -0
- package/mkdocs.yml +1 -0
- package/package.json +11 -5
- package/templates/assets/docs.css +107 -0
- package/templates/assets/mcp-console.js +343 -0
- package/templates/index.pug +37 -0
- package/templates/mcp.pug +112 -0
- package/templates/navbar.pug +2 -0
- package/templates/sidebar.pug +4 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
extends layout
|
|
2
|
+
|
|
3
|
+
block content
|
|
4
|
+
h1.mb-1 MCP assistant
|
|
5
|
+
p.text-muted.mb-4
|
|
6
|
+
| Connect Cursor or LM Studio to this API, then try the playground below.
|
|
7
|
+
|
|
8
|
+
.card.mb-4.mcp-setup-card(
|
|
9
|
+
data-mcp-url=mcp_url
|
|
10
|
+
data-base-url=base_url
|
|
11
|
+
data-mcp-path=mcp_path
|
|
12
|
+
data-server-slug=mcp_server_slug
|
|
13
|
+
)
|
|
14
|
+
.card-header.fw-semibold
|
|
15
|
+
i.bi.bi-plug.me-1
|
|
16
|
+
| Add to your MCP config
|
|
17
|
+
.card-body
|
|
18
|
+
p.mb-2
|
|
19
|
+
| Merge into
|
|
20
|
+
code mcp.json
|
|
21
|
+
| (Cursor:
|
|
22
|
+
strong Cursor Settings → MCP
|
|
23
|
+
| ; LM Studio: server settings). Your API key is filled in from your session.
|
|
24
|
+
ul.nav.nav-tabs#mcpConfigTabs(role="tablist")
|
|
25
|
+
li.nav-item(role="presentation")
|
|
26
|
+
button.nav-link.active#mcp-http-tab(data-bs-toggle="tab" data-bs-target="#mcp-http-pane" type="button" role="tab" aria-controls="mcp-http-pane" aria-selected="true") Cursor / HTTP
|
|
27
|
+
li.nav-item(role="presentation")
|
|
28
|
+
button.nav-link#mcp-stdio-tab(data-bs-toggle="tab" data-bs-target="#mcp-stdio-pane" type="button" role="tab" aria-controls="mcp-stdio-pane" aria-selected="false") stdio (jxp-mcp)
|
|
29
|
+
.tab-content.border.border-top-0.rounded-bottom.p-3.bg-light#mcpConfigTabContent
|
|
30
|
+
.tab-pane.fade.show.active#mcp-http-pane(role="tabpanel" aria-labelledby="mcp-http-tab" tabindex="0")
|
|
31
|
+
p.small.text-muted.mb-2 Recommended for Cursor — receives server instructions on connect.
|
|
32
|
+
.position-relative
|
|
33
|
+
pre.mcp-json-block.mb-2#mcpJsonHttp(data-config="http")= mcp_http_json
|
|
34
|
+
button.btn.btn-sm.btn-outline-secondary.mcp-copy-btn(type="button" data-target="mcpJsonHttp")
|
|
35
|
+
i.bi.bi-clipboard.me-1
|
|
36
|
+
| Copy
|
|
37
|
+
.tab-pane.fade#mcp-stdio-pane(role="tabpanel" aria-labelledby="mcp-stdio-tab" tabindex="0")
|
|
38
|
+
p.small.text-muted.mb-2 Uses
|
|
39
|
+
code npx jxp-mcp
|
|
40
|
+
| to proxy stdio → HTTP (tools, resources, instructions).
|
|
41
|
+
.position-relative
|
|
42
|
+
pre.mcp-json-block.mb-2#mcpJsonStdio(data-config="stdio")= mcp_stdio_json
|
|
43
|
+
button.btn.btn-sm.btn-outline-secondary.mcp-copy-btn(type="button" data-target="mcpJsonStdio")
|
|
44
|
+
i.bi.bi-clipboard.me-1
|
|
45
|
+
| Copy
|
|
46
|
+
p.small.text-muted.mb-0.mt-3
|
|
47
|
+
| HTTP endpoint:
|
|
48
|
+
code= mcp_url
|
|
49
|
+
| ·
|
|
50
|
+
a(href="/docs/md/mcp.md") Full MCP docs
|
|
51
|
+
|
|
52
|
+
h2.h5.mb-3 Try it here
|
|
53
|
+
p.text-muted.mb-3.small
|
|
54
|
+
| Same read-only tools and permissions as
|
|
55
|
+
code GET /api
|
|
56
|
+
| . Commands below call
|
|
57
|
+
code POST /docs/mcp/call
|
|
58
|
+
| with your signed-in key.
|
|
59
|
+
|
|
60
|
+
.mcp-chat-wrap
|
|
61
|
+
.mcp-chat-thread#mcpChatThread(role="log" aria-live="polite" aria-label="MCP conversation")
|
|
62
|
+
.mcp-msg.mcp-msg-bot
|
|
63
|
+
.mcp-msg-label Assistant
|
|
64
|
+
.mcp-msg-body
|
|
65
|
+
p.mb-2 Ask about your data — or try:
|
|
66
|
+
ul.small.mb-0
|
|
67
|
+
li
|
|
68
|
+
code list models
|
|
69
|
+
li
|
|
70
|
+
code describe MODEL
|
|
71
|
+
li
|
|
72
|
+
code count MODEL
|
|
73
|
+
li
|
|
74
|
+
code find MODEL limit=5
|
|
75
|
+
li
|
|
76
|
+
code help
|
|
77
|
+
|
|
78
|
+
.mcp-chat-input-wrap
|
|
79
|
+
.d-flex.flex-wrap.gap-2.mb-2
|
|
80
|
+
each action in [{label: 'List models', cmd: 'list models'}, {label: 'Help', cmd: 'help'}]
|
|
81
|
+
button.btn.btn-sm.btn-outline-secondary.mcp-quick-btn(type="button" data-cmd=action.cmd)= action.label
|
|
82
|
+
form#mcpChatForm
|
|
83
|
+
.input-group
|
|
84
|
+
input#mcpChatInput.form-control(type="text" placeholder="Ask about your data…" autocomplete="off" aria-label="MCP message")
|
|
85
|
+
button.btn.btn-primary(type="submit")
|
|
86
|
+
i.bi.bi-send-fill.me-1
|
|
87
|
+
| Send
|
|
88
|
+
|
|
89
|
+
details.mt-4
|
|
90
|
+
summary.fw-semibold Advanced — call a tool directly
|
|
91
|
+
p.small.text-muted.mt-2 Pick a tool and pass JSON arguments (same as Cursor/LM Studio MCP clients).
|
|
92
|
+
.mcp-tool-panel.mt-2
|
|
93
|
+
.row.g-2.mb-2
|
|
94
|
+
.col-md-4
|
|
95
|
+
label.form-label.small.fw-semibold Tool
|
|
96
|
+
select#mcpToolSelect.form-select.form-select-sm
|
|
97
|
+
option(value="jxp_list_models") jxp_list_models
|
|
98
|
+
option(value="jxp_describe_model") jxp_describe_model
|
|
99
|
+
option(value="jxp_find") jxp_find
|
|
100
|
+
option(value="jxp_count") jxp_count
|
|
101
|
+
option(value="jxp_export_csv") jxp_export_csv
|
|
102
|
+
.col-md-8
|
|
103
|
+
label.form-label.small.fw-semibold Arguments (JSON)
|
|
104
|
+
textarea#mcpToolArgs.form-control.form-control-sm.font-monospace(rows="4") {}
|
|
105
|
+
button.btn.btn-sm.btn-outline-primary#mcpToolRun(type="button")
|
|
106
|
+
i.bi.bi-play-fill.me-1
|
|
107
|
+
| Run tool
|
|
108
|
+
|
|
109
|
+
block javascripts
|
|
110
|
+
script.
|
|
111
|
+
window.__MCP_SETUP__ = !{JSON.stringify({ mcpUrl: mcp_url || '', baseUrl: base_url || '', mcpPath: mcp_path || '/mcp', serverSlug: mcp_server_slug || 'jxp' })};
|
|
112
|
+
script(src="/docs/assets/mcp-console.js" defer)
|
package/templates/navbar.pug
CHANGED
|
@@ -7,6 +7,8 @@ header.docs-topbar.navbar.navbar-expand-lg.sticky-top
|
|
|
7
7
|
.ms-auto.d-flex.align-items-center.gap-2.flex-wrap
|
|
8
8
|
if docs_access === 'protected' && !docs_authenticated
|
|
9
9
|
a.btn.btn-sm.btn-outline-primary(href="/docs/login?next=/docs/api") Explore API
|
|
10
|
+
if mcp_enabled
|
|
11
|
+
a.btn.btn-sm.btn-outline-primary(href="/docs/login?next=/docs/mcp") Ask MCP
|
|
10
12
|
if docs_access !== 'disabled' && (docs_access !== 'protected' || docs_authenticated)
|
|
11
13
|
.docs-api-key-wrap
|
|
12
14
|
label.visually-hidden(for="docs-api-key") API Key
|
package/templates/sidebar.pug
CHANGED
|
@@ -7,6 +7,10 @@ nav.docs-sidebar#docsSidebarDesktop(aria-label="Documentation navigation")
|
|
|
7
7
|
a.docs-nav-link(href="/docs/md/" + file class=(active_guide === file ? 'active' : ''))= label
|
|
8
8
|
.docs-sidebar-section
|
|
9
9
|
.docs-sidebar-title Operations
|
|
10
|
+
if mcp_enabled
|
|
11
|
+
a.docs-nav-link(href="/docs/mcp" class=(active_section === 'mcp' ? 'active' : ''))
|
|
12
|
+
i.bi.bi-robot.me-1
|
|
13
|
+
| MCP assistant
|
|
10
14
|
a.docs-nav-link(href="/docs/diagnostics" class=(active_section === 'diagnostics' ? 'active' : ''))
|
|
11
15
|
i.bi.bi-speedometer2.me-1
|
|
12
16
|
| Index diagnostics
|