@mcp-z/mcp-sheets 1.2.2 → 1.2.4
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/README.md +5 -1
- package/dist/cjs/setup/http.js +22 -11
- package/dist/cjs/setup/http.js.map +1 -1
- package/dist/esm/setup/http.js +20 -9
- package/dist/esm/setup/http.js.map +1 -1
- package/package.json +3 -9
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mcp-z/mcp-sheets
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
MCP server for Google Sheets integration with OAuth authentication, spreadsheet management, batch operations, and advanced formatting
|
|
4
4
|
|
|
5
5
|
## Common uses
|
|
6
6
|
|
|
@@ -223,3 +223,7 @@ TOKEN_STORE_URI=redis://localhost:6379 mcp-sheets
|
|
|
223
223
|
```
|
|
224
224
|
|
|
225
225
|
A protocol whose adapter is missing fails at startup naming the package to install.
|
|
226
|
+
|
|
227
|
+
### Documentation
|
|
228
|
+
|
|
229
|
+
[API Docs](https://mcp-z.github.io/mcp-sheets)
|
package/dist/cjs/setup/http.js
CHANGED
|
@@ -172,7 +172,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
172
172
|
}
|
|
173
173
|
function createHTTPServer(config, overrides) {
|
|
174
174
|
return _async_to_generator(function() {
|
|
175
|
-
var runtime, modules, layers, composed, logger, port, tools, prompts, mcpServer, app, _ref, close, httpServer;
|
|
175
|
+
var runtime, modules, layers, composed, logger, port, tools, prompts, mcpServer, app, publicUrl, _ref, close, httpServer;
|
|
176
176
|
return _ts_generator(this, function(_state) {
|
|
177
177
|
switch(_state.label){
|
|
178
178
|
case 0:
|
|
@@ -200,29 +200,40 @@ function createHTTPServer(config, overrides) {
|
|
|
200
200
|
(0, _server.registerResources)(mcpServer, composed.resources);
|
|
201
201
|
(0, _server.registerPrompts)(mcpServer, prompts);
|
|
202
202
|
app = (0, _express.default)();
|
|
203
|
-
app.use((0, _cors.default)());
|
|
204
203
|
app.use(_express.default.json({
|
|
205
204
|
limit: '10mb'
|
|
206
205
|
}));
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
}
|
|
211
|
-
if (runtime.deps.oauthAdapters.dcrRouter) {
|
|
212
|
-
app.use('/', runtime.deps.oauthAdapters.dcrRouter);
|
|
213
|
-
logger.info('Mounted DCR router with OAuth endpoints');
|
|
214
|
-
}
|
|
206
|
+
// Must mount '/mcp' before any permissive app-level cors(), or that layer answers its
|
|
207
|
+
// preflight first; pass baseUrl's origin/host below or a public deployment 403s itself.
|
|
208
|
+
publicUrl = config.baseUrl ? new URL(config.baseUrl) : undefined;
|
|
215
209
|
logger.info("Starting ".concat(config.name, " MCP server (http)"));
|
|
216
210
|
return [
|
|
217
211
|
4,
|
|
218
212
|
(0, _server.connectHttp)(mcpServer, {
|
|
219
213
|
logger: logger,
|
|
220
214
|
app: app,
|
|
221
|
-
port: port
|
|
215
|
+
port: port,
|
|
216
|
+
allowedOrigins: publicUrl ? [
|
|
217
|
+
publicUrl.origin
|
|
218
|
+
] : undefined,
|
|
219
|
+
allowedHosts: publicUrl ? [
|
|
220
|
+
publicUrl.host
|
|
221
|
+
] : undefined
|
|
222
222
|
})
|
|
223
223
|
];
|
|
224
224
|
case 2:
|
|
225
225
|
_ref = _state.sent(), close = _ref.close, httpServer = _ref.httpServer;
|
|
226
|
+
// The loopback OAuth callback and the DCR discovery/registration endpoints are
|
|
227
|
+
// meant to be reached from a browser on another origin. Keep cors() for them,
|
|
228
|
+
// scoped to their own routes - never in front of '/mcp'.
|
|
229
|
+
if (runtime.deps.oauthAdapters.loopbackRouter) {
|
|
230
|
+
app.use('/', (0, _cors.default)(), runtime.deps.oauthAdapters.loopbackRouter);
|
|
231
|
+
logger.info('Mounted loopback OAuth callback router');
|
|
232
|
+
}
|
|
233
|
+
if (runtime.deps.oauthAdapters.dcrRouter) {
|
|
234
|
+
app.use('/', (0, _cors.default)(), runtime.deps.oauthAdapters.dcrRouter);
|
|
235
|
+
logger.info('Mounted DCR router with OAuth endpoints');
|
|
236
|
+
}
|
|
226
237
|
logger.info('http transport ready');
|
|
227
238
|
return [
|
|
228
239
|
2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\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 registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n\n const app = express();\n app.use(
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\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 registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\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(mcpServer, {\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 mcpServer,\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","mcpServer","app","publicUrl","close","httpServer","createDefaultRuntime","createDomainModules","middlewareFactories","map","factory","deps","composeMiddleware","transport","Error","oauthAdapters","accountTools","accountPrompts","McpServer","name","version","registerTools","registerResources","resources","registerPrompts","express","use","json","limit","baseUrl","URL","undefined","info","connectHttp","allowedOrigins","origin","allowedHosts","host","loopbackRouter","cors","dcrRouter"],"mappings":"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"}
|
package/dist/esm/setup/http.js
CHANGED
|
@@ -27,24 +27,35 @@ export async function createHTTPServer(config, overrides) {
|
|
|
27
27
|
registerResources(mcpServer, composed.resources);
|
|
28
28
|
registerPrompts(mcpServer, prompts);
|
|
29
29
|
const app = express();
|
|
30
|
-
app.use(cors());
|
|
31
30
|
app.use(express.json({
|
|
32
31
|
limit: '10mb'
|
|
33
32
|
}));
|
|
33
|
+
// Must mount '/mcp' before any permissive app-level cors(), or that layer answers its
|
|
34
|
+
// preflight first; pass baseUrl's origin/host below or a public deployment 403s itself.
|
|
35
|
+
const publicUrl = config.baseUrl ? new URL(config.baseUrl) : undefined;
|
|
36
|
+
logger.info(`Starting ${config.name} MCP server (http)`);
|
|
37
|
+
const { close, httpServer } = await connectHttp(mcpServer, {
|
|
38
|
+
logger,
|
|
39
|
+
app,
|
|
40
|
+
port,
|
|
41
|
+
allowedOrigins: publicUrl ? [
|
|
42
|
+
publicUrl.origin
|
|
43
|
+
] : undefined,
|
|
44
|
+
allowedHosts: publicUrl ? [
|
|
45
|
+
publicUrl.host
|
|
46
|
+
] : undefined
|
|
47
|
+
});
|
|
48
|
+
// The loopback OAuth callback and the DCR discovery/registration endpoints are
|
|
49
|
+
// meant to be reached from a browser on another origin. Keep cors() for them,
|
|
50
|
+
// scoped to their own routes - never in front of '/mcp'.
|
|
34
51
|
if (runtime.deps.oauthAdapters.loopbackRouter) {
|
|
35
|
-
app.use('/', runtime.deps.oauthAdapters.loopbackRouter);
|
|
52
|
+
app.use('/', cors(), runtime.deps.oauthAdapters.loopbackRouter);
|
|
36
53
|
logger.info('Mounted loopback OAuth callback router');
|
|
37
54
|
}
|
|
38
55
|
if (runtime.deps.oauthAdapters.dcrRouter) {
|
|
39
|
-
app.use('/', runtime.deps.oauthAdapters.dcrRouter);
|
|
56
|
+
app.use('/', cors(), runtime.deps.oauthAdapters.dcrRouter);
|
|
40
57
|
logger.info('Mounted DCR router with OAuth endpoints');
|
|
41
58
|
}
|
|
42
|
-
logger.info(`Starting ${config.name} MCP server (http)`);
|
|
43
|
-
const { close, httpServer } = await connectHttp(mcpServer, {
|
|
44
|
-
logger,
|
|
45
|
-
app,
|
|
46
|
-
port
|
|
47
|
-
});
|
|
48
59
|
logger.info('http transport ready');
|
|
49
60
|
return {
|
|
50
61
|
httpServer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\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 registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\n\n const app = express();\n app.use(
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/ai/mcp-z/mcp-sheets/src/setup/http.ts"],"sourcesContent":["import { composeMiddleware, connectHttp, registerPrompts, registerResources, registerTools } from '@mcp-z/server';\nimport { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\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 registerTools(mcpServer, tools);\n registerResources(mcpServer, composed.resources);\n registerPrompts(mcpServer, prompts);\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(mcpServer, {\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 mcpServer,\n logger,\n close: async () => {\n await close();\n await runtime.close();\n },\n };\n}\n"],"names":["composeMiddleware","connectHttp","registerPrompts","registerResources","registerTools","McpServer","cors","express","createDefaultRuntime","createHTTPServer","config","overrides","runtime","modules","createDomainModules","layers","middlewareFactories","map","factory","deps","composed","logger","port","transport","Error","tools","oauthAdapters","accountTools","prompts","accountPrompts","mcpServer","name","version","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,eAAe,EAAEC,iBAAiB,EAAEC,aAAa,QAAQ,gBAAgB;AAClH,SAASC,SAAS,QAAQ,0CAA0C;AACpE,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,WAAWpB,kBAAkBa,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,MAAMC,YAAY,IAAIzB,UAAU;QAAE0B,MAAMrB,OAAOqB,IAAI;QAAEC,SAAStB,OAAOsB,OAAO;IAAC;IAC7E5B,cAAc0B,WAAWL;IACzBtB,kBAAkB2B,WAAWV,SAASa,SAAS;IAC/C/B,gBAAgB4B,WAAWF;IAE3B,MAAMM,MAAM3B;IACZ2B,IAAIC,GAAG,CAAC5B,QAAQ6B,IAAI,CAAC;QAAEC,OAAO;IAAO;IAErC,sFAAsF;IACtF,wFAAwF;IACxF,MAAMC,YAAY5B,OAAO6B,OAAO,GAAG,IAAIC,IAAI9B,OAAO6B,OAAO,IAAIE;IAC7DpB,OAAOqB,IAAI,CAAC,CAAC,SAAS,EAAEhC,OAAOqB,IAAI,CAAC,kBAAkB,CAAC;IACvD,MAAM,EAAEY,KAAK,EAAEC,UAAU,EAAE,GAAG,MAAM3C,YAAY6B,WAAW;QACzDT;QACAa;QACAZ;QACAuB,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,IAAI7B,QAAQO,IAAI,CAACO,aAAa,CAACuB,cAAc,EAAE;QAC7Cf,IAAIC,GAAG,CAAC,KAAK7B,QAAQM,QAAQO,IAAI,CAACO,aAAa,CAACuB,cAAc;QAC9D5B,OAAOqB,IAAI,CAAC;IACd;IAEA,IAAI9B,QAAQO,IAAI,CAACO,aAAa,CAACwB,SAAS,EAAE;QACxChB,IAAIC,GAAG,CAAC,KAAK7B,QAAQM,QAAQO,IAAI,CAACO,aAAa,CAACwB,SAAS;QACzD7B,OAAOqB,IAAI,CAAC;IACd;IAEArB,OAAOqB,IAAI,CAAC;IAEZ,OAAO;QACLE;QACAd;QACAT;QACAsB,OAAO;YACL,MAAMA;YACN,MAAM/B,QAAQ+B,KAAK;QACrB;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-z/mcp-sheets",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.4",
|
|
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",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"build": "tsds validate",
|
|
60
60
|
"format": "tsds format",
|
|
61
61
|
"prepublish:check": "ncp",
|
|
62
|
-
"prepublishOnly": "tsds validate",
|
|
62
|
+
"prepublishOnly": "node scripts/require-dist-tag.cjs && tsds validate",
|
|
63
63
|
"test": "tsds test:node --no-timeouts",
|
|
64
64
|
"test:engines": "nvu engines tsds test:node --no-timeouts",
|
|
65
65
|
"test:setup": "node scripts/setup-test.ts",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"@mcp-z/oauth": "^1.0.5",
|
|
70
70
|
"@mcp-z/oauth-google": "^1.1.3",
|
|
71
|
-
"@mcp-z/server": "^1.
|
|
71
|
+
"@mcp-z/server": "^1.2.0",
|
|
72
72
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
73
73
|
"cors": "^2.0.0",
|
|
74
74
|
"csv-parse": "^7.0.2",
|
|
@@ -98,12 +98,6 @@
|
|
|
98
98
|
"engines": {
|
|
99
99
|
"node": ">=20"
|
|
100
100
|
},
|
|
101
|
-
"allowScripts": {
|
|
102
|
-
"node-filename-to-dist-paths": true,
|
|
103
|
-
"node-semvers": true,
|
|
104
|
-
"node-version-use": true,
|
|
105
|
-
"thread-sleep-compat": true
|
|
106
|
-
},
|
|
107
101
|
"mcpName": "io.github.mcp-z/mcp-sheets",
|
|
108
102
|
"tsds": {
|
|
109
103
|
"source": "src/index.ts"
|