@oobe-protocol-labs/sap-mcp-server 0.9.20 → 0.9.22

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 (45) hide show
  1. package/.env.example +1 -1
  2. package/CHANGELOG.md +172 -0
  3. package/README.md +3 -3
  4. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  5. package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
  6. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
  7. package/config.example.json +1 -1
  8. package/config.secure-example.json +1 -1
  9. package/dist/core/constants.d.ts +1 -1
  10. package/dist/core/constants.js +1 -1
  11. package/dist/core/logger.js +1 -1
  12. package/dist/payments/pricing.d.ts.map +1 -1
  13. package/dist/payments/pricing.js +2 -0
  14. package/dist/payments/pricing.js.map +1 -1
  15. package/dist/premium/webhook-engine.d.ts +36 -0
  16. package/dist/premium/webhook-engine.d.ts.map +1 -1
  17. package/dist/premium/webhook-engine.js +130 -2
  18. package/dist/premium/webhook-engine.js.map +1 -1
  19. package/dist/server/server-metadata.d.ts +1 -0
  20. package/dist/server/server-metadata.d.ts.map +1 -1
  21. package/dist/server/server-metadata.js +3 -2
  22. package/dist/server/server-metadata.js.map +1 -1
  23. package/dist/tools/index.d.ts +1 -0
  24. package/dist/tools/index.d.ts.map +1 -1
  25. package/dist/tools/index.js +2 -0
  26. package/dist/tools/index.js.map +1 -1
  27. package/dist/tools/premium-tools.d.ts.map +1 -1
  28. package/dist/tools/premium-tools.js +365 -1
  29. package/dist/tools/premium-tools.js.map +1 -1
  30. package/dist/tools/quick-context-tool.d.ts +16 -0
  31. package/dist/tools/quick-context-tool.d.ts.map +1 -0
  32. package/dist/tools/quick-context-tool.js +228 -0
  33. package/dist/tools/quick-context-tool.js.map +1 -0
  34. package/dist/tools/register-tools.d.ts.map +1 -1
  35. package/dist/tools/register-tools.js +5 -0
  36. package/dist/tools/register-tools.js.map +1 -1
  37. package/dist/tools/skills-tools.d.ts +6 -0
  38. package/dist/tools/skills-tools.d.ts.map +1 -1
  39. package/dist/tools/skills-tools.js +5 -4
  40. package/dist/tools/skills-tools.js.map +1 -1
  41. package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
  42. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  43. package/docs/BRANCH_AND_CI.md +67 -0
  44. package/package.json +1 -1
  45. package/server.json +3 -3
