@node-in-layers/mcp-server 1.1.11 → 1.1.12
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/mcp.js +13 -6
- package/mcp.js.map +1 -1
- package/package.json +2 -1
package/mcp.js
CHANGED
|
@@ -11,6 +11,7 @@ import get from 'lodash/get.js';
|
|
|
11
11
|
import { createSimpleServer } from '@l4t/mcp-ai/simple-server/index.js';
|
|
12
12
|
import { generateMcpToolForModelOperation, } from 'functional-models-orm-mcp';
|
|
13
13
|
import { v4 as uuidv4 } from 'uuid';
|
|
14
|
+
import { asyncMap } from 'modern-async';
|
|
14
15
|
import { McpNamespace, } from './types.js';
|
|
15
16
|
const DEFAULT_RESPONSE_REQUEST_LOG_LEVEL = 'info';
|
|
16
17
|
const create = (context) => {
|
|
@@ -29,16 +30,22 @@ const create = (context) => {
|
|
|
29
30
|
const model = cruds.getModel();
|
|
30
31
|
const tools = [
|
|
31
32
|
Object.assign(Object.assign({}, generateMcpToolForModelOperation(model, 'save', opts)), { execute: (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
-
return cruds.create(input);
|
|
33
|
+
return cruds.create(input).then(x => x.toObj());
|
|
33
34
|
}) }),
|
|
34
35
|
Object.assign(Object.assign({}, generateMcpToolForModelOperation(model, 'retrieve', opts)), { execute: ({ id }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
-
return cruds.retrieve(id);
|
|
36
|
+
return cruds.retrieve(id).then(x => (x ? x.toObj() : null));
|
|
36
37
|
}) }),
|
|
37
38
|
Object.assign(Object.assign({}, generateMcpToolForModelOperation(model, 'delete', opts)), { execute: ({ id }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
39
|
yield cruds.delete(id);
|
|
39
40
|
}) }),
|
|
40
41
|
Object.assign(Object.assign({}, generateMcpToolForModelOperation(model, 'search', opts)), { execute: (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
-
return cruds.search(input)
|
|
42
|
+
return cruds.search(input).then(result => {
|
|
43
|
+
const instances = asyncMap(result.instances, y => y.toObj());
|
|
44
|
+
return {
|
|
45
|
+
instances,
|
|
46
|
+
page: result.page,
|
|
47
|
+
};
|
|
48
|
+
});
|
|
42
49
|
}) }),
|
|
43
50
|
Object.assign(Object.assign({}, generateMcpToolForModelOperation(model, 'bulkInsert', opts)), { execute: (input) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
51
|
yield cruds.bulkInsert(input);
|
|
@@ -134,17 +141,17 @@ const create = (context) => {
|
|
|
134
141
|
* @returns A function that can be used to add the models to the MCP server.
|
|
135
142
|
*/
|
|
136
143
|
const mcpModels = (namespace, context, opts) => {
|
|
137
|
-
const
|
|
144
|
+
const mcpFunctions = context.mcp[McpNamespace];
|
|
138
145
|
const namedFeatures = get(context, `features.${namespace}`);
|
|
139
146
|
if (!namedFeatures) {
|
|
140
|
-
throw new Error(`features.${namespace} does not exist on context needed for
|
|
147
|
+
throw new Error(`features.${namespace} does not exist on context needed for mcp.`);
|
|
141
148
|
}
|
|
142
149
|
// Look for CRUDS functions.
|
|
143
150
|
Object.entries(namedFeatures).forEach(([key, value]) => {
|
|
144
151
|
if (typeof value === 'object') {
|
|
145
152
|
if (key === 'cruds') {
|
|
146
153
|
Object.entries(value).forEach(([, modelCrudFuncs]) => {
|
|
147
|
-
|
|
154
|
+
mcpFunctions.addModelCruds(modelCrudFuncs, opts);
|
|
148
155
|
});
|
|
149
156
|
}
|
|
150
157
|
}
|
package/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,GAAG,MAAM,eAAe,CAAA;AAO/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAGvE,OAAO,EACL,gCAAgC,GAEjC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAIL,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,MAAM,kCAAkC,GAAG,MAAM,CAAA;AAEjD,MAAM,MAAM,GAAG,CACb,OAA6C,EAC/B,EAAE;IAChB,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,MAAM,kBAAkB,GAAwB,EAAE,CAAA;IAElD,MAAM,OAAO,GAAG,CAAC,IAAgB,EAAE,EAAE;QACnC,qDAAqD;QACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,KAA+B,EAC/B,IAEC,EACD,EAAE;QACF,qDAAqD;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACxD,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,CAChC,KAA+B,EAC/B,IAEC,EACsB,EAAE;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;QAC9B,MAAM,KAAK,GAAiB;4CAErB,gCAAgC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KACxD,OAAO,EAAE,CAAO,KAAU,EAAE,EAAE;oBAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@node-in-layers/mcp-server",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.12",
|
|
5
5
|
"description": "An MCP Server Node In Layers Package, generated by the Node In Layers Toolkit.",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"scripts": {
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"functional-models": "^3.0.16",
|
|
68
68
|
"functional-models-orm-mcp": "^3.0.6",
|
|
69
69
|
"lodash": "^4.17.21",
|
|
70
|
+
"modern-async": "^2.0.4",
|
|
70
71
|
"uuid": "^11.1.0"
|
|
71
72
|
}
|
|
72
73
|
}
|