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.
Files changed (87) hide show
  1. package/.env.sample +16 -0
  2. package/README.md +2 -0
  3. package/dist/bin/mcp-stdio-bridge.d.ts +3 -0
  4. package/dist/bin/mcp-stdio-bridge.d.ts.map +1 -0
  5. package/dist/bin/mcp-stdio-bridge.js +87 -0
  6. package/dist/bin/mcp-stdio-bridge.js.map +1 -0
  7. package/dist/bin/server.d.ts.map +1 -1
  8. package/dist/bin/server.js +2 -1
  9. package/dist/bin/server.js.map +1 -1
  10. package/dist/libs/docs-auth.d.ts.map +1 -1
  11. package/dist/libs/docs-auth.js +4 -2
  12. package/dist/libs/docs-auth.js.map +1 -1
  13. package/dist/libs/docs.js +73 -42
  14. package/dist/libs/docs.js.map +1 -1
  15. package/dist/libs/jxp.d.ts.map +1 -1
  16. package/dist/libs/jxp.js +16 -319
  17. package/dist/libs/jxp.js.map +1 -1
  18. package/dist/libs/mcp/auth.d.ts +4 -0
  19. package/dist/libs/mcp/auth.d.ts.map +1 -0
  20. package/dist/libs/mcp/auth.js +49 -0
  21. package/dist/libs/mcp/auth.js.map +1 -0
  22. package/dist/libs/mcp/config.d.ts +21 -0
  23. package/dist/libs/mcp/config.d.ts.map +1 -0
  24. package/dist/libs/mcp/config.js +66 -0
  25. package/dist/libs/mcp/config.js.map +1 -0
  26. package/dist/libs/mcp/context.d.ts +5 -0
  27. package/dist/libs/mcp/context.d.ts.map +1 -0
  28. package/dist/libs/mcp/context.js +14 -0
  29. package/dist/libs/mcp/context.js.map +1 -0
  30. package/dist/libs/mcp/describe.d.ts +13 -0
  31. package/dist/libs/mcp/describe.d.ts.map +1 -0
  32. package/dist/libs/mcp/describe.js +36 -0
  33. package/dist/libs/mcp/describe.js.map +1 -0
  34. package/dist/libs/mcp/docs_auth.d.ts +5 -0
  35. package/dist/libs/mcp/docs_auth.d.ts.map +1 -0
  36. package/dist/libs/mcp/docs_auth.js +36 -0
  37. package/dist/libs/mcp/docs_auth.js.map +1 -0
  38. package/dist/libs/mcp/dynamic_import.d.ts +6 -0
  39. package/dist/libs/mcp/dynamic_import.d.ts.map +1 -0
  40. package/dist/libs/mcp/dynamic_import.js +12 -0
  41. package/dist/libs/mcp/dynamic_import.js.map +1 -0
  42. package/dist/libs/mcp/execute_tool.d.ts +10 -0
  43. package/dist/libs/mcp/execute_tool.d.ts.map +1 -0
  44. package/dist/libs/mcp/execute_tool.js +65 -0
  45. package/dist/libs/mcp/execute_tool.js.map +1 -0
  46. package/dist/libs/mcp/guides/default.md +67 -0
  47. package/dist/libs/mcp/guides.d.ts +14 -0
  48. package/dist/libs/mcp/guides.d.ts.map +1 -0
  49. package/dist/libs/mcp/guides.js +127 -0
  50. package/dist/libs/mcp/guides.js.map +1 -0
  51. package/dist/libs/mcp/model_visibility.d.ts +31 -0
  52. package/dist/libs/mcp/model_visibility.d.ts.map +1 -0
  53. package/dist/libs/mcp/model_visibility.js +73 -0
  54. package/dist/libs/mcp/model_visibility.js.map +1 -0
  55. package/dist/libs/mcp/mount.d.ts +10 -0
  56. package/dist/libs/mcp/mount.d.ts.map +1 -0
  57. package/dist/libs/mcp/mount.js +68 -0
  58. package/dist/libs/mcp/mount.js.map +1 -0
  59. package/dist/libs/mcp/read_service.d.ts +23 -0
  60. package/dist/libs/mcp/read_service.d.ts.map +1 -0
  61. package/dist/libs/mcp/read_service.js +141 -0
  62. package/dist/libs/mcp/read_service.js.map +1 -0
  63. package/dist/libs/mcp/server.d.ts +23 -0
  64. package/dist/libs/mcp/server.d.ts.map +1 -0
  65. package/dist/libs/mcp/server.js +111 -0
  66. package/dist/libs/mcp/server.js.map +1 -0
  67. package/dist/libs/read_handlers.d.ts +13 -0
  68. package/dist/libs/read_handlers.d.ts.map +1 -0
  69. package/dist/libs/read_handlers.js +381 -0
  70. package/dist/libs/read_handlers.js.map +1 -0
  71. package/dist/libs/schema_serialize.d.ts +3 -0
  72. package/dist/libs/schema_serialize.d.ts.map +1 -0
  73. package/dist/libs/schema_serialize.js +45 -0
  74. package/dist/libs/schema_serialize.js.map +1 -0
  75. package/dist/types/jxp-config.d.ts +7 -0
  76. package/dist/types/jxp-config.d.ts.map +1 -1
  77. package/docs/changelog.md +35 -0
  78. package/docs/index.md +1 -0
  79. package/docs/mcp.md +134 -0
  80. package/mkdocs.yml +1 -0
  81. package/package.json +11 -5
  82. package/templates/assets/docs.css +107 -0
  83. package/templates/assets/mcp-console.js +343 -0
  84. package/templates/index.pug +37 -0
  85. package/templates/mcp.pug +112 -0
  86. package/templates/navbar.pug +2 -0
  87. 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)
@@ -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
@@ -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