@@ -0,0 +1,228 @@
1
+ /**
2
+ * @module quick-context-tool
3
+ * @description Single-call bootstrap tool that aggregates tools summary, pricing tiers,
4
+ * premium capabilities, and skills list into one compact response to reduce agent
5
+ * bootstrap from 5+ tool calls to 1.
6
+ */
7
+ import { registerTool } from '../adapters/mcp/sdk-compat.js';
8
+ import { createStructuredJsonResponse } from '../adapters/mcp/tool-response.js';
9
+ import { MCP_SERVER_VERSION } from '../core/constants.js';
10
+ import { listPremiumPlugins, publicPremiumProviderStatus } from '../premium/index.js';
11
+ import { listBundledSkillNames } from './skills-tools.js';
12
+ import { CAPABILITIES } from '../server/server-metadata.js';
13
+ const ALL_SECTIONS = [
14
+ 'version',
15
+ 'tools',
16
+ 'pricing',
17
+ 'premium',
18
+ 'skills',
19
+ 'nextAction',
20
+ ];
21
+ const DEFAULT_MAX_CHARS = 4000;
22
+ /**
23
+ * @name registerQuickContextTool
24
+ * @description Registers the free sap_quick_context bootstrap aggregation tool.
25
+ * @param server - MCP server receiving the tool definition and handler.
26
+ * @param context - Shared runtime context with SAP client, signer, policy, and configuration.
27
+ */
28
+ export function registerQuickContextTool(server, context) {
29
+ registerTool(server, 'sap_quick_context', {
30
+ title: 'SAP MCP Quick Context',
31
+ description: 'Free single-call bootstrap aggregator. Returns a compact markdown-like summary with server version, total tools count, tools by category, pricing tiers summary, premium plugins/capabilities count, bundled skills list, and nextAction guidance. Use this instead of calling sap_agent_start, sap_pricing_catalog, sap_premium_plugin_catalog, sap_skills_list, and sap_get_tool_category_summary separately to reduce bootstrap from 5+ tool calls to 1.',
32
+ inputSchema: {
33
+ type: 'object',
34
+ properties: {
35
+ include: {
36
+ type: 'array',
37
+ items: { type: 'string' },
38
+ description: 'Optional subset of section names to include (version, tools, pricing, premium, skills, nextAction). When omitted, all sections are returned.',
39
+ },
40
+ compact: {
41
+ type: 'boolean',
42
+ description: 'When true (default), the summary string is kept compact. When false, a more readable multi-line summary is returned.',
43
+ },
44
+ maxChars: {
45
+ type: 'number',
46
+ description: 'Maximum character length for the summary string. Defaults to 4000. The summary is truncated if it exceeds this length.',
47
+ },
48
+ },
49
+ },
50
+ outputSchema: {
51
+ type: 'object',
52
+ properties: {
53
+ success: { type: 'boolean', description: 'Whether the quick context summary was generated.' },
54
+ version: { type: 'string', description: 'SAP MCP server version.' },
55
+ totalTools: { type: 'number', description: 'Total number of registered MCP tools.' },
56
+ toolsByCategory: { type: 'object', description: 'Tool counts by category (sap, sns, agentKit, premium, etc.).' },
57
+ pricingTiers: { type: 'array', description: 'Pricing tier names available on the hosted server.', items: { type: 'string' } },
58
+ premiumPlugins: { type: 'number', description: 'Number of discoverable premium plugins.' },
59
+ premiumCapabilities: { type: 'number', description: 'Number of premium capabilities across all plugins.' },
60
+ premiumProvidersReady: { type: 'number', description: 'Number of premium providers with configured environment variables.' },
61
+ skills: { type: 'array', description: 'Bundled skill names available via sap_skills_bundle.', items: { type: 'string' } },
62
+ summary: { type: 'string', description: 'Compact markdown-like summary string suitable for agent context loading.' },
63
+ nextAction: { type: 'string', description: 'Concrete next action for the agent after loading this context.' },
64
+ truncated: { type: 'boolean', description: 'Whether the summary was truncated to fit within maxChars.' },
65
+ },
66
+ required: ['success', 'version', 'totalTools', 'toolsByCategory', 'pricingTiers', 'premiumPlugins', 'premiumCapabilities', 'premiumProvidersReady', 'skills', 'summary', 'nextAction', 'truncated'],
67
+ },
68
+ annotations: {
69
+ readOnlyHint: true,
70
+ destructiveHint: false,
71
+ idempotentHint: true,
72
+ openWorldHint: false,
73
+ },
74
+ }, async (input) => {
75
+ const parsed = parseQuickContextInput(input);
76
+ const payload = buildQuickContextPayload(context, parsed);
77
+ return createStructuredJsonResponse(payload);
78
+ });
79
+ }
80
+ /**
81
+ * @name parseQuickContextInput
82
+ * @description Narrows unknown MCP tool input into a typed QuickContextInput.
83
+ * @param input - Raw tool input from the MCP caller.
84
+ * @returns Parsed quick context input with defaults applied.
85
+ */
86
+ function parseQuickContextInput(input) {
87
+ const record = input && typeof input === 'object' && !Array.isArray(input)
88
+ ? input
89
+ : {};
90
+ const includeRaw = record.include;
91
+ const include = Array.isArray(includeRaw)
92
+ ? includeRaw.filter((item) => typeof item === 'string')
93
+ : [];
94
+ const compact = typeof record.compact === 'boolean' ? record.compact : true;
95
+ const maxChars = typeof record.maxChars === 'number' && record.maxChars > 0
96
+ ? Math.floor(record.maxChars)
97
+ : DEFAULT_MAX_CHARS;
98
+ return { include, compact, maxChars };
99
+ }
100
+ /**
101
+ * @name resolveSections
102
+ * @description Determines which sections to include based on the requested include list.
103
+ * @param requested - Optional list of section names; empty means all sections.
104
+ * @returns Set of section identifiers to include.
105
+ */
106
+ function resolveSections(requested) {
107
+ if (requested.length === 0) {
108
+ return new Set(ALL_SECTIONS);
109
+ }
110
+ const validSections = new Set(ALL_SECTIONS);
111
+ const resolved = new Set();
112
+ for (const raw of requested) {
113
+ const lower = raw.toLowerCase();
114
+ if (validSections.has(lower)) {
115
+ resolved.add(lower);
116
+ }
117
+ }
118
+ return resolved.size > 0 ? resolved : new Set(ALL_SECTIONS);
119
+ }
120
+ /**
121
+ * @name buildQuickContextPayload
122
+ * @description Assembles the structured quick context payload from server metadata, pricing, premium, and skills.
123
+ * @param context - Shared runtime SAP MCP context.
124
+ * @param input - Parsed tool input with include, compact, and maxChars.
125
+ * @returns Structured quick context payload.
126
+ */
127
+ function buildQuickContextPayload(context, input) {
128
+ const sections = resolveSections(input.include);
129
+ const plugins = listPremiumPlugins();
130
+ const providerStatus = publicPremiumProviderStatus();
131
+ const premiumCapabilitiesCount = plugins.reduce((sum, plugin) => sum + plugin.capabilities.length, 0);
132
+ const premiumProvidersReady = Object.values(providerStatus).filter(Boolean).length;
133
+ const skills = listBundledSkillNames();
134
+ const toolsByCategory = CAPABILITIES.tools.categories;
135
+ const totalTools = CAPABILITIES.tools.count;
136
+ const pricingTiers = [
137
+ 'free=$0',
138
+ 'read-premium=$0.001',
139
+ 'builder=$0.008',
140
+ 'value-action=$0.04',
141
+ 'heavy-value=$0.15',
142
+ 'batch=clamped sum',
143
+ ];
144
+ const summary = buildSummaryString({
145
+ sections,
146
+ compact: input.compact,
147
+ maxChars: input.maxChars,
148
+ version: MCP_SERVER_VERSION,
149
+ totalTools,
150
+ toolsByCategory,
151
+ pricingTiers,
152
+ premiumPlugins: plugins.length,
153
+ premiumCapabilities: premiumCapabilitiesCount,
154
+ premiumProvidersReady,
155
+ skills,
156
+ serverMode: context.config.mode,
157
+ });
158
+ return {
159
+ success: true,
160
+ version: MCP_SERVER_VERSION,
161
+ totalTools,
162
+ toolsByCategory,
163
+ pricingTiers,
164
+ premiumPlugins: plugins.length,
165
+ premiumCapabilities: premiumCapabilitiesCount,
166
+ premiumProvidersReady,
167
+ skills,
168
+ summary: summary.text,
169
+ nextAction: buildNextAction(sections),
170
+ truncated: summary.truncated,
171
+ };
172
+ }
173
+ /**
174
+ * @name buildSummaryString
175
+ * @description Builds a compact markdown-like summary and truncates it to maxChars.
176
+ * @param parts - Summary content inputs.
177
+ * @returns Object with the summary text and a truncated flag.
178
+ */
179
+ function buildSummaryString(parts) {
180
+ const separator = parts.compact ? ' | ' : '\n';
181
+ const lines = [];
182
+ if (parts.sections.has('version')) {
183
+ lines.push(`**SAP MCP v${parts.version}** (mode: ${parts.serverMode})`);
184
+ }
185
+ if (parts.sections.has('tools')) {
186
+ const categoryLines = Object.entries(parts.toolsByCategory)
187
+ .map(([category, count]) => `${category}:${count}`)
188
+ .join(', ');
189
+ lines.push(`Tools: ${parts.totalTools} total (${categoryLines})`);
190
+ }
191
+ if (parts.sections.has('pricing')) {
192
+ lines.push(`Pricing tiers: ${parts.pricingTiers.join(', ')}`);
193
+ }
194
+ if (parts.sections.has('premium')) {
195
+ lines.push(`Premium: ${parts.premiumPlugins} plugins, ${parts.premiumCapabilities} capabilities, ${parts.premiumProvidersReady} providers ready`);
196
+ }
197
+ if (parts.sections.has('skills')) {
198
+ const skillsList = parts.skills.length > 0 ? parts.skills.join(', ') : 'none';
199
+ lines.push(`Skills: ${skillsList}`);
200
+ }
201
+ if (parts.sections.has('nextAction')) {
202
+ lines.push(`Next: ${buildNextAction(parts.sections)}`);
203
+ }
204
+ const fullText = lines.join(separator);
205
+ const truncated = fullText.length > parts.maxChars;
206
+ const text = truncated
207
+ ? `${fullText.slice(0, Math.max(0, parts.maxChars - 3))}...`
208
+ : fullText;
209
+ return { text, truncated };
210
+ }
211
+ /**
212
+ * @name buildNextAction
213
+ * @description Returns concrete next-action guidance for the agent based on included sections.
214
+ * @param sections - Set of sections included in the response.
215
+ * @returns Next action string.
216
+ */
217
+ function buildNextAction(sections) {
218
+ if (!sections.has('nextAction')) {
219
+ return 'Call sap_agent_start for the full startup playbook, then sap_skills_bundle with includeContents:true to load bundled skills.';
220
+ }
221
+ return [
222
+ 'Call sap_agent_start for the full startup playbook.',
223
+ 'Then sap_skills_bundle with includeContents:true to load bundled skills.',
224
+ 'Use sap_estimate_tool_cost before any paid tool call.',
225
+ 'Use sap_payments_readiness before any write or paid workflow.',
226
+ ].join(' ');
227
+ }
228
+ //# sourceMappingURL=quick-context-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-context-tool.js","sourceRoot":"","sources":["../../src/tools/quick-context-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAmBtD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDzF"}
1
+ {"version":3,"file":"register-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAoBtD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DzF"}
@@ -12,6 +12,7 @@ import { registerX402PaidCallTool } from './x402-paid-call-tool.js';
12
12
  import { registerMagicBlockTools } from './magicblock-tools.js';
