@vantageos/mcp-boilerplate 0.2.4 → 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.
Files changed (59) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +182 -0
  3. package/README.fr.md +318 -15
  4. package/README.md +302 -15
  5. package/dist/buildIdentity.d.ts +19 -0
  6. package/dist/buildIdentity.js +62 -0
  7. package/dist/declaredVariables.d.ts +205 -0
  8. package/dist/declaredVariables.js +451 -0
  9. package/dist/exampleItems.d.ts +15 -0
  10. package/dist/exampleItems.js +28 -1
  11. package/dist/httpApp.d.ts +17 -0
  12. package/dist/httpApp.js +22 -2
  13. package/dist/i18n.d.ts +10 -0
  14. package/dist/i18n.js +12 -0
  15. package/dist/index.d.ts +18 -0
  16. package/dist/index.js +9 -0
  17. package/dist/lake/convex.d.ts +101 -0
  18. package/dist/lake/convex.js +224 -0
  19. package/dist/lake/reader.d.ts +88 -0
  20. package/dist/lake/reader.js +120 -0
  21. package/dist/locales/en.json +47 -0
  22. package/dist/locales/fr.json +47 -0
  23. package/dist/mcpServerFactory.d.ts +31 -14
  24. package/dist/mcpServerFactory.js +124 -48
  25. package/dist/oauth/authorizationServer.js +63 -18
  26. package/dist/oauth/clerk.d.ts +2 -0
  27. package/dist/oauth/clerk.js +15 -5
  28. package/dist/oauth/clientRegistry.d.ts +19 -4
  29. package/dist/oauth/clientRegistry.js +20 -10
  30. package/dist/oauth/picker.d.ts +5 -2
  31. package/dist/oauth/picker.js +34 -4
  32. package/dist/oauth/registerLimiter.d.ts +34 -0
  33. package/dist/oauth/registerLimiter.js +95 -0
  34. package/dist/oauth/settings.d.ts +2 -0
  35. package/dist/oauth/settings.js +2 -0
  36. package/dist/pagination.d.ts +66 -0
  37. package/dist/pagination.js +100 -0
  38. package/dist/servedToolRecords.d.ts +18 -0
  39. package/dist/servedToolRecords.js +10 -0
  40. package/dist/serverManifest.d.ts +43 -0
  41. package/dist/serverManifest.js +90 -0
  42. package/dist/stdio.js +8 -1
  43. package/dist/tenancy.d.ts +1 -1
  44. package/dist/toolRecord.d.ts +124 -0
  45. package/dist/toolRecord.js +114 -0
  46. package/dist/ui/uiResource.d.ts +11 -4
  47. package/dist/ui/uiResource.js +8 -4
  48. package/dist/upstream/clientCredentials.d.ts +106 -0
  49. package/dist/upstream/clientCredentials.js +283 -0
  50. package/dist/upstream/paginatedClient.d.ts +142 -0
  51. package/dist/upstream/paginatedClient.js +422 -0
  52. package/dist/verifiedPerson.d.ts +85 -0
  53. package/dist/verifiedPerson.js +112 -0
  54. package/docs/oauth-stores.md +2 -1
  55. package/examples/oauth.env.example +5 -0
  56. package/mcp-server.json +14 -0
  57. package/package.json +19 -4
  58. package/plugin.json +1 -1
  59. package/skills/connect-mcp-server/SKILL.md +5 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vantageos/mcp-boilerplate",
3
- "version": "0.2.4",
3
+ "version": "0.4.0",
4
4
  "description": "Clonable MCP server skeleton on the official @modelcontextprotocol/server SDK v2 (protocol 2026-07-28 + 2025 legacy, stdio + stateless Streamable HTTP), with its own OAuth 2.1 authorization server (Clerk person + organisation, cloud-identity), MCP Apps UI, tenant scoping, FR/EN i18n and a declarative eval harness.",
5
5
  "description_fr": "Squelette de serveur MCP clonable sur le SDK officiel @modelcontextprotocol/server v2 (protocole 2026-07-28 + héritage 2025, stdio + Streamable HTTP sans état), avec son propre serveur d'autorisation OAuth 2.1 (personne + organisation Clerk, cloud-identity), UI MCP Apps, scoping tenant, i18n FR/EN et un harnais d'évaluations déclaratif.",
6
6
  "type": "module",
@@ -11,6 +11,10 @@
11
11
  "types": "./dist/index.d.ts",
12
12
  "import": "./dist/index.js"
13
13
  },
