@jaypie/mcp 0.3.1 → 0.3.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jaypie/mcp",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Jaypie MCP",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,8 @@
22
22
  },
23
23
  "files": [
24
24
  "dist",
25
- "prompts"
25
+ "prompts",
26
+ "release-notes"
26
27
  ],
27
28
  "scripts": {
28
29
  "build": "rollup --config && chmod +x dist/index.js",
@@ -38,12 +39,14 @@
38
39
  "@modelcontextprotocol/sdk": "^1.17.0",
39
40
  "commander": "^14.0.0",
40
41
  "gray-matter": "^4.0.3",
42
+ "semver": "^7.7.3",
41
43
  "zod": "^4.1.13"
42
44
  },
43
45
  "devDependencies": {
44
46
  "@rollup/plugin-replace": "^6.0.3",
45
47
  "@rollup/plugin-typescript": "^12.3.0",
46
48
  "@types/express": "^5.0.3",
49
+ "@types/semver": "^7.7.1",
47
50
  "express": "^5.1.0",
48
51
  "rollup": "^4.53.3",
49
52
  "typescript": "^5.9.3"
@@ -213,9 +213,29 @@ const transport = new StdioServerTransport();
213
213
  await server.connect(transport);
214
214
  ```
215
215
 
216
- ## Input Validation
216
+ ## Input Validation and Schema Generation
217
217
 
218
- The adapter delegates input validation to the service handler. Invalid inputs result in errors:
218
+ The adapter automatically converts fabric input definitions to Zod schemas for the MCP SDK, enabling proper parameter validation and type inference:
219
+
220
+ ```typescript
221
+ // Fabric input definitions:
222
+ input: {
223
+ name: { type: String, description: "User name" },
224
+ count: { type: Number, default: 10 },
225
+ active: { type: Boolean, required: false },
226
+ status: { type: ["pending", "active", "done"] },
227
+ tags: { type: [String] },
228
+ }
229
+
230
+ // Automatically generates equivalent Zod schemas:
231
+ // name: z.string().describe("User name")
232
+ // count: z.number().optional().default(10)
233
+ // active: z.boolean().optional()
234
+ // status: z.enum(["active", "done", "pending"])
235
+ // tags: z.array(z.string())
236
+ ```
237
+
238
+ The adapter also delegates input validation to the service handler. Invalid inputs result in errors:
219
239
 
220
240
  ```typescript
221
241
  // If handler expects:
@@ -19,6 +19,7 @@ packages/mcp/
19
19
  │ ├── datadog.ts # Datadog API integration (https-based)
20
20
  │ └── llm.ts # LLM debug utilities
21
21
  ├── prompts/ # Markdown guides served via list_prompts/read_prompt tools
22
+ ├── release-notes/ # Version history by package (e.g., release-notes/mcp/0.3.2.md)
22
23
  └── dist/ # Built output
23
24
  ```
24
25
 
@@ -50,15 +51,17 @@ import { createMcpServer } from "@jaypie/mcp";
50
51
  const server = createMcpServer({ version: "1.0.0", verbose: true });
51
52
  ```
52
53
 
53
- ## MCP Tools (27 total)
54
+ ## MCP Tools (29 total)
54
55
 
55
- ### Documentation Tools (3)
56
+ ### Documentation Tools (5)
56
57
 
57
58
  | Tool | Description |
58
59
  |------|-------------|
59
60
  | `list_prompts` | Lists all `.md` files in `prompts/` with descriptions and required file patterns |
60
61
  | `read_prompt` | Returns content of a specific prompt file |
61
62
  | `version` | Returns package version string |
63
+ | `list_release_notes` | Lists release notes by package, supports `since_version` filtering |
64
+ | `read_release_note` | Returns full content of a specific release note |
62
65
 
63
66
  ### AWS CLI Tools (16)
64
67
 
@@ -225,6 +228,35 @@ Markdown content here...
225
228
 
226
229
  Prompts are automatically available via `list_prompts` and `read_prompt` tools.
227
230
 
231
+ ## Adding New Release Notes
232
+
233
+ Release notes are organized by package in `release-notes/`:
234
+
235
+ ```
236
+ release-notes/
237
+ ├── jaypie/
238
+ │ └── 1.2.3.md
239
+ └── mcp/
240
+ └── 0.3.2.md
241
+ ```
242
+
243
+ Each release note uses YAML frontmatter:
244
+
245
+ ```yaml
246
+ ---
247
+ version: 0.3.2
248
+ date: 2025-01-19
249
+ summary: Brief one-line summary for listing
250
+ ---
251
+
252
+ ## Changes
253
+
254
+ - Feature 1
255
+ - Bug fix 2
256
+ ```
257
+
258
+ Release notes are automatically available via `list_release_notes` and `read_release_note` tools. The `since_version` parameter allows clients to query only releases newer than a specific version.
259
+
228
260
  ## Exports
229
261
 
230
262
  ```typescript
@@ -0,0 +1,17 @@
1
+ ---
2
+ version: 0.1.1
3
+ date: 2025-01-19
4
+ summary: Added HTTP server, Express router, Commander CLI, streaming support, and FabricData CRUD generator
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - Added `FabricHttpServer` for standalone multi-service Lambda/server routing
10
+ - Added `FabricRouter` for Express multi-service routing
11
+ - Added `fabricExpress` middleware adapter
12
+ - Added `fabricCommand` for Commander CLI integration
13
+ - Added `FabricData` CRUD service generator for DynamoDB models
14
+ - Added streaming support with SSE/NDJSON utilities
15
+ - Fixed MCP adapter registration
16
+ - Renamed `convert` to `resolve` for consistency
17
+ - Refactored organizational unit to scope naming
@@ -0,0 +1,14 @@
1
+ ---
2
+ version: 0.3.2
3
+ date: 2025-01-19
4
+ summary: Added release notes tools for querying package version history
5
+ ---
6
+
7
+ ## Changes
8
+
9
+ - Added `list_release_notes` tool to list available release notes by package and version
10
+ - Added `read_release_note` tool to read full release note content
11
+ - Added `release-notes/` directory structure organized by package name
12
+ - Added `semver` dependency for version comparison and filtering
13
+ - Release notes support YAML frontmatter with version, date, and summary fields
14
+ - Supports filtering by `since_version` to get only newer releases