@jaypie/mcp 0.8.79 → 0.8.81

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/dist/index.d.ts CHANGED
@@ -1,4 +1,73 @@
1
1
  #!/usr/bin/env node
2
- export { createMcpServer } from "./createMcpServer.js";
3
- export type { CreateMcpServerOptions } from "./createMcpServer.js";
4
- export { mcpExpressHandler, type McpExpressHandlerOptions, } from "./mcpExpressHandler.js";
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { Request, Response } from 'express';
4
+
5
+ interface CreateMcpServerOptions {
6
+ version?: string;
7
+ verbose?: boolean;
8
+ }
9
+ /**
10
+ * Creates and configures an MCP server instance with Jaypie tools
11
+ *
12
+ * Uses ServiceSuite to register all services as MCP tools automatically.
13
+ * Services are defined in suite.ts using fabricService and registered
14
+ * by category. The createMcpServerFromSuite bridge converts them to
15
+ * MCP tools with proper Zod schema validation.
16
+ *
17
+ * @param options - Configuration options (or legacy version string)
18
+ * @returns Configured MCP server instance
19
+ */
20
+ declare function createMcpServer(options?: CreateMcpServerOptions | string): McpServer;
21
+
22
+ /**
23
+ * Options for configuring the MCP Express handler
24
+ */
25
+ interface McpExpressHandlerOptions {
26
+ /**
27
+ * Version string for the MCP server
28
+ */
29
+ version?: string;
30
+ /**
31
+ * Whether to enable session management (stateful mode)
32
+ * Default: true
33
+ */
34
+ enableSessions?: boolean;
35
+ /**
36
+ * Custom session ID generator function
37
+ */
38
+ sessionIdGenerator?: () => string;
39
+ /**
40
+ * Enable JSON responses instead of SSE streaming
41
+ * Default: false
42
+ */
43
+ enableJsonResponse?: boolean;
44
+ }
45
+ /**
46
+ * Creates an Express handler for the Jaypie MCP server using HTTP transport
47
+ *
48
+ * @param options - Configuration options for the handler
49
+ * @returns Promise that resolves to an Express middleware function
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * import express from 'express';
54
+ * import { mcpExpressHandler } from '@jaypie/mcp';
55
+ *
56
+ * const app = express();
57
+ * app.use(express.json());
58
+ *
59
+ * // Note: mcpExpressHandler is now async
60
+ * app.use('/mcp', await mcpExpressHandler({
61
+ * version: '1.0.0',
62
+ * enableSessions: true
63
+ * }));
64
+ *
65
+ * app.listen(3000, () => {
66
+ * console.log('MCP server running on http://localhost:3000/mcp');
67
+ * });
68
+ * ```
69
+ */
70
+ declare function mcpExpressHandler(options?: McpExpressHandlerOptions): Promise<(req: Request, res: Response) => Promise<void>>;
71
+
72
+ export { createMcpServer, mcpExpressHandler };
73
+ export type { CreateMcpServerOptions, McpExpressHandlerOptions };
package/dist/suite.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import * as _jaypie_fabric from '@jaypie/fabric';
2
+
1
3
  /**
2
4
  * ServiceSuite for @jaypie/mcp
3
5
  * Provides metadata and direct execution for Jaypie MCP services
@@ -8,4 +10,6 @@
8
10
  * - version: Package version info
9
11
  * - release_notes: Package release notes
10
12
  */
11
- export declare const suite: import("@jaypie/fabric").ServiceSuite;
13
+ declare const suite: _jaypie_fabric.ServiceSuite;
14
+
15
+ export { suite };
@@ -9,7 +9,7 @@ import { gt } from 'semver';
9
9
  /**
10
10
  * Docs Suite - Documentation services (skill, version, release_notes)
11
11
  */
12
- const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.79#3bcff1ec"
12
+ const BUILD_VERSION_STRING = "@jaypie/mcp@0.8.81#90b85696"
13
13
  ;
14
14
  const __filename$1 = fileURLToPath(import.meta.url);
15
15
  const __dirname$1 = path.dirname(__filename$1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaypie/mcp",
3
- "version": "0.8.79",
3
+ "version": "0.8.81",
4
4
  "description": "Jaypie MCP",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,12 +11,16 @@
11
11
  "type": "module",
12
12
  "exports": {
13
13
  ".": {
14
- "types": "./dist/index.d.ts",
15
- "import": "./dist/index.js"
14
+ "import": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.js"
17
+ }
16
18
  },
17
19
  "./suite": {
18
- "types": "./dist/suite.d.ts",
19
- "import": "./dist/suite.js"
20
+ "import": {
21
+ "types": "./dist/suite.d.ts",
22
+ "default": "./dist/suite.js"
23
+ }
20
24
  }
21
25
  },
22
26
  "main": "dist/index.js",
@@ -39,8 +43,8 @@
39
43
  "typecheck": "tsc --noEmit"
40
44
  },
41
45
  "dependencies": {
42
- "@jaypie/fabric": "^0.2.4",
43
- "@jaypie/tildeskill": "^0.3.1",
46
+ "@jaypie/fabric": "^0.3.3",
47
+ "@jaypie/tildeskill": "^0.3.2",
44
48
  "@modelcontextprotocol/sdk": "^1.17.0",
45
49
  "commander": "^14.0.0",
46
50
  "gray-matter": "^4.0.3",
@@ -55,6 +59,7 @@
55
59
  "express": "^5.1.0",
56
60
  "rollup": "^4.53.3",
57
61
  "rollup-plugin-copy": "^3.5.0",
62
+ "rollup-plugin-dts": "^6.1.1",
58
63
  "typescript": "^5.9.3"
59
64
  },