13
13
  import { registerAgentStartTool } from './agent-start-tool.js';
14
14
  import { registerEstimateToolCost } from './estimate-tool-cost.js';
15
+ import { registerQuickContextTool } from './quick-context-tool.js';
15
16
  import { registerPremiumTools } from './premium-tools.js';
16
17
  import { registerPerpTools } from './perp-tools.js';
17
18
  /**
@@ -53,6 +54,10 @@ export async function registerTools(server, context) {
53
54
  registerAgentStartTool(server, context);
54
55
  // Register the free pre-call cost estimator so agents can plan USDC spending.
55
56
  registerEstimateToolCost(server, context);
57
+ // Register the free single-call bootstrap context aggregator so agents can
58
+ // load version, tool counts, pricing tiers, premium capabilities, and skills
59
+ // in one tool call instead of 5+ separate discovery calls.
60
+ registerQuickContextTool(server, context);
56
61
  // Register premium plugin/runtime discovery and session-planning tools.
57
62
  registerPremiumTools(server, context);
58
63
  // Register perp trading and chart analysis tools (Adrena + DexScreener + DeFiLlama).
@@ -1 +1 @@
1
- {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../src/tools/register-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-tools.js","sourceRoot":"","sources":["../../src/tools/register-tools.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@
4
4
  */
