@rockhopper-co/mcp-server 0.7.0 → 0.10.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.
- package/CHANGELOG.md +68 -0
- package/README.md +31 -0
- package/dist/api-client.d.ts +83 -3
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +171 -10
- package/dist/api-client.js.map +1 -1
- package/dist/auth/device-grant-client.d.ts.map +1 -1
- package/dist/auth/device-grant-client.js +3 -1
- package/dist/auth/device-grant-client.js.map +1 -1
- package/dist/cli.js +39 -1
- package/dist/cli.js.map +1 -1
- package/dist/correlation.d.ts +9 -0
- package/dist/correlation.d.ts.map +1 -0
- package/dist/correlation.js +26 -0
- package/dist/correlation.js.map +1 -0
- package/dist/logger.d.ts +42 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +159 -0
- package/dist/logger.js.map +1 -0
- package/dist/not-ready.d.ts +95 -0
- package/dist/not-ready.d.ts.map +1 -0
- package/dist/not-ready.js +151 -0
- package/dist/not-ready.js.map +1 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +8 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/changes.d.ts.map +1 -1
- package/dist/resources/changes.js +6 -0
- package/dist/resources/changes.js.map +1 -1
- package/dist/resources/orchestration-guide.md +23 -3
- package/dist/resources/teams.d.ts.map +1 -1
- package/dist/resources/teams.js +7 -1
- package/dist/resources/teams.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +40 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/get-cell-history.d.ts.map +1 -1
- package/dist/tools/get-cell-history.js +28 -4
- package/dist/tools/get-cell-history.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +13 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/write-reviews.d.ts.map +1 -1
- package/dist/tools/write-reviews.js +58 -4
- package/dist/tools/write-reviews.js.map +1 -1
- package/dist/types.d.ts +58 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/zod-schemas.d.ts +30 -54
- package/dist/zod-schemas.d.ts.map +1 -1
- package/dist/zod-schemas.js +24 -0
- package/dist/zod-schemas.js.map +1 -1
- package/package.json +22 -10
package/dist/zod-schemas.d.ts
CHANGED
|
@@ -27,23 +27,9 @@ export declare const FileChatSchema: z.ZodObject<{
|
|
|
27
27
|
message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
28
28
|
resolved: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
29
29
|
cellReference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
30
|
-
createdAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
31
|
-
updatedAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
32
|
-
},
|
|
33
|
-
internalId: z.ZodNumber;
|
|
34
|
-
message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
35
|
-
resolved: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
36
|
-
cellReference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
-
createdAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
38
|
-
updatedAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
39
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
40
|
-
internalId: z.ZodNumber;
|
|
41
|
-
message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
42
|
-
resolved: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
43
|
-
cellReference: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
44
|
-
createdAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
45
|
-
updatedAt: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodDate]>>;
|
|
46
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
30
|
+
createdAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
|
|
31
|
+
updatedAt: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
|
|
32
|
+
}, z.core.$loose>;
|
|
47
33
|
/**
|
|
48
34
|
* Backend `PATCH /enrolled-files/:fileMsId` returns the updated
|
|
49
35
|
* EnrolledFile entity after KI-096 (was UpdateResult). The
|
|
@@ -56,21 +42,7 @@ export declare const EnrolledFileSchema: z.ZodObject<{
|
|
|
56
42
|
fileType: z.ZodOptional<z.ZodString>;
|
|
57
43
|
driveMsId: z.ZodOptional<z.ZodString>;
|
|
58
44
|
hasUncommittedChanges: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
59
|
-
},
|
|
60
|
-
internalId: z.ZodOptional<z.ZodNumber>;
|
|
61
|
-
platformId: z.ZodString;
|
|
62
|
-
name: z.ZodString;
|
|
63
|
-
fileType: z.ZodOptional<z.ZodString>;
|
|
64
|
-
driveMsId: z.ZodOptional<z.ZodString>;
|
|
65
|
-
hasUncommittedChanges: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
66
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
67
|
-
internalId: z.ZodOptional<z.ZodNumber>;
|
|
68
|
-
platformId: z.ZodString;
|
|
69
|
-
name: z.ZodString;
|
|
70
|
-
fileType: z.ZodOptional<z.ZodString>;
|
|
71
|
-
driveMsId: z.ZodOptional<z.ZodString>;
|
|
72
|
-
hasUncommittedChanges: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
73
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
45
|
+
}, z.core.$loose>;
|
|
74
46
|
/**
|
|
75
47
|
* Backend `GET /file-versions/file/:fileMsId/cell-history?format=mcp`
|
|
76
48
|
* returns the normalized projection added by KI-096. The mcp-server
|
|
@@ -81,31 +53,35 @@ export declare const CellHistoryEntrySchema: z.ZodObject<{
|
|
|
81
53
|
value: z.ZodUnknown;
|
|
82
54
|
changedBy: z.ZodNullable<z.ZodString>;
|
|
83
55
|
changedAt: z.ZodString;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
},
|
|
90
|
-
versionId: string;
|
|
91
|
-
changedBy: string | null;
|
|
92
|
-
changedAt: string;
|
|
93
|
-
value?: unknown;
|
|
94
|
-
}>;
|
|
56
|
+
formula: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
57
|
+
provenance: z.ZodOptional<z.ZodString>;
|
|
58
|
+
actorKind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
59
|
+
drivingHuman: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
60
|
+
formatted: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, z.core.$strip>;
|
|
95
62
|
export declare const CellHistoryEntryArraySchema: z.ZodArray<z.ZodObject<{
|
|
96
63
|
versionId: z.ZodString;
|
|
97
64
|
value: z.ZodUnknown;
|
|
98
65
|
changedBy: z.ZodNullable<z.ZodString>;
|
|
99
66
|
changedAt: z.ZodString;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
67
|
+
formula: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
provenance: z.ZodOptional<z.ZodString>;
|
|
69
|
+
actorKind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
drivingHuman: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
|
+
formatted: z.ZodOptional<z.ZodString>;
|
|
72
|
+
}, z.core.$strip>>;
|
|
73
|
+
/**
|
|
74
|
+
* Backend `GET /file-versions/file/:fileMsId/fold-status` (KI-1399) — the
|
|
75
|
+
* authoritative queue read the strict no-partial gate consults before any
|
|
76
|
+
* change-history surface serves a row (plan 02 ruling 5). Schema-parsed
|
|
77
|
+
* because a drifted/absent `foldPending` must fail loudly: silently
|
|
78
|
+
* `undefined` would coerce falsy and serve partial rows, which is the exact
|
|
79
|
+
* failure the gate exists to prevent.
|
|
80
|
+
*/
|
|
81
|
+
export declare const FoldStatusSchema: z.ZodObject<{
|
|
82
|
+
fileMsId: z.ZodOptional<z.ZodString>;
|
|
83
|
+
foldPending: z.ZodBoolean;
|
|
84
|
+
foldTargetVersionId: z.ZodNullable<z.ZodNumber>;
|
|
85
|
+
checkedAt: z.ZodOptional<z.ZodString>;
|
|
86
|
+
}, z.core.$loose>;
|
|
111
87
|
//# sourceMappingURL=zod-schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-schemas.d.ts","sourceRoot":"","sources":["../src/zod-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"zod-schemas.d.ts","sourceRoot":"","sources":["../src/zod-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;iBASX,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;iBASf,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAajC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;kBAAkC,CAAC;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAOb,CAAC"}
|
package/dist/zod-schemas.js
CHANGED
|
@@ -57,6 +57,30 @@ export const CellHistoryEntrySchema = z.object({
|
|
|
57
57
|
value: z.unknown(),
|
|
58
58
|
changedBy: z.string().nullable(),
|
|
59
59
|
changedAt: z.string(),
|
|
60
|
+
// ENG-1638 (P3-2) remainder: the widened ledger-served projection. Optional —
|
|
61
|
+
// the legacy normalized fallback (not-eligible file / Google / old backend)
|
|
62
|
+
// carries only the four core fields.
|
|
63
|
+
formula: z.string().nullable().optional(),
|
|
64
|
+
provenance: z.string().optional(),
|
|
65
|
+
actorKind: z.string().nullable().optional(),
|
|
66
|
+
drivingHuman: z.string().nullable().optional(),
|
|
67
|
+
formatted: z.string().optional(),
|
|
60
68
|
});
|
|
61
69
|
export const CellHistoryEntryArraySchema = z.array(CellHistoryEntrySchema);
|
|
70
|
+
/**
|
|
71
|
+
* Backend `GET /file-versions/file/:fileMsId/fold-status` (KI-1399) — the
|
|
72
|
+
* authoritative queue read the strict no-partial gate consults before any
|
|
73
|
+
* change-history surface serves a row (plan 02 ruling 5). Schema-parsed
|
|
74
|
+
* because a drifted/absent `foldPending` must fail loudly: silently
|
|
75
|
+
* `undefined` would coerce falsy and serve partial rows, which is the exact
|
|
76
|
+
* failure the gate exists to prevent.
|
|
77
|
+
*/
|
|
78
|
+
export const FoldStatusSchema = z
|
|
79
|
+
.object({
|
|
80
|
+
fileMsId: z.string().optional(),
|
|
81
|
+
foldPending: z.boolean(),
|
|
82
|
+
foldTargetVersionId: z.number().int().nullable(),
|
|
83
|
+
checkedAt: z.string().optional(),
|
|
84
|
+
})
|
|
85
|
+
.passthrough();
|
|
62
86
|
//# sourceMappingURL=zod-schemas.js.map
|
package/dist/zod-schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-schemas.js","sourceRoot":"","sources":["../src/zod-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"zod-schemas.js","sourceRoot":"","sources":["../src/zod-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACzD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,8EAA8E;IAC9E,4EAA4E;IAC5E,qCAAqC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC;KACD,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rockhopper-co/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Rockhopper MCP server — expose file metadata, versions, reviews, and comments to AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,20 +46,32 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
48
48
|
"keytar": "^7.9.0",
|
|
49
|
-
"
|
|
49
|
+
"pino": "^10.3.1",
|
|
50
|
+
"pino-roll": "^4.0.0",
|
|
51
|
+
"zod": "^4.4.3"
|
|
50
52
|
},
|
|
51
53
|
"devDependencies": {
|
|
52
54
|
"@eslint/js": "^10.0.1",
|
|
53
|
-
"@types/node": "^
|
|
54
|
-
"@vitest/coverage-v8": "^
|
|
55
|
-
"eslint": "^10.
|
|
56
|
-
"globals": "^17.
|
|
57
|
-
"tsx": "^4.
|
|
58
|
-
"typescript": "^
|
|
59
|
-
"typescript-eslint": "^8.
|
|
60
|
-
"vitest": "^
|
|
55
|
+
"@types/node": "^26.1.1",
|
|
56
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
57
|
+
"eslint": "^10.7.0",
|
|
58
|
+
"globals": "^17.7.0",
|
|
59
|
+
"tsx": "^4.23.1",
|
|
60
|
+
"typescript": "^6.0.3",
|
|
61
|
+
"typescript-eslint": "^8.65.0",
|
|
62
|
+
"vitest": "^4.1.10",
|
|
61
63
|
"zod-to-json-schema": "^3.24.6"
|
|
62
64
|
},
|
|
65
|
+
"overrides": {
|
|
66
|
+
"@hono/node-server@1": "^1.19.17",
|
|
67
|
+
"body-parser@2": "^2.3.0",
|
|
68
|
+
"brace-expansion@5": "^5.0.7",
|
|
69
|
+
"fast-uri@3": "^3.1.5",
|
|
70
|
+
"hono@4": "^4.12.34",
|
|
71
|
+
"ip-address@10": "^10.3.1",
|
|
72
|
+
"postcss@8": "^8.5.18",
|
|
73
|
+
"qs@6": "^6.15.2"
|
|
74
|
+
},
|
|
63
75
|
"keywords": [
|
|
64
76
|
"mcp",
|
|
65
77
|
"model-context-protocol",
|