@node-in-layers/mcp-server 1.0.4 → 1.1.1
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 +17 -10
- package/mcp.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +10 -4
- package/types.js.map +1 -1
package/mcp.js
CHANGED
|
@@ -17,7 +17,6 @@ const create = (context) => {
|
|
|
17
17
|
const tools = [];
|
|
18
18
|
const models = [];
|
|
19
19
|
const preRouteMiddleware = [];
|
|
20
|
-
const postRouteMiddleware = [];
|
|
21
20
|
const addTool = (tool) => {
|
|
22
21
|
// eslint-disable-next-line functional/immutable-data
|
|
23
22
|
tools.push(tool);
|
|
@@ -83,10 +82,15 @@ const create = (context) => {
|
|
|
83
82
|
};
|
|
84
83
|
const _getServer = () => {
|
|
85
84
|
const allTools = [...tools, ...models].map(_wrapToolsWithLogger);
|
|
86
|
-
const server = createSimpleServer(
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
const server = createSimpleServer({
|
|
86
|
+
name: context.config[McpNamespace].name || '@node-in-layers/mcp-server',
|
|
87
|
+
version: context.config[McpNamespace].version || '1.0.0',
|
|
88
|
+
tools: allTools,
|
|
89
|
+
server: context.config[McpNamespace].server,
|
|
90
|
+
}, {
|
|
91
|
+
express: {
|
|
92
|
+
preRouteMiddleware,
|
|
93
|
+
},
|
|
90
94
|
});
|
|
91
95
|
return server;
|
|
92
96
|
};
|
|
@@ -94,10 +98,6 @@ const create = (context) => {
|
|
|
94
98
|
// eslint-disable-next-line functional/immutable-data
|
|
95
99
|
preRouteMiddleware.push(middleware);
|
|
96
100
|
};
|
|
97
|
-
const addPostRouteMiddleware = (middleware) => {
|
|
98
|
-
// eslint-disable-next-line functional/immutable-data
|
|
99
|
-
postRouteMiddleware.push(middleware);
|
|
100
|
-
};
|
|
101
101
|
const start = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
102
|
const server = _getServer();
|
|
103
103
|
yield server.start();
|
|
@@ -111,13 +111,20 @@ const create = (context) => {
|
|
|
111
111
|
// @ts-ignore
|
|
112
112
|
return server.getApp();
|
|
113
113
|
};
|
|
114
|
+
const addFeature = (featureFunc, tool) => {
|
|
115
|
+
tools.push(Object.assign(Object.assign({}, tool), { execute: (input, crossLayerProps) => __awaiter(void 0, void 0, void 0, function* () {
|
|
116
|
+
return featureFunc(
|
|
117
|
+
// @ts-ignore
|
|
118
|
+
...(Array.isArray(input) ? input : [input]), crossLayerProps);
|
|
119
|
+
}) }));
|
|
120
|
+
};
|
|
114
121
|
return {
|
|
115
122
|
start,
|
|
116
123
|
getApp,
|
|
117
124
|
addTool,
|
|
118
125
|
addModelCruds,
|
|
119
126
|
addPreRouteMiddleware,
|
|
120
|
-
|
|
127
|
+
addFeature,
|
|
121
128
|
};
|
|
122
129
|
};
|
|
123
130
|
/**
|
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;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/types.d.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
import { ExpressMiddleware } from '@l4t/mcp-ai/common/types.js';
|
|
2
|
-
import { ServerTool
|
|
1
|
+
import { ExpressMiddleware, McpTool } from '@l4t/mcp-ai/common/types.js';
|
|
2
|
+
import { ServerTool } from '@l4t/mcp-ai/simple-server/types.js';
|
|
3
|
+
import { ServerHttpConfig, ServerCliConfig, ServerSseConfig, ServerStatelessHttpConfig } from '@l4t/mcp-ai';
|
|
3
4
|
import { Config, CommonContext, LogLevelNames, LayerContext, ModelCrudsFunctions } from '@node-in-layers/core';
|
|
4
5
|
import { Express } from 'express';
|
|
5
6
|
import { ToolNameGenerator } from 'functional-models-orm-mcp';
|
|
7
|
+
type Connection = ServerHttpConfig | ServerCliConfig | ServerSseConfig | ServerStatelessHttpConfig;
|
|
6
8
|
export type McpServerConfig = Readonly<{
|
|
7
9
|
[McpNamespace]: {
|
|
8
10
|
name?: string;
|
|
9
11
|
version?: string;
|
|
10
|
-
|
|
12
|
+
stateless?: boolean;
|
|
13
|
+
server: {
|
|
14
|
+
connection: Connection;
|
|
15
|
+
};
|
|
11
16
|
logging?: {
|
|
12
17
|
requestLogLevel: LogLevelNames;
|
|
13
18
|
responseLogLevel: LogLevelNames;
|
|
@@ -23,7 +28,7 @@ export type McpServerMcp = Readonly<{
|
|
|
23
28
|
nameGenerator: ToolNameGenerator;
|
|
24
29
|
}) => void;
|
|
25
30
|
addPreRouteMiddleware: (middleware: ExpressMiddleware) => void;
|
|
26
|
-
|
|
31
|
+
addFeature: <T>(featureFunc: (input: T) => Promise<any>, tool: McpTool) => void;
|
|
27
32
|
}>;
|
|
28
33
|
export type McpServerMcpLayer = Readonly<{
|
|
29
34
|
[McpNamespace]: McpServerMcp;
|
|
@@ -32,3 +37,4 @@ export type McpContext<TConfig extends Config = Config, TFeatures extends object
|
|
|
32
37
|
features: TFeatures;
|
|
33
38
|
mcp: McpServerMcpLayer & TMcpLayer;
|
|
34
39
|
}> & CommonContext<TConfig>;
|
|
40
|
+
export {};
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuCA,MAAM,CAAC,MAAM,YAAY,GAAG,4BAA4B,CAAA"}
|