5
5
  import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
6
6
  import type { SapMcpContext } from '../core/types.js';
7
+ /**
8
+ * @name listBundledSkillNames
9
+ * @description Lists bundled skill directories.
10
+ * @returns Sorted array of bundled skill directory names that contain a SKILL.md entrypoint.
11
+ */
12
+ export declare function listBundledSkillNames(): string[];
7
13
  /**
8
14
  * @name registerSkillsTools
9
15
  * @description Registers skill pack discovery, export, and install tools.
@@ -1 +1 @@
1
- {"version":3,"file":"skills-tools.d.ts","sourceRoot":"","sources":["../../src/tools/skills-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuUtD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CA6QhF"}
1
+ {"version":3,"file":"skills-tools.d.ts","sourceRoot":"","sources":["../../src/tools/skills-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAwGtD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAWhD;AAgND;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CA8QhF"}
@@ -87,8 +87,9 @@ function assertSafeSkillName(skillName) {
87
87
  /**
88
88
  * @name listBundledSkillNames
89
89
  * @description Lists bundled skill directories.
90
+ * @returns Sorted array of bundled skill directory names that contain a SKILL.md entrypoint.
90
91
  */
91
- function listBundledSkillNames() {
92
+ export function listBundledSkillNames() {
92
93
  const skillsRoot = getSkillsRoot();
93
94
  if (!existsSync(skillsRoot)) {
94
95
  return [];
@@ -325,10 +326,10 @@ export function registerSkillsTools(server, context) {
325
326
  });
326
327
  registerTool(server, 'sap_skills_bundle', {
327
328
  title: 'Bundle SAP MCP Skills',
328
- description: 'Return bundled SAP MCP skills as JSON so an agent can load or write them itself.',
329
+ description: 'Return bundled SAP MCP skills as JSON so an agent can load or write them itself. Pass skills: ["name1","name2"] to bundle only specific skills (filterNames pattern). Pass includeContents: false to get only file paths without content (metadata-only mode for cheap discovery). Combine both for efficient loading: skills:["sap-defi"], includeContents:true returns only the sap-defi skill files with full content, avoiding context bloat from unused skills.',
329
330
  inputSchema: {
330
- skills: { type: 'array', items: { type: 'string' } },
331
- includeContents: { type: 'boolean' },
331
+ skills: { type: 'array', items: { type: 'string' }, description: 'Optional subset of bundled skill names to bundle. When omitted, all bundled skills are returned. Use this to load only the skills you need and avoid context bloat.' },
332
+ includeContents: { type: 'boolean', description: 'When false, only file paths are returned without file content (metadata-only). When true (default), full file contents are included. Set to false for cheap discovery, then call again with skills:["name"] and includeContents:true for only the skills you need.' },
332
333
  },
333
334
  }, async (input) => {
334
335
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"skills-tools.js","sourceRoot":"","sources":["../../src/tools/skills-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills-tools.js","sourceRoot":"","sources":["../../src/tools/skills-tools.ts"],"names":[],"mappings":"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"}
@@ -135,7 +135,7 @@ Codex supports Streamable HTTP MCP servers with URL-based TOML entries. Use loca
135
135
  ```toml
136
136
  [mcp_servers.sap]
137
137
  command = "npx"
138
- args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.20", "sap-mcp-server"]
138
+ args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.21", "sap-mcp-server"]
139
139
 
140
140
  [mcp_servers.sap.env]
141
141
  SAP_MCP_ALLOW_ENV_CONFIG_OVERRIDE = "false"
@@ -66,7 +66,7 @@ url = "https://mcp.sap.oobeprotocol.ai/mcp"
66
66
  ```toml
67
67
  [mcp_servers.sap_payments]
68
68
  command = "npx"
69
- args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.20", "sap-mcp-server"]
69
+ args = ["--yes", "--package", "@oobe-protocol-labs/sap-mcp-server@0.9.21", "sap-mcp-server"]
70
70
  startup_timeout_sec = 300
71
71
  tool_timeout_sec = 300
72
72
 
@@ -279,8 +279,8 @@ npm pack --dry-run --cache ./.npm-cache
279
279
  The current local macOS arm64 build produces:
280
280
 
281
281
  ```txt
282
- SAP-MCP-Wizard-0.9.20-arm64.dmg
283
- SAP-MCP-Wizard-0.9.20-arm64.zip
282
+ SAP-MCP-Wizard-0.9.21-arm64.dmg
283
+ SAP-MCP-Wizard-0.9.21-arm64.zip
284
284
  ```
285
285
 
286
286
  Windows EXE and Linux artifacts are produced by the GitHub Actions matrix.
@@ -0,0 +1,67 @@
1
+ # Branch & CI/CD Strategy
2
+
3
+ ## Branch model
4
+
5
+ ```
6
+ main ← production-ready, tagged releases only
7
+ develop ← integration branch, PRs merge here first
8
+ release/* ← optional release prep branches (release/0.9.21)
9
+ feature/* ← short-lived feature branches → PR to develop
10
+ hotfix/* ← urgent fixes → PR to main + cherry-pick to develop
11
+ ```
12
+
13
+ ### Flow
14
+
15
+ 1. **Feature work**: branch from `develop` → PR back to `develop`
16
+ 2. **Release prep**: branch `release/<version>` from `develop` → bump version, CHANGELOG → merge to `main` + tag
17
+ 3. **Hotfix**: branch from `main` → fix → PR to `main` + tag → cherry-pick to `develop`
18
+ 4. **Desktop builds**: triggered automatically on tag push, binary artifacts published to GitHub Release
19
+
20
+ ## CI/CD workflows
21
+
22
+ | Workflow | File | Triggers | Purpose |
23
+ |---|---|---|---|
24
+ | **CI** | `ci.yml` | push to main/develop, PR to main/develop | typecheck, lint, test, build, audit |
25
+ | **CodeQL** | GitHub default setup | push, PR, weekly cron | security analysis (JS/TS + Actions) — configured in repo Settings → Security → Code security |
26
+ | **Desktop Release** | `desktop-release.yml` | tag push, workflow_dispatch | build desktop binaries, publish to GitHub Release |
27
+
28
+ ### CI (`ci.yml`)
29
+
30
+ - Runs on: Ubuntu (full test suite) + Windows (typecheck + lint + build only — Unix path tests skip)
31
+ - Audit: `pnpm audit --audit-level high --prod` (production deps only)
32
+ - Concurrency group cancels stale runs on same ref
33
+
34
+ ### Desktop Release (`desktop-release.yml`)
35
+
36
+ - Triggers on: tag push (`*`) or manual dispatch
37
+ - Matrix: macOS 15, Windows 2025, Ubuntu 24.04
38
+ - Verify gates: typecheck + lint + test (Unix only) + build
39
+ - Audit: production deps only, high severity
40
+ - Publish job: downloads all 3 OS artifacts, generates SHA256 checksums, attaches to GitHub Release
41
+ - Signing: optional (uses secrets if available, warns if unsigned)
42
+
43
+ ## Secrets management
44
+
45
+ The `.gitignore` excludes:
46
+ - `.env`, `.env.local`, `.env.*.local`
47
+ - `*.pem`, `*.key`, `*.p8`, `*.p12`, `*.secret`
48
+ - `*keypair*.json`, `*wallet*.json`, `id.json`
49
+ - `keypairs/`, `wallets/`
50
+ - `sap-mcp-premium-private/` (separate private repo)
51
+ - `PRIVATE_VPS_DOCS/`, `*.private.md`
52
+
53
+ GitHub Actions secrets (configured in repo settings):
54
+ - `MACOS_CSC_LINK`, `MACOS_CSC_KEY_PASSWORD` — macOS code signing
55
+ - `APPLE_ID`, `APPLE_APP_SPECIFIC_PASSWORD`, `APPLE_TEAM_ID` — notarization
56
+ - `WINDOWS_CSC_LINK`, `WINDOWS_CSC_KEY_PASSWORD` — Windows code signing
57
+
58
+ ## Tag convention
59
+
60
+ Tags are plain version numbers: `0.9.21` (NOT `v0.9.21`).
61
+
62
+ ## Binary artifacts
63
+
64
+ Desktop binaries are built by CI and published to GitHub Releases only.
65
+ They are never committed to the repo. The `release/` directory is gitignored.
66
+
67
+ Local builds: `pnpm run desktop:build` outputs to `release/desktop/`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oobe-protocol-labs/sap-mcp-server",
3
- "version": "0.9.20",
3
+ "version": "0.9.22",
4
4
  "mcpName": "ai.oobeprotocol.sap.mcp/sap-mcp",
5
5
  "description": "Official MCP gateway for OOBE Protocol SAP — AI agents can interact with SAP identity, registry, reputation, tools, memory, payments, settlement, and proof-of-execution on Solana",
6
6
  "type": "module",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "ai.oobeprotocol.sap.mcp/sap-mcp",
4
4
  "title": "SAP MCP Server | OOBE Protocol",
5
5
  "description": "Solana-native MCP gateway for SAP tools, DeFi, SNS identity, x402/pay.sh, and agent operations.",
6
- "version": "0.9.20",
6
+ "version": "0.9.21",
7
7
  "websiteUrl": "https://mcp.sap.oobeprotocol.ai/",
8
8
  "repository": {
9
9
  "url": "https://github.com/OOBE-PROTOCOL/sap-mcp",
@@ -29,7 +29,7 @@
29
29
  {
30
30
  "registryType": "npm",
31
31
  "identifier": "@oobe-protocol-labs/sap-mcp-server",
32
- "version": "0.9.20",
32
+ "version": "0.9.21",
33
33
  "transport": {
34
34
  "type": "stdio"
35
35
  },
@@ -45,7 +45,7 @@
45
45
  },
46
46
  {
47
47
  "type": "positional",
48
- "value": "@oobe-protocol-labs/sap-mcp-server@0.9.20"
48
+ "value": "@oobe-protocol-labs/sap-mcp-server@0.9.21"
49
49
  },
50
50
  {
51
51
  "type": "positional",