60
65
  "publishConfig": {
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.10
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.3
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.5
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,18 @@
1
+ ---
2
+ version: 0.6.4
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+ - Applies to both the `.` and `./mcp` subpath exports.
17
+
18
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.3
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.26
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,18 @@
1
+ ---
2
+ version: 0.3.3
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+ - Applies to every subpath export (`.`, `./commander`, `./data`, `./express`, `./http`, `./lambda`, `./llm`, `./mcp`, `./websocket`).
17
+
18
+ No runtime behavior changes.
@@ -0,0 +1,18 @@
1
+ ---
2
+ version: 1.2.55
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+ - The umbrella package now ships a single self-contained `index.d.ts`/`index.d.cts`; re-exports of `@jaypie/*` subpackages remain external and resolvable.
17
+
18
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.10
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.11
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,18 @@
1
+ ---
2
+ version: 1.3.2
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+ - Added explicit return-type annotations to the internal `getLogger` helpers so the bundled declaration references `@jaypie/logger` instead of inlining a private class (`TS4094`).
17
+
18
+ No runtime behavior changes.
@@ -0,0 +1,43 @@
1
+ ---
2
+ version: 1.3.3
3
+ date: 2026-06-22
4
+ summary: operate() reconciles structured-output keys against the declared format contract
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - `operate()` no longer surfaces structured-output keys wrapped in literal
10
+ double quotes (e.g. `"Merchant Request"` as a key), which made those fields
11
+ unreachable by their declared name (#393).
12
+ - Root cause is provider-side, in Gemini's fallback path — **not** OpenAI,
13
+ despite the original report. When `format` is combined with `tools` on a model
14
+ that does not support Gemini's native `responseJsonSchema` + tools combo
15
+ (observed on `gemini-3.5-flash`), `GoogleAdapter` falls back to the legacy
16
+ `structured_output` fake-tool emulation. That path is a system-prompt nudge,
17
+ **not** grammar-constrained generation, so the model fills the synthetic
18
+ tool's arguments freely — wrapping multi-word property names in quotes and
19
+ omitting empty arrays. The corrupted `functionCall.args` then reach the caller
20
+ verbatim. (Single-word keys such as `Confidence` are unaffected, matching the
21
+ report.)
22
+
23
+ ## Changes
24
+
25
+ - New util `repairFormatKeys` walks the declared `format` contract and renames
26
+ any returned key whose de-quoted form matches a declared key. Wired into
27
+ `OperateLoop` ahead of `fillFormatArrays` (repair keys → backfill arrays), so
28
+ any unconstrained provider path is reconciled back to the declared shape.
29
+ Verified against the exact production payload: corrupted keys → exact match.
30
+ - `OpenAiAdapter.formatOutputSchema` now strips zod v4's draft-2020-12 `$schema`
31
+ keyword and the non-enumerable `~standard` marker before sending, matching the
32
+ OpenRouter and Anthropic adapters. This is schema hygiene — empirically it does
33
+ **not** affect OpenAI strict enforcement (verified clean across gpt-5.4,
34
+ gpt-5.4-mini, gpt-5.4-nano, gpt-5.5, gpt-4o, gpt-4o-mini, gpt-4.1-mini, with
35
+ and without `$schema`) — and is unrelated to #393's Gemini root cause.
36
+ - Added `test/format.ts`, a real-API smoke test exercising mixed single/multi-
37
+ word `format` keys with declared arrays. Verified green across openai,
38
+ anthropic, google, openrouter, and xai.
39
+
40
+ ## Migration
41
+
42
+ No changes required. Consumers that defensively de-quoted corrupted keys or
43
+ normalized missing array fields can drop those workarounds.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.18
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,19 @@
1
+ ---
2
+ version: 0.8.80
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+ - Applies to both the `.` and `./suite` exports (ESM-only).
17
+ - Corrected the `@jaypie/fabric` dependency range (`^0.2.4` → `^0.3.3`); the old range could not resolve the current fabric 0.3.x line.
18
+
19
+ No runtime behavior changes.
@@ -0,0 +1,12 @@
1
+ ---
2
+ version: 0.8.81
3
+ date: 2026-06-22
4
+ summary: Publish @jaypie/llm 1.3.3 release notes
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - Added release notes for `@jaypie/llm@1.3.3` (multi-word `format` key fidelity
10
+ in `operate()`; see issue #393).
11
+
12
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 1.2.3
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 0.3.2
3
+ date: 2026-06-21
4
+ summary: Bundle declarations so types resolve under node16/nodenext
5
+ ---
6
+
7
+ ## Fixes
8
+
9
+ - Bundle the public TypeScript declarations into a single self-contained
10
+ `index.d.ts` (and `index.d.cts` for the CommonJS entry) instead of a per-file
11
+ `.d.ts` tree with extensionless relative re-exports.
12
+ - Under `node16`/`nodenext` module resolution the old extensionless re-exports
13
+ did not resolve in ESM mode, so named re-exports degraded to `any` and
14
+ `export *` members vanished (`TS2305`). The flat declaration resolves
15
+ correctly under `bundler`, `node16`, and `nodenext`.
16
+
17
+ No runtime behavior changes.