14
+ "./lake/convex": {
15
+ "types": "./dist/lake/convex.d.ts",
16
+ "import": "./dist/lake/convex.js"
17
+ },
14
18
  "./package.json": "./package.json"
15
19
  },
16
20
  "bin": {
@@ -26,6 +30,7 @@
26
30
  ".mcp.json",
27
31
  "plugin.json",
28
32
  "mcp.json",
33
+ "mcp-server.json",
29
34
  "skills",
30
35
  "scripts/plugin-manifest.source.json",
31
36
  "scripts/generate-signing-key.mjs",
@@ -46,7 +51,8 @@
46
51
  "homepage": "https://github.com/elpiarthera/vantage-mcp-boilerplate#readme",
47
52
  "author": "ElPi Corp / Laurent Perello",
48
53
  "scripts": {
49
- "build": "tsc && mkdir -p dist/locales && cp src/locales/en.json src/locales/fr.json dist/locales/ && node scripts/sync-plugin-version.mjs",
54
+ "build": "node scripts/clean-dist.mjs && tsc && mkdir -p dist/locales && cp src/locales/en.json src/locales/fr.json dist/locales/ && node scripts/sync-plugin-version.mjs",
55
+ "prepack": "node scripts/check-dist-orphans.mjs",
50
56
  "build:ui": "vite build && mv dist/ui-bundle/index.html dist/ui-bundle/widget.html",
51
57
  "pretest": "npm run build && npm run build:ui",
52
58
  "test": "vitest run",
@@ -75,11 +81,19 @@
75
81
  "dependencies": {
76
82
  "@modelcontextprotocol/ext-apps": "^2.0.3",
77
83
  "@modelcontextprotocol/server": "^2.3.1",
78
- "@vantageos/cloud-identity": "^0.19.0",
84
+ "@vantageos/cloud-identity": "^0.20.2",
79
85
  "@vantageos/mosaic-i18n": "^0.1.1",
80
86
  "hono": "^4.13.13",
81
87
  "jose": "^6.2.7",
82
- "zod": "^4.4.3"
88
+ "zod": "^4.6.7"
89
+ },
90
+ "peerDependencies": {
91
+ "convex": "^1.46.0"
92
+ },
93
+ "peerDependenciesMeta": {
94
+ "convex": {
95
+ "optional": true
96
+ }
83
97
  },
84
98
  "devDependencies": {
85
99
  "@biomejs/biome": "1.9.4",
@@ -88,6 +102,7 @@
88
102
  "@types/react": "^19.0.0",
89
103
  "@types/react-dom": "^19.0.0",
90
104
  "@vitejs/plugin-react": "^4.3.0",
105
+ "convex": "1.46.0",
91
106
  "react": "^19.0.0",
92
107
  "react-dom": "^19.0.0",
93
108
  "typescript": "^5.7.2",
package/plugin.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "vantage-mcp-boilerplate",
4
- "version": "0.2.4",
4
+ "version": "0.4.0",
5
5
  "description": "Clonable MCP server template: SDK v2 on protocol 2026-07-28 (stdio + stateless Streamable HTTP), its own OAuth 2.1 authorization server (Clerk person + organisation), MCP Apps UI, FR/EN i18n and a declarative eval harness. Scaffold, extend, publish.",
6
6
  "author": {
7
7
  "name": "ElPi Corp / Laurent Perello"
@@ -5,8 +5,8 @@ description: Connect this MCP server to Claude Code, ChatGPT or any MCP client,
5
5
 
6
6
  # Connect the MCP boilerplate server
7
7
 
8
- This plugin ships one MCP server (`mcp-boilerplate`) with three tools: `ping`, `list_items`
9
- and `render_items_ui`. Follow the path that matches where it runs.
8
+ This plugin ships one MCP server (`mcp-boilerplate`) with two tools: `ping` and `list_items`
9
+ (which also carries the widget). Follow the path that matches where it runs.
10
10
 
11
11
  ## 1. Pick the transport
12
12
 
@@ -28,9 +28,9 @@ and `render_items_ui`. Follow the path that matches where it runs.
28
28
  ## 3. Check it works
29
29
 
30
30
  1. Call `ping`. The reply is `pong`.
31
- 2. Call `list_items`. A signed-in person sees only the items of the chosen organisation.
32
- 3. Call `render_items_ui`. A host that supports MCP Apps shows the widget; any other host
33
- shows the markdown list that comes with the result.
31
+ 2. Call `list_items`. A signed-in person sees only the items of the chosen organisation. A host
32
+ that supports MCP Apps shows the widget; any other host shows the markdown list that comes
33
+ with the result.
34
34
 
35
35
  ## If something fails
36
36