@mcp-z/mcp-sheets 2.1.1 → 2.3.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/dist/cjs/setup/http.d.cts +0 -2
- package/dist/cjs/setup/http.d.ts +0 -2
- package/dist/cjs/setup/http.js +18 -10
- package/dist/cjs/setup/http.js.map +1 -1
- package/dist/cjs/setup/stdio.d.cts +0 -2
- package/dist/cjs/setup/stdio.d.ts +0 -2
- package/dist/cjs/setup/stdio.js +18 -10
- package/dist/cjs/setup/stdio.js.map +1 -1
- package/dist/esm/setup/http.d.ts +0 -2
- package/dist/esm/setup/http.js +18 -10
- package/dist/esm/setup/http.js.map +1 -1
- package/dist/esm/setup/stdio.d.ts +0 -2
- package/dist/esm/setup/stdio.js +18 -10
- package/dist/esm/setup/stdio.js.map +1 -1
- package/package.json +2 -3
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
3
|
httpServer: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
|
|
5
|
-
mcpServer: McpServer;
|
|
6
4
|
logger: import("@mcp-z/server").Logger;
|
|
7
5
|
close: () => Promise<void>;
|
|
8
6
|
}>;
|
package/dist/cjs/setup/http.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
3
|
httpServer: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
|
|
5
|
-
mcpServer: McpServer;
|
|
6
4
|
logger: import("@mcp-z/server").Logger;
|
|
7
5
|
close: () => Promise<void>;
|
|
8
6
|
}>;
|
package/dist/cjs/setup/http.js
CHANGED
|
@@ -171,7 +171,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
171
171
|
}
|
|
172
172
|
function createHTTPServer(config, overrides) {
|
|
173
173
|
return _async_to_generator(function() {
|
|
174
|
-
var runtime, modules, layers, composed, logger, port, tools, prompts,
|
|
174
|
+
var runtime, modules, layers, composed, logger, port, tools, prompts, buildServer, app, publicUrl, _ref, close, httpServer;
|
|
175
175
|
return _ts_generator(this, function(_state) {
|
|
176
176
|
switch(_state.label){
|
|
177
177
|
case 0:
|
|
@@ -191,13 +191,22 @@ function createHTTPServer(config, overrides) {
|
|
|
191
191
|
if (!port) throw new Error('Port is required for HTTP transport');
|
|
192
192
|
tools = _to_consumable_array(composed.tools).concat(_to_consumable_array(runtime.deps.oauthAdapters.accountTools));
|
|
193
193
|
prompts = _to_consumable_array(composed.prompts).concat(_to_consumable_array(runtime.deps.oauthAdapters.accountPrompts));
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
(
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
// Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the
|
|
195
|
+
// negotiated protocol revision on the McpServer instance - its own docs say a negotiated
|
|
196
|
+
// session never re-routes a method onto the other era - so one shared instance pins itself
|
|
197
|
+
// to whichever revision reaches it first and answers the other with -32601.
|
|
198
|
+
buildServer = function buildServer() {
|
|
199
|
+
var mcpServer = new _server.McpServer({
|
|
200
|
+
name: config.name,
|
|
201
|
+
version: config.version
|
|
202
|
+
}, {
|
|
203
|
+
cacheHints: _server.defaultCacheHints
|
|
204
|
+
});
|
|
205
|
+
(0, _server.registerTools)(mcpServer, tools);
|
|
206
|
+
(0, _server.registerResources)(mcpServer, composed.resources);
|
|
207
|
+
(0, _server.registerPrompts)(mcpServer, prompts);
|
|
208
|
+
return mcpServer;
|
|
209
|
+
};
|
|
201
210
|
app = (0, _express.default)();
|
|
202
211
|
app.use(_express.default.json({
|
|
203
212
|
limit: '10mb'
|
|
@@ -208,7 +217,7 @@ function createHTTPServer(config, overrides) {
|
|
|
208
217
|
logger.info("Starting ".concat(config.name, " MCP server (http)"));
|
|
209
218
|
return [
|
|
210
219
|
4,
|
|
211
|
-
(0, _server.connectHttp)(
|
|
220
|
+
(0, _server.connectHttp)(buildServer, {
|
|
212
221
|
logger: logger,
|
|
213
222
|
app: app,
|
|
214
223
|
port: port,
|
|
@@ -238,7 +247,6 @@ function createHTTPServer(config, overrides) {
|
|
|
238
247
|
2,
|
|
239
248
|
{
|
|
240
249
|
httpServer: httpServer,
|
|
241
|
-
mcpServer: mcpServer,
|
|
242
250
|
logger: logger,
|
|
243
251
|
close: function close1() {
|
|
244
252
|
return _async_to_generator(function() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport cors from 'cors';\nimport express from 'express';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n const port = config.transport.port;\n if (!port) throw new Error('Port is required for HTTP transport');\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n const mcpServer = new McpServer({ name: config.name, version: config.version });\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport cors from 'cors';\nimport express from 'express';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n const port = config.transport.port;\n if (!port) throw new Error('Port is required for HTTP transport');\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n // Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the\n // negotiated protocol revision on the McpServer instance - its own docs say a negotiated\n // session never re-routes a method onto the other era - so one shared instance pins itself\n // to whichever revision reaches it first and answers the other with -32601.\n const buildServer = () => {\n const mcpServer = new McpServer({ name: config.name, version: config.version }, { cacheHints: defaultCacheHints });\n registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n return mcpServer;\n };\n\n const app = express();\n app.use(express.json({ limit: '10mb' }));\n\n // Must mount '/mcp' before any permissive app-level cors(), or that layer answers its\n // preflight first; pass baseUrl's origin/host below or a public deployment 403s itself.\n const publicUrl = config.baseUrl ? new URL(config.baseUrl) : undefined;\n logger.info(`Starting ${config.name} MCP server (http)`);\n const { close, httpServer } = await connectHttp(buildServer, {\n logger,\n app,\n port,\n allowedOrigins: publicUrl ? [publicUrl.origin] : undefined,\n allowedHosts: publicUrl ? [publicUrl.host] : undefined,\n });\n\n // The loopback OAuth callback and the DCR discovery/registration endpoints are\n // meant to be reached from a browser on another origin. Keep cors() for them,\n // scoped to their own routes - never in front of '/mcp'.\n if (runtime.deps.oauthAdapters.loopbackRouter) {\n app.use('/', cors(), runtime.deps.oauthAdapters.loopbackRouter);\n logger.info('Mounted loopback OAuth callback router');\n }\n\n if (runtime.deps.oauthAdapters.dcrRouter) {\n app.use('/', cors(), runtime.deps.oauthAdapters.dcrRouter);\n logger.info('Mounted DCR router with OAuth endpoints');\n }\n\n logger.info('http transport ready');\n\n return {\n httpServer,\n logger,\n close: async () => {\n await close();\n await runtime.close();\n },\n };\n}\n"],"names":["createHTTPServer","config","overrides","runtime","modules","layers","composed","logger","port","tools","prompts","buildServer","app","publicUrl","close","httpServer","createDefaultRuntime","createDomainModules","middlewareFactories","map","factory","deps","composeMiddleware","transport","Error","oauthAdapters","accountTools","accountPrompts","mcpServer","McpServer","name","version","cacheHints","defaultCacheHints","registerTools","registerResources","resources","registerPrompts","express","use","json","limit","baseUrl","URL","undefined","info","connectHttp","allowedOrigins","origin","allowedHosts","host","loopbackRouter","cors","dcrRouter"],"mappings":";;;;+BAMsBA;;;eAAAA;;;sBAN0G;2DAC/G;8DACG;yBAEiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B,SAAeA,iBAAiBC,MAAoB,EAAEC,SAA4B;;YACjFC,SACAC,SACAC,QACAC,UACAC,QACAC,MAGAC,OACAC,SAMAC,aAQAC,KAKAC,WAEwB,MAAtBC,OAAOC;;;;oBA9BC;;wBAAMC,IAAAA,+BAAoB,EAACf,QAAQC;;;oBAA7CC,UAAU;oBACVC,UAAUD,QAAQc,mBAAmB;oBACrCZ,SAASF,QAAQe,mBAAmB,CAACC,GAAG,CAAC,SAACC;+BAAYA,QAAQjB,QAAQkB,IAAI;;oBAC1Ef,WAAWgB,IAAAA,yBAAiB,EAAClB,SAASC;oBACtCE,SAASJ,QAAQkB,IAAI,CAACd,MAAM;oBAC5BC,OAAOP,OAAOsB,SAAS,CAACf,IAAI;oBAClC,IAAI,CAACA,MAAM,MAAM,IAAIgB,MAAM;oBAErBf,QAAQ,AAAC,qBAAGH,SAASG,KAAK,SAAE,qBAAGN,QAAQkB,IAAI,CAACI,aAAa,CAACC,YAAY;oBACtEhB,UAAU,AAAC,qBAAGJ,SAASI,OAAO,SAAE,qBAAGP,QAAQkB,IAAI,CAACI,aAAa,CAACE,cAAc;oBAElF,sFAAsF;oBACtF,yFAAyF;oBACzF,2FAA2F;oBAC3F,4EAA4E;oBACtEhB,cAAc;wBAClB,IAAMiB,YAAY,IAAIC,iBAAS,CAAC;4BAAEC,MAAM7B,OAAO6B,IAAI;4BAAEC,SAAS9B,OAAO8B,OAAO;wBAAC,GAAG;4BAAEC,YAAYC,yBAAiB;wBAAC;wBAChHC,IAAAA,qBAAa,EAACN,WAAWnB;wBACzB0B,IAAAA,yBAAiB,EAACP,WAAWtB,SAAS8B,SAAS;wBAC/CC,IAAAA,uBAAe,EAACT,WAAWlB;wBAC3B,OAAOkB;oBACT;oBAEMhB,MAAM0B,IAAAA,gBAAO;oBACnB1B,IAAI2B,GAAG,CAACD,gBAAO,CAACE,IAAI,CAAC;wBAAEC,OAAO;oBAAO;oBAErC,sFAAsF;oBACtF,wFAAwF;oBAClF5B,YAAYZ,OAAOyC,OAAO,GAAG,IAAIC,IAAI1C,OAAOyC,OAAO,IAAIE;oBAC7DrC,OAAOsC,IAAI,CAAC,AAAC,YAAuB,OAAZ5C,OAAO6B,IAAI,EAAC;oBACN;;wBAAMgB,IAAAA,mBAAW,EAACnC,aAAa;4BAC3DJ,QAAAA;4BACAK,KAAAA;4BACAJ,MAAAA;4BACAuC,gBAAgBlC;gCAAaA,UAAUmC,MAAM;gCAAIJ;4BACjDK,cAAcpC;gCAAaA,UAAUqC,IAAI;gCAAIN;wBAC/C;;;oBAN8B,OAAA,eAAtB9B,QAAsB,KAAtBA,OAAOC,aAAe,KAAfA;oBAQf,+EAA+E;oBAC/E,8EAA8E;oBAC9E,yDAAyD;oBACzD,IAAIZ,QAAQkB,IAAI,CAACI,aAAa,CAAC0B,cAAc,EAAE;wBAC7CvC,IAAI2B,GAAG,CAAC,KAAKa,IAAAA,aAAI,KAAIjD,QAAQkB,IAAI,CAACI,aAAa,CAAC0B,cAAc;wBAC9D5C,OAAOsC,IAAI,CAAC;oBACd;oBAEA,IAAI1C,QAAQkB,IAAI,CAACI,aAAa,CAAC4B,SAAS,EAAE;wBACxCzC,IAAI2B,GAAG,CAAC,KAAKa,IAAAA,aAAI,KAAIjD,QAAQkB,IAAI,CAACI,aAAa,CAAC4B,SAAS;wBACzD9C,OAAOsC,IAAI,CAAC;oBACd;oBAEAtC,OAAOsC,IAAI,CAAC;oBAEZ;;wBAAO;4BACL9B,YAAAA;4BACAR,QAAAA;4BACAO,OAAO,SAAPA;;;;;gDACE;;oDAAMA;;;gDAAN;gDACA;;oDAAMX,QAAQW,KAAK;;;gDAAnB;;;;;;gCACF;;wBACF;;;;IACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
|
-
mcpServer: McpServer;
|
|
5
3
|
logger: import("@mcp-z/server").Logger;
|
|
6
4
|
close: () => Promise<void>;
|
|
7
5
|
}>;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
|
-
mcpServer: McpServer;
|
|
5
3
|
logger: import("@mcp-z/server").Logger;
|
|
6
4
|
close: () => Promise<void>;
|
|
7
5
|
}>;
|
package/dist/cjs/setup/stdio.js
CHANGED
|
@@ -164,7 +164,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
164
164
|
}
|
|
165
165
|
function createStdioServer(config, overrides) {
|
|
166
166
|
return _async_to_generator(function() {
|
|
167
|
-
var runtime, modules, layers, composed, logger, tools, prompts,
|
|
167
|
+
var runtime, modules, layers, composed, logger, tools, prompts, buildServer, close;
|
|
168
168
|
return _ts_generator(this, function(_state) {
|
|
169
169
|
switch(_state.label){
|
|
170
170
|
case 0:
|
|
@@ -182,17 +182,26 @@ function createStdioServer(config, overrides) {
|
|
|
182
182
|
logger = runtime.deps.logger;
|
|
183
183
|
tools = _to_consumable_array(composed.tools).concat(_to_consumable_array(runtime.deps.oauthAdapters.accountTools));
|
|
184
184
|
prompts = _to_consumable_array(composed.prompts).concat(_to_consumable_array(runtime.deps.oauthAdapters.accountPrompts));
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
(
|
|
190
|
-
|
|
191
|
-
|
|
185
|
+
// Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the
|
|
186
|
+
// negotiated protocol revision on the McpServer instance - its own docs say a negotiated
|
|
187
|
+
// session never re-routes a method onto the other era - so one shared instance pins itself
|
|
188
|
+
// to whichever revision reaches it first and answers the other with -32601.
|
|
189
|
+
buildServer = function buildServer() {
|
|
190
|
+
var mcpServer = new _server.McpServer({
|
|
191
|
+
name: config.name,
|
|
192
|
+
version: config.version
|
|
193
|
+
}, {
|
|
194
|
+
cacheHints: _server.defaultCacheHints
|
|
195
|
+
});
|
|
196
|
+
(0, _server.registerTools)(mcpServer, tools);
|
|
197
|
+
(0, _server.registerResources)(mcpServer, composed.resources);
|
|
198
|
+
(0, _server.registerPrompts)(mcpServer, prompts);
|
|
199
|
+
return mcpServer;
|
|
200
|
+
};
|
|
192
201
|
logger.info("Starting ".concat(config.name, " MCP server (stdio)"));
|
|
193
202
|
return [
|
|
194
203
|
4,
|
|
195
|
-
(0, _server.connectStdio)(
|
|
204
|
+
(0, _server.connectStdio)(buildServer, {
|
|
196
205
|
logger: logger
|
|
197
206
|
})
|
|
198
207
|
];
|
|
@@ -202,7 +211,6 @@ function createStdioServer(config, overrides) {
|
|
|
202
211
|
return [
|
|
203
212
|
2,
|
|
204
213
|
{
|
|
205
|
-
mcpServer: mcpServer,
|
|
206
214
|
logger: logger,
|
|
207
215
|
close: function close1() {
|
|
208
216
|
return _async_to_generator(function() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/stdio.ts"],"sourcesContent":["import { composeMiddleware, connectStdio, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n const mcpServer = new McpServer({ name: config.name, version: config.version });\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/stdio.ts"],"sourcesContent":["import { composeMiddleware, connectStdio, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n // Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the\n // negotiated protocol revision on the McpServer instance - its own docs say a negotiated\n // session never re-routes a method onto the other era - so one shared instance pins itself\n // to whichever revision reaches it first and answers the other with -32601.\n const buildServer = () => {\n const mcpServer = new McpServer({ name: config.name, version: config.version }, { cacheHints: defaultCacheHints });\n registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n return mcpServer;\n };\n\n logger.info(`Starting ${config.name} MCP server (stdio)`);\n const { close } = await connectStdio(buildServer, { logger });\n logger.info('stdio transport ready');\n\n return {\n logger,\n close: async () => {\n await close();\n await runtime.close();\n },\n };\n}\n"],"names":["createStdioServer","config","overrides","runtime","modules","layers","composed","logger","tools","prompts","buildServer","close","createDefaultRuntime","createDomainModules","middlewareFactories","map","factory","deps","composeMiddleware","oauthAdapters","accountTools","accountPrompts","mcpServer","McpServer","name","version","cacheHints","defaultCacheHints","registerTools","registerResources","resources","registerPrompts","info","connectStdio"],"mappings":";;;;+BAIsBA;;;eAAAA;;;sBAJ2G;yBAE5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B,SAAeA,kBAAkBC,MAAoB,EAAEC,SAA4B;;YAClFC,SACAC,SACAC,QACAC,UACAC,QAEAC,OACAC,SAMAC,aASEC;;;;oBAtBQ;;wBAAMC,IAAAA,+BAAoB,EAACX,QAAQC;;;oBAA7CC,UAAU;oBACVC,UAAUD,QAAQU,mBAAmB;oBACrCR,SAASF,QAAQW,mBAAmB,CAACC,GAAG,CAAC,SAACC;+BAAYA,QAAQb,QAAQc,IAAI;;oBAC1EX,WAAWY,IAAAA,yBAAiB,EAACd,SAASC;oBACtCE,SAASJ,QAAQc,IAAI,CAACV,MAAM;oBAE5BC,QAAQ,AAAC,qBAAGF,SAASE,KAAK,SAAE,qBAAGL,QAAQc,IAAI,CAACE,aAAa,CAACC,YAAY;oBACtEX,UAAU,AAAC,qBAAGH,SAASG,OAAO,SAAE,qBAAGN,QAAQc,IAAI,CAACE,aAAa,CAACE,cAAc;oBAElF,sFAAsF;oBACtF,yFAAyF;oBACzF,2FAA2F;oBAC3F,4EAA4E;oBACtEX,cAAc;wBAClB,IAAMY,YAAY,IAAIC,iBAAS,CAAC;4BAAEC,MAAMvB,OAAOuB,IAAI;4BAAEC,SAASxB,OAAOwB,OAAO;wBAAC,GAAG;4BAAEC,YAAYC,yBAAiB;wBAAC;wBAChHC,IAAAA,qBAAa,EAACN,WAAWd;wBACzBqB,IAAAA,yBAAiB,EAACP,WAAWhB,SAASwB,SAAS;wBAC/CC,IAAAA,uBAAe,EAACT,WAAWb;wBAC3B,OAAOa;oBACT;oBAEAf,OAAOyB,IAAI,CAAC,AAAC,YAAuB,OAAZ/B,OAAOuB,IAAI,EAAC;oBAClB;;wBAAMS,IAAAA,oBAAY,EAACvB,aAAa;4BAAEH,QAAAA;wBAAO;;;oBAAnDI,QAAU,cAAVA;oBACRJ,OAAOyB,IAAI,CAAC;oBAEZ;;wBAAO;4BACLzB,QAAAA;4BACAI,OAAO,SAAPA;;;;;gDACE;;oDAAMA;;;gDAAN;gDACA;;oDAAMR,QAAQQ,KAAK;;;gDAAnB;;;;;;gCACF;;wBACF;;;;IACF"}
|
package/dist/esm/setup/http.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
3
|
httpServer: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
|
|
5
|
-
mcpServer: McpServer;
|
|
6
4
|
logger: import("@mcp-z/server").Logger;
|
|
7
5
|
close: () => Promise<void>;
|
|
8
6
|
}>;
|
package/dist/esm/setup/http.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { composeMiddleware, connectHttp, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';
|
|
1
|
+
import { composeMiddleware, connectHttp, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';
|
|
2
2
|
import cors from 'cors';
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import { createDefaultRuntime } from './runtime.js';
|
|
@@ -18,13 +18,22 @@ export async function createHTTPServer(config, overrides) {
|
|
|
18
18
|
...composed.prompts,
|
|
19
19
|
...runtime.deps.oauthAdapters.accountPrompts
|
|
20
20
|
];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
// Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the
|
|
22
|
+
// negotiated protocol revision on the McpServer instance - its own docs say a negotiated
|
|
23
|
+
// session never re-routes a method onto the other era - so one shared instance pins itself
|
|
24
|
+
// to whichever revision reaches it first and answers the other with -32601.
|
|
25
|
+
const buildServer = ()=>{
|
|
26
|
+
const mcpServer = new McpServer({
|
|
27
|
+
name: config.name,
|
|
28
|
+
version: config.version
|
|
29
|
+
}, {
|
|
30
|
+
cacheHints: defaultCacheHints
|
|
31
|
+
});
|
|
32
|
+
registerTools(mcpServer, tools);
|
|
33
|
+
registerResources(mcpServer, composed.resources);
|
|
34
|
+
registerPrompts(mcpServer, prompts);
|
|
35
|
+
return mcpServer;
|
|
36
|
+
};
|
|
28
37
|
const app = express();
|
|
29
38
|
app.use(express.json({
|
|
30
39
|
limit: '10mb'
|
|
@@ -33,7 +42,7 @@ export async function createHTTPServer(config, overrides) {
|
|
|
33
42
|
// preflight first; pass baseUrl's origin/host below or a public deployment 403s itself.
|
|
34
43
|
const publicUrl = config.baseUrl ? new URL(config.baseUrl) : undefined;
|
|
35
44
|
logger.info(`Starting ${config.name} MCP server (http)`);
|
|
36
|
-
const { close, httpServer } = await connectHttp(
|
|
45
|
+
const { close, httpServer } = await connectHttp(buildServer, {
|
|
37
46
|
logger,
|
|
38
47
|
app,
|
|
39
48
|
port,
|
|
@@ -58,7 +67,6 @@ export async function createHTTPServer(config, overrides) {
|
|
|
58
67
|
logger.info('http transport ready');
|
|
59
68
|
return {
|
|
60
69
|
httpServer,
|
|
61
|
-
mcpServer,
|
|
62
70
|
logger,
|
|
63
71
|
close: async ()=>{
|
|
64
72
|
await close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport cors from 'cors';\nimport express from 'express';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n const port = config.transport.port;\n if (!port) throw new Error('Port is required for HTTP transport');\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n const mcpServer = new McpServer({ name: config.name, version: config.version });\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport cors from 'cors';\nimport express from 'express';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createHTTPServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n const port = config.transport.port;\n if (!port) throw new Error('Port is required for HTTP transport');\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n // Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the\n // negotiated protocol revision on the McpServer instance - its own docs say a negotiated\n // session never re-routes a method onto the other era - so one shared instance pins itself\n // to whichever revision reaches it first and answers the other with -32601.\n const buildServer = () => {\n const mcpServer = new McpServer({ name: config.name, version: config.version }, { cacheHints: defaultCacheHints });\n registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n return mcpServer;\n };\n\n const app = express();\n app.use(express.json({ limit: '10mb' }));\n\n // Must mount '/mcp' before any permissive app-level cors(), or that layer answers its\n // preflight first; pass baseUrl's origin/host below or a public deployment 403s itself.\n const publicUrl = config.baseUrl ? new URL(config.baseUrl) : undefined;\n logger.info(`Starting ${config.name} MCP server (http)`);\n const { close, httpServer } = await connectHttp(buildServer, {\n logger,\n app,\n port,\n allowedOrigins: publicUrl ? [publicUrl.origin] : undefined,\n allowedHosts: publicUrl ? [publicUrl.host] : undefined,\n });\n\n // The loopback OAuth callback and the DCR discovery/registration endpoints are\n // meant to be reached from a browser on another origin. Keep cors() for them,\n // scoped to their own routes - never in front of '/mcp'.\n if (runtime.deps.oauthAdapters.loopbackRouter) {\n app.use('/', cors(), runtime.deps.oauthAdapters.loopbackRouter);\n logger.info('Mounted loopback OAuth callback router');\n }\n\n if (runtime.deps.oauthAdapters.dcrRouter) {\n app.use('/', cors(), runtime.deps.oauthAdapters.dcrRouter);\n logger.info('Mounted DCR router with OAuth endpoints');\n }\n\n logger.info('http transport ready');\n\n return {\n httpServer,\n logger,\n close: async () => {\n await close();\n await runtime.close();\n },\n };\n}\n"],"names":["composeMiddleware","connectHttp","defaultCacheHints","McpServer","registerPrompts","registerResources","registerTools","cors","express","createDefaultRuntime","createHTTPServer","config","overrides","runtime","modules","createDomainModules","layers","middlewareFactories","map","factory","deps","composed","logger","port","transport","Error","tools","oauthAdapters","accountTools","prompts","accountPrompts","buildServer","mcpServer","name","version","cacheHints","resources","app","use","json","limit","publicUrl","baseUrl","URL","undefined","info","close","httpServer","allowedOrigins","origin","allowedHosts","host","loopbackRouter","dcrRouter"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,aAAa,QAAQ,gBAAgB;AAChJ,OAAOC,UAAU,OAAO;AACxB,OAAOC,aAAa,UAAU;AAE9B,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,OAAO,eAAeC,iBAAiBC,MAAoB,EAAEC,SAA4B;IACvF,MAAMC,UAAU,MAAMJ,qBAAqBE,QAAQC;IACnD,MAAME,UAAUD,QAAQE,mBAAmB;IAC3C,MAAMC,SAASH,QAAQI,mBAAmB,CAACC,GAAG,CAAC,CAACC,UAAYA,QAAQN,QAAQO,IAAI;IAChF,MAAMC,WAAWrB,kBAAkBc,SAASE;IAC5C,MAAMM,SAAST,QAAQO,IAAI,CAACE,MAAM;IAClC,MAAMC,OAAOZ,OAAOa,SAAS,CAACD,IAAI;IAClC,IAAI,CAACA,MAAM,MAAM,IAAIE,MAAM;IAE3B,MAAMC,QAAQ;WAAIL,SAASK,KAAK;WAAKb,QAAQO,IAAI,CAACO,aAAa,CAACC,YAAY;KAAC;IAC7E,MAAMC,UAAU;WAAIR,SAASQ,OAAO;WAAKhB,QAAQO,IAAI,CAACO,aAAa,CAACG,cAAc;KAAC;IAEnF,sFAAsF;IACtF,yFAAyF;IACzF,2FAA2F;IAC3F,4EAA4E;IAC5E,MAAMC,cAAc;QAClB,MAAMC,YAAY,IAAI7B,UAAU;YAAE8B,MAAMtB,OAAOsB,IAAI;YAAEC,SAASvB,OAAOuB,OAAO;QAAC,GAAG;YAAEC,YAAYjC;QAAkB;QAChHI,cAAc0B,WAAWN;QACzBrB,kBAAkB2B,WAAWX,SAASe,SAAS;QAC/ChC,gBAAgB4B,WAAWH;QAC3B,OAAOG;IACT;IAEA,MAAMK,MAAM7B;IACZ6B,IAAIC,GAAG,CAAC9B,QAAQ+B,IAAI,CAAC;QAAEC,OAAO;IAAO;IAErC,sFAAsF;IACtF,wFAAwF;IACxF,MAAMC,YAAY9B,OAAO+B,OAAO,GAAG,IAAIC,IAAIhC,OAAO+B,OAAO,IAAIE;IAC7DtB,OAAOuB,IAAI,CAAC,CAAC,SAAS,EAAElC,OAAOsB,IAAI,CAAC,kBAAkB,CAAC;IACvD,MAAM,EAAEa,KAAK,EAAEC,UAAU,EAAE,GAAG,MAAM9C,YAAY8B,aAAa;QAC3DT;QACAe;QACAd;QACAyB,gBAAgBP,YAAY;YAACA,UAAUQ,MAAM;SAAC,GAAGL;QACjDM,cAAcT,YAAY;YAACA,UAAUU,IAAI;SAAC,GAAGP;IAC/C;IAEA,+EAA+E;IAC/E,8EAA8E;IAC9E,yDAAyD;IACzD,IAAI/B,QAAQO,IAAI,CAACO,aAAa,CAACyB,cAAc,EAAE;QAC7Cf,IAAIC,GAAG,CAAC,KAAK/B,QAAQM,QAAQO,IAAI,CAACO,aAAa,CAACyB,cAAc;QAC9D9B,OAAOuB,IAAI,CAAC;IACd;IAEA,IAAIhC,QAAQO,IAAI,CAACO,aAAa,CAAC0B,SAAS,EAAE;QACxChB,IAAIC,GAAG,CAAC,KAAK/B,QAAQM,QAAQO,IAAI,CAACO,aAAa,CAAC0B,SAAS;QACzD/B,OAAOuB,IAAI,CAAC;IACd;IAEAvB,OAAOuB,IAAI,CAAC;IAEZ,OAAO;QACLE;QACAzB;QACAwB,OAAO;YACL,MAAMA;YACN,MAAMjC,QAAQiC,KAAK;QACrB;IACF;AACF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { McpServer } from '@mcp-z/server';
|
|
2
1
|
import type { RuntimeOverrides, ServerConfig } from '../types.js';
|
|
3
2
|
export declare function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides): Promise<{
|
|
4
|
-
mcpServer: McpServer;
|
|
5
3
|
logger: import("@mcp-z/server").Logger;
|
|
6
4
|
close: () => Promise<void>;
|
|
7
5
|
}>;
|
package/dist/esm/setup/stdio.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { composeMiddleware, connectStdio, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';
|
|
1
|
+
import { composeMiddleware, connectStdio, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';
|
|
2
2
|
import { createDefaultRuntime } from './runtime.js';
|
|
3
3
|
export async function createStdioServer(config, overrides) {
|
|
4
4
|
const runtime = await createDefaultRuntime(config, overrides);
|
|
@@ -14,20 +14,28 @@ export async function createStdioServer(config, overrides) {
|
|
|
14
14
|
...composed.prompts,
|
|
15
15
|
...runtime.deps.oauthAdapters.accountPrompts
|
|
16
16
|
];
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
// Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the
|
|
18
|
+
// negotiated protocol revision on the McpServer instance - its own docs say a negotiated
|
|
19
|
+
// session never re-routes a method onto the other era - so one shared instance pins itself
|
|
20
|
+
// to whichever revision reaches it first and answers the other with -32601.
|
|
21
|
+
const buildServer = ()=>{
|
|
22
|
+
const mcpServer = new McpServer({
|
|
23
|
+
name: config.name,
|
|
24
|
+
version: config.version
|
|
25
|
+
}, {
|
|
26
|
+
cacheHints: defaultCacheHints
|
|
27
|
+
});
|
|
28
|
+
registerTools(mcpServer, tools);
|
|
29
|
+
registerResources(mcpServer, composed.resources);
|
|
30
|
+
registerPrompts(mcpServer, prompts);
|
|
31
|
+
return mcpServer;
|
|
32
|
+
};
|
|
24
33
|
logger.info(`Starting ${config.name} MCP server (stdio)`);
|
|
25
|
-
const { close } = await connectStdio(
|
|
34
|
+
const { close } = await connectStdio(buildServer, {
|
|
26
35
|
logger
|
|
27
36
|
});
|
|
28
37
|
logger.info('stdio transport ready');
|
|
29
38
|
return {
|
|
30
|
-
mcpServer,
|
|
31
39
|
logger,
|
|
32
40
|
close: async ()=>{
|
|
33
41
|
await close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/stdio.ts"],"sourcesContent":["import { composeMiddleware, connectStdio, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n const mcpServer = new McpServer({ name: config.name, version: config.version });\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/stdio.ts"],"sourcesContent":["import { composeMiddleware, connectStdio, defaultCacheHints, McpServer, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport type { RuntimeOverrides, ServerConfig } from '../types.ts';\nimport { createDefaultRuntime } from './runtime.ts';\n\nexport async function createStdioServer(config: ServerConfig, overrides?: RuntimeOverrides) {\n const runtime = await createDefaultRuntime(config, overrides);\n const modules = runtime.createDomainModules();\n const layers = runtime.middlewareFactories.map((factory) => factory(runtime.deps));\n const composed = composeMiddleware(modules, layers);\n const logger = runtime.deps.logger;\n\n const tools = [...composed.tools, ...runtime.deps.oauthAdapters.accountTools];\n const prompts = [...composed.prompts, ...runtime.deps.oauthAdapters.accountPrompts];\n\n // Built per request (HTTP) and per connection (stdio), not shared. The SDK caches the\n // negotiated protocol revision on the McpServer instance - its own docs say a negotiated\n // session never re-routes a method onto the other era - so one shared instance pins itself\n // to whichever revision reaches it first and answers the other with -32601.\n const buildServer = () => {\n const mcpServer = new McpServer({ name: config.name, version: config.version }, { cacheHints: defaultCacheHints });\n registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n return mcpServer;\n };\n\n logger.info(`Starting ${config.name} MCP server (stdio)`);\n const { close } = await connectStdio(buildServer, { logger });\n logger.info('stdio transport ready');\n\n return {\n logger,\n close: async () => {\n await close();\n await runtime.close();\n },\n };\n}\n"],"names":["composeMiddleware","connectStdio","defaultCacheHints","McpServer","registerPrompts","registerResources","registerTools","createDefaultRuntime","createStdioServer","config","overrides","runtime","modules","createDomainModules","layers","middlewareFactories","map","factory","deps","composed","logger","tools","oauthAdapters","accountTools","prompts","accountPrompts","buildServer","mcpServer","name","version","cacheHints","resources","info","close"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,YAAY,EAAEC,iBAAiB,EAAEC,SAAS,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,aAAa,QAAQ,gBAAgB;AAEjJ,SAASC,oBAAoB,QAAQ,eAAe;AAEpD,OAAO,eAAeC,kBAAkBC,MAAoB,EAAEC,SAA4B;IACxF,MAAMC,UAAU,MAAMJ,qBAAqBE,QAAQC;IACnD,MAAME,UAAUD,QAAQE,mBAAmB;IAC3C,MAAMC,SAASH,QAAQI,mBAAmB,CAACC,GAAG,CAAC,CAACC,UAAYA,QAAQN,QAAQO,IAAI;IAChF,MAAMC,WAAWnB,kBAAkBY,SAASE;IAC5C,MAAMM,SAAST,QAAQO,IAAI,CAACE,MAAM;IAElC,MAAMC,QAAQ;WAAIF,SAASE,KAAK;WAAKV,QAAQO,IAAI,CAACI,aAAa,CAACC,YAAY;KAAC;IAC7E,MAAMC,UAAU;WAAIL,SAASK,OAAO;WAAKb,QAAQO,IAAI,CAACI,aAAa,CAACG,cAAc;KAAC;IAEnF,sFAAsF;IACtF,yFAAyF;IACzF,2FAA2F;IAC3F,4EAA4E;IAC5E,MAAMC,cAAc;QAClB,MAAMC,YAAY,IAAIxB,UAAU;YAAEyB,MAAMnB,OAAOmB,IAAI;YAAEC,SAASpB,OAAOoB,OAAO;QAAC,GAAG;YAAEC,YAAY5B;QAAkB;QAChHI,cAAcqB,WAAWN;QACzBhB,kBAAkBsB,WAAWR,SAASY,SAAS;QAC/C3B,gBAAgBuB,WAAWH;QAC3B,OAAOG;IACT;IAEAP,OAAOY,IAAI,CAAC,CAAC,SAAS,EAAEvB,OAAOmB,IAAI,CAAC,mBAAmB,CAAC;IACxD,MAAM,EAAEK,KAAK,EAAE,GAAG,MAAMhC,aAAayB,aAAa;QAAEN;IAAO;IAC3DA,OAAOY,IAAI,CAAC;IAEZ,OAAO;QACLZ;QACAa,OAAO;YACL,MAAMA;YACN,MAAMtB,QAAQsB,KAAK;QACrB;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-z/mcp-sheets",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "MCP server for Google Sheets integration with OAuth authentication, spreadsheet management, batch operations, and advanced formatting",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sheets",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@googleapis/sheets": "^14.0.0",
|
|
71
71
|
"@mcp-z/oauth": "^2.0.0",
|
|
72
72
|
"@mcp-z/oauth-google": "^2.0.1",
|
|
73
|
-
"@mcp-z/server": "^2.
|
|
73
|
+
"@mcp-z/server": "^2.2.0",
|
|
74
74
|
"cors": "^2.0.0",
|
|
75
75
|
"csv-parse": "^7.0.2",
|
|
76
76
|
"express": "^5.0.0",
|
|
@@ -87,7 +87,6 @@
|
|
|
87
87
|
"@types/express": "^5.0.6",
|
|
88
88
|
"@types/mocha": "^10.0.10",
|
|
89
89
|
"@types/node": "^26.2.0",
|
|
90
|
-
"dotenv": "^17.2.3",
|
|
91
90
|
"fs-remove-compat": "^1.0.4",
|
|
92
91
|
"get-port": "5.1.1",
|
|
93
92
|
"keyv": "^5.0.0",
|