microcms-mcp-server 0.6.0 → 0.9.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/README.md +142 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +112 -25
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +117 -28
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +293 -48
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +24 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +146 -2
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +17 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +31 -2
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +8 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +183 -144
- package/dist/server.js.map +1 -1
- package/dist/tools/create-content-draft.d.ts +2 -2
- package/dist/tools/create-content-draft.d.ts.map +1 -1
- package/dist/tools/create-content-draft.js +7 -3
- package/dist/tools/create-content-draft.js.map +1 -1
- package/dist/tools/create-content-published.d.ts +2 -2
- package/dist/tools/create-content-published.d.ts.map +1 -1
- package/dist/tools/create-content-published.js +7 -3
- package/dist/tools/create-content-published.js.map +1 -1
- package/dist/tools/create-contents-bulk.d.ts +7 -0
- package/dist/tools/create-contents-bulk.d.ts.map +1 -0
- package/dist/tools/create-contents-bulk.js +130 -0
- package/dist/tools/create-contents-bulk.js.map +1 -0
- package/dist/tools/delete-content.d.ts +2 -2
- package/dist/tools/delete-content.d.ts.map +1 -1
- package/dist/tools/delete-content.js +6 -2
- package/dist/tools/delete-content.js.map +1 -1
- package/dist/tools/delete-media.d.ts +2 -2
- package/dist/tools/delete-media.d.ts.map +1 -1
- package/dist/tools/delete-media.js +6 -2
- package/dist/tools/delete-media.js.map +1 -1
- package/dist/tools/get-api-info.d.ts +2 -2
- package/dist/tools/get-api-info.d.ts.map +1 -1
- package/dist/tools/get-api-info.js +6 -2
- package/dist/tools/get-api-info.js.map +1 -1
- package/dist/tools/get-apis-list.d.ts +2 -2
- package/dist/tools/get-apis-list.d.ts.map +1 -1
- package/dist/tools/get-apis-list.js +9 -4
- package/dist/tools/get-apis-list.js.map +1 -1
- package/dist/tools/get-content-meta.d.ts +2 -2
- package/dist/tools/get-content-meta.d.ts.map +1 -1
- package/dist/tools/get-content-meta.js +6 -2
- package/dist/tools/get-content-meta.js.map +1 -1
- package/dist/tools/get-content.d.ts +2 -2
- package/dist/tools/get-content.d.ts.map +1 -1
- package/dist/tools/get-content.js +6 -2
- package/dist/tools/get-content.js.map +1 -1
- package/dist/tools/get-list-meta.d.ts +2 -2
- package/dist/tools/get-list-meta.d.ts.map +1 -1
- package/dist/tools/get-list-meta.js +6 -2
- package/dist/tools/get-list-meta.js.map +1 -1
- package/dist/tools/get-list.d.ts +2 -2
- package/dist/tools/get-list.d.ts.map +1 -1
- package/dist/tools/get-list.js +6 -2
- package/dist/tools/get-list.js.map +1 -1
- package/dist/tools/get-media.d.ts +2 -2
- package/dist/tools/get-media.d.ts.map +1 -1
- package/dist/tools/get-media.js +9 -4
- package/dist/tools/get-media.js.map +1 -1
- package/dist/tools/get-member.d.ts +2 -2
- package/dist/tools/get-member.d.ts.map +1 -1
- package/dist/tools/get-member.js +6 -2
- package/dist/tools/get-member.js.map +1 -1
- package/dist/tools/get-services.d.ts +19 -0
- package/dist/tools/get-services.d.ts.map +1 -0
- package/dist/tools/get-services.js +48 -0
- package/dist/tools/get-services.js.map +1 -0
- package/dist/tools/patch-content-created-by.d.ts +2 -2
- package/dist/tools/patch-content-created-by.d.ts.map +1 -1
- package/dist/tools/patch-content-created-by.js +10 -3
- package/dist/tools/patch-content-created-by.js.map +1 -1
- package/dist/tools/patch-content-status.d.ts +2 -2
- package/dist/tools/patch-content-status.d.ts.map +1 -1
- package/dist/tools/patch-content-status.js +6 -2
- package/dist/tools/patch-content-status.js.map +1 -1
- package/dist/tools/patch-content.d.ts +2 -2
- package/dist/tools/patch-content.d.ts.map +1 -1
- package/dist/tools/patch-content.js +8 -3
- package/dist/tools/patch-content.js.map +1 -1
- package/dist/tools/update-content-draft.d.ts +2 -2
- package/dist/tools/update-content-draft.d.ts.map +1 -1
- package/dist/tools/update-content-draft.js +7 -3
- package/dist/tools/update-content-draft.js.map +1 -1
- package/dist/tools/update-content-published.d.ts +2 -2
- package/dist/tools/update-content-published.d.ts.map +1 -1
- package/dist/tools/update-content-published.js +7 -3
- package/dist/tools/update-content-published.js.map +1 -1
- package/dist/tools/upload-media.d.ts +2 -2
- package/dist/tools/upload-media.d.ts.map +1 -1
- package/dist/tools/upload-media.js +12 -6
- package/dist/tools/upload-media.js.map +1 -1
- package/dist/transport/http.d.ts +4 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +63 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/index.d.ts +4 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +12 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/stdio.d.ts +3 -0
- package/dist/transport/stdio.d.ts.map +1 -0
- package/dist/transport/stdio.js +6 -0
- package/dist/transport/stdio.js.map +1 -0
- package/dist/types.d.ts +98 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -8
- package/dist/tools/get-contents-list-management.d.ts +0 -5
- package/dist/tools/get-contents-list-management.d.ts.map +0 -1
- package/dist/tools/get-contents-list-management.js +0 -39
- package/dist/tools/get-contents-list-management.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import type { MediaToolParameters } from '../types.js';
|
|
3
3
|
export declare const uploadMediaTool: Tool;
|
|
4
|
-
export declare function handleUploadMedia(params: MediaToolParameters): Promise<{
|
|
4
|
+
export declare function handleUploadMedia(params: MediaToolParameters, serviceId?: string): Promise<{
|
|
5
5
|
url: string;
|
|
6
6
|
}>;
|
|
7
7
|
//# sourceMappingURL=upload-media.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-media.d.ts","sourceRoot":"","sources":["../../src/tools/upload-media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-media.d.ts","sourceRoot":"","sources":["../../src/tools/upload-media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,eAAe,EAAE,IAiC7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,CAAC,EAAE,MAAM;;GA8CnB"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getClientsForService } from '../client.js';
|
|
2
2
|
export const uploadMediaTool = {
|
|
3
3
|
name: 'microcms_upload_media',
|
|
4
4
|
description: 'Upload media files to microCMS using JS SDK (Management API). Supports two methods: 1) Upload file data (base64) with filename and mimeType, 2) Upload from external URL. Returns microCMS asset URL. Requires media upload permissions. Available on Team, Business, Advanced, and Enterprise plans.',
|
|
5
5
|
inputSchema: {
|
|
6
6
|
type: 'object',
|
|
7
7
|
properties: {
|
|
8
|
+
serviceId: {
|
|
9
|
+
type: 'string',
|
|
10
|
+
description: 'Service ID (required in multi-service mode, optional in single-service mode)',
|
|
11
|
+
},
|
|
8
12
|
fileData: {
|
|
9
13
|
type: 'string',
|
|
10
14
|
description: 'Base64 encoded file data (for direct file upload)',
|
|
@@ -24,14 +28,16 @@ export const uploadMediaTool = {
|
|
|
24
28
|
},
|
|
25
29
|
},
|
|
26
30
|
};
|
|
27
|
-
export async function handleUploadMedia(params) {
|
|
31
|
+
export async function handleUploadMedia(params, serviceId) {
|
|
28
32
|
const { fileData, fileName, mimeType, externalUrl } = params;
|
|
33
|
+
const clients = getClientsForService(serviceId);
|
|
29
34
|
try {
|
|
30
35
|
// Method 1: Upload from external URL
|
|
36
|
+
// Note: SDK types may not include 'url' property, but API supports it
|
|
31
37
|
if (externalUrl) {
|
|
32
|
-
const result = await
|
|
33
|
-
|
|
34
|
-
});
|
|
38
|
+
const result = await clients.managementClient.uploadMedia(
|
|
39
|
+
// biome-ignore lint/suspicious/noExplicitAny: SDK type limitation
|
|
40
|
+
{ url: externalUrl });
|
|
35
41
|
return result;
|
|
36
42
|
}
|
|
37
43
|
// Method 2: Upload file data
|
|
@@ -44,7 +50,7 @@ export async function handleUploadMedia(params) {
|
|
|
44
50
|
}
|
|
45
51
|
// Create Blob from buffer (for Node.js environment)
|
|
46
52
|
const data = new Blob([buffer], { type: mimeType });
|
|
47
|
-
const result = await
|
|
53
|
+
const result = await clients.managementClient.uploadMedia({
|
|
48
54
|
data,
|
|
49
55
|
name: fileName,
|
|
50
56
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-media.js","sourceRoot":"","sources":["../../src/tools/upload-media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"upload-media.js","sourceRoot":"","sources":["../../src/tools/upload-media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,uSAAuS;IACzS,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8EAA8E;aACjF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6FAA6F;aAChG;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8FAA8F;aACjG;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8DAA8D;aACjE;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA2B,EAC3B,SAAkB;IAElB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAC7D,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAEhD,IAAI,CAAC;QACH,qCAAqC;QACrC,sEAAsE;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,WAAW;YACvD,kEAAkE;YAClE,EAAE,GAAG,EAAE,WAAW,EAAS,CAC5B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACrC,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE/C,8BAA8B;YAC9B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;YAED,oDAAoD;YACpD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;gBACxD,IAAI;gBACJ,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import type { FullAppConfig } from '../types.js';
|
|
3
|
+
export declare function startHttpTransport(serverFactory: () => Server, config: FullAppConfig): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,MAAM,EAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAqEf"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { bearerAuth, StreamableHTTPTransport } from '@hono/mcp';
|
|
2
|
+
import { serve } from '@hono/node-server';
|
|
3
|
+
import { Hono } from 'hono';
|
|
4
|
+
import { cors } from 'hono/cors';
|
|
5
|
+
export async function startHttpTransport(serverFactory, config) {
|
|
6
|
+
const app = new Hono();
|
|
7
|
+
// CORS
|
|
8
|
+
app.use('/mcp', cors());
|
|
9
|
+
// Bearer token auth (only if configured)
|
|
10
|
+
if (config.auth.enabled && config.auth.bearerToken) {
|
|
11
|
+
app.use('/mcp', bearerAuth({ token: config.auth.bearerToken }));
|
|
12
|
+
}
|
|
13
|
+
// Health check
|
|
14
|
+
app.get('/health', (c) => c.json({ status: 'ok' }));
|
|
15
|
+
// Session management for stateful mode
|
|
16
|
+
const activeSessions = new Map();
|
|
17
|
+
const sessionLastAccess = new Map();
|
|
18
|
+
// Session timeout: clean up abandoned sessions (30 minutes)
|
|
19
|
+
const SESSION_TIMEOUT_MS = 30 * 60 * 1000;
|
|
20
|
+
const cleanupInterval = setInterval(() => {
|
|
21
|
+
const now = Date.now();
|
|
22
|
+
for (const [sessionId, lastAccess] of sessionLastAccess) {
|
|
23
|
+
if (now - lastAccess > SESSION_TIMEOUT_MS) {
|
|
24
|
+
activeSessions.delete(sessionId);
|
|
25
|
+
sessionLastAccess.delete(sessionId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}, 60 * 1000);
|
|
29
|
+
cleanupInterval.unref();
|
|
30
|
+
// MCP endpoint (stateful: session management)
|
|
31
|
+
app.all('/mcp', async (c) => {
|
|
32
|
+
const sessionId = c.req.header('mcp-session-id');
|
|
33
|
+
// Route to existing session
|
|
34
|
+
if (sessionId) {
|
|
35
|
+
const existingTransport = activeSessions.get(sessionId);
|
|
36
|
+
if (existingTransport) {
|
|
37
|
+
sessionLastAccess.set(sessionId, Date.now());
|
|
38
|
+
return existingTransport.handleRequest(c);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
// Create new session
|
|
42
|
+
const transport = new StreamableHTTPTransport({
|
|
43
|
+
sessionIdGenerator: () => crypto.randomUUID(),
|
|
44
|
+
onsessioninitialized: (newSessionId) => {
|
|
45
|
+
activeSessions.set(newSessionId, transport);
|
|
46
|
+
sessionLastAccess.set(newSessionId, Date.now());
|
|
47
|
+
},
|
|
48
|
+
onsessionclosed: (closedSessionId) => {
|
|
49
|
+
activeSessions.delete(closedSessionId);
|
|
50
|
+
sessionLastAccess.delete(closedSessionId);
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
const server = serverFactory();
|
|
54
|
+
await server.connect(transport);
|
|
55
|
+
return transport.handleRequest(c);
|
|
56
|
+
});
|
|
57
|
+
const { host, port } = config.transport;
|
|
58
|
+
serve({ fetch: app.fetch, hostname: host, port }, (info) => {
|
|
59
|
+
// biome-ignore lint/suspicious/noConsole: intentional server startup log to stderr
|
|
60
|
+
console.error(`microCMS MCP Server (HTTP) listening on http://${info.address}:${info.port}/mcp`);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAA2B,EAC3B,MAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,OAAO;IACP,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAExB,yCAAyC;IACzC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;IACf,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,uCAAuC;IACvC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;IAClE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,4DAA4D;IAC5D,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACxD,IAAI,GAAG,GAAG,UAAU,GAAG,kBAAkB,EAAE,CAAC;gBAC1C,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACjC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACd,eAAe,CAAC,KAAK,EAAE,CAAC;IAExB,8CAA8C;IAC9C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7C,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,uBAAuB,CAAC;YAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;YAC7C,oBAAoB,EAAE,CAAC,YAAY,EAAE,EAAE;gBACrC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC5C,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,eAAe,EAAE,CAAC,eAAe,EAAE,EAAE;gBACnC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACvC,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACzD,mFAAmF;QACnF,OAAO,CAAC,KAAK,CACX,kDAAkD,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,MAAM,CAClF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAsB,cAAc,CAClC,aAAa,EAAE,MAAM,MAAM,EAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAOf"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { startHttpTransport } from './http.js';
|
|
2
|
+
import { startStdioTransport } from './stdio.js';
|
|
3
|
+
export async function startTransport(serverFactory, config) {
|
|
4
|
+
if (config.transport.mode === 'http') {
|
|
5
|
+
await startHttpTransport(serverFactory, config);
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
const server = serverFactory();
|
|
9
|
+
await startStdioTransport(server);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,aAA2B,EAC3B,MAAqB;IAErB,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACrC,MAAM,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGxE,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
export interface ServiceConfig {
|
|
2
|
+
id: string;
|
|
3
|
+
apiKey: string;
|
|
4
|
+
}
|
|
5
|
+
export type ConfigMode = 'single' | 'multi';
|
|
6
|
+
export interface SingleServiceConfig {
|
|
7
|
+
mode: 'single';
|
|
8
|
+
serviceDomain: string;
|
|
9
|
+
apiKey: string;
|
|
10
|
+
}
|
|
11
|
+
export interface MultiServiceConfig {
|
|
12
|
+
mode: 'multi';
|
|
13
|
+
services: ServiceConfig[];
|
|
14
|
+
}
|
|
15
|
+
export type AppConfig = SingleServiceConfig | MultiServiceConfig;
|
|
16
|
+
export type TransportMode = 'stdio' | 'http';
|
|
17
|
+
export interface TransportConfig {
|
|
18
|
+
mode: TransportMode;
|
|
19
|
+
host: string;
|
|
20
|
+
port: number;
|
|
21
|
+
}
|
|
22
|
+
export interface AuthConfig {
|
|
23
|
+
enabled: boolean;
|
|
24
|
+
bearerToken?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ServiceInfo {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
}
|
|
30
|
+
export interface FullAppConfig {
|
|
31
|
+
services: AppConfig;
|
|
32
|
+
transport: TransportConfig;
|
|
33
|
+
auth: AuthConfig;
|
|
34
|
+
}
|
|
1
35
|
export interface MicroCMSListOptions {
|
|
2
36
|
draftKey?: string;
|
|
3
37
|
limit?: number;
|
|
@@ -27,7 +61,7 @@ export interface MicroCMSContent {
|
|
|
27
61
|
updatedAt: string;
|
|
28
62
|
publishedAt?: string;
|
|
29
63
|
revisedAt?: string;
|
|
30
|
-
[key: string]:
|
|
64
|
+
[key: string]: unknown;
|
|
31
65
|
}
|
|
32
66
|
export interface MicroCMSListResponse<T = MicroCMSContent> {
|
|
33
67
|
contents: T[];
|
|
@@ -51,7 +85,7 @@ export interface MemberInfo {
|
|
|
51
85
|
export interface ToolParameters {
|
|
52
86
|
endpoint: string;
|
|
53
87
|
contentId?: string;
|
|
54
|
-
content?: Record<string,
|
|
88
|
+
content?: Record<string, unknown>;
|
|
55
89
|
draftKey?: string;
|
|
56
90
|
limit?: number;
|
|
57
91
|
offset?: number;
|
|
@@ -81,4 +115,66 @@ export interface MediaToolParameters {
|
|
|
81
115
|
externalUrl?: string;
|
|
82
116
|
url?: string;
|
|
83
117
|
}
|
|
118
|
+
export interface BulkCreateItem {
|
|
119
|
+
content: Record<string, any>;
|
|
120
|
+
contentId?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface BulkCreateResultItem {
|
|
123
|
+
index: number;
|
|
124
|
+
success: boolean;
|
|
125
|
+
id?: string;
|
|
126
|
+
error?: string;
|
|
127
|
+
}
|
|
128
|
+
export interface BulkCreateResult {
|
|
129
|
+
totalCount: number;
|
|
130
|
+
successCount: number;
|
|
131
|
+
failureCount: number;
|
|
132
|
+
results: BulkCreateResultItem[];
|
|
133
|
+
}
|
|
134
|
+
export interface BulkToolParameters {
|
|
135
|
+
endpoint: string;
|
|
136
|
+
contents: BulkCreateItem[];
|
|
137
|
+
}
|
|
138
|
+
export interface ApiInfo {
|
|
139
|
+
apiName: string;
|
|
140
|
+
apiEndpoint: string;
|
|
141
|
+
apiType: string[];
|
|
142
|
+
apiFields: unknown[];
|
|
143
|
+
customFields?: unknown[];
|
|
144
|
+
}
|
|
145
|
+
export interface ApiListResponse {
|
|
146
|
+
apis: ApiInfo[];
|
|
147
|
+
}
|
|
148
|
+
export interface ContentMeta {
|
|
149
|
+
id: string;
|
|
150
|
+
status: string[];
|
|
151
|
+
createdBy?: string;
|
|
152
|
+
updatedBy?: string;
|
|
153
|
+
reservationTime?: string | null;
|
|
154
|
+
closedAt?: string | null;
|
|
155
|
+
customStatus?: unknown;
|
|
156
|
+
[key: string]: unknown;
|
|
157
|
+
}
|
|
158
|
+
export interface ContentMetaListResponse {
|
|
159
|
+
contents: ContentMeta[];
|
|
160
|
+
totalCount: number;
|
|
161
|
+
offset: number;
|
|
162
|
+
limit: number;
|
|
163
|
+
}
|
|
164
|
+
export interface MediaItem {
|
|
165
|
+
url: string;
|
|
166
|
+
width?: number;
|
|
167
|
+
height?: number;
|
|
168
|
+
fileName?: string;
|
|
169
|
+
fileSize?: number;
|
|
170
|
+
mimeType?: string;
|
|
171
|
+
createdAt: string;
|
|
172
|
+
}
|
|
173
|
+
export interface MediaListResponse {
|
|
174
|
+
media: MediaItem[];
|
|
175
|
+
token?: string;
|
|
176
|
+
}
|
|
177
|
+
export interface MediaUploadResponse {
|
|
178
|
+
url: string;
|
|
179
|
+
}
|
|
84
180
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "microcms-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "microCMS MCP Bundle - microCMSのコンテンツAPIやマネジメントAPIを利用し、LLMからコンテンツ管理ができるMCP Bundle",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -16,10 +16,13 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
18
|
"start": "node dist/index.js",
|
|
19
|
+
"start:http": "node dist/index.js --transport http",
|
|
19
20
|
"start:args": "node dist/index.js --service-id your-service-id --api-key your-api-key",
|
|
20
21
|
"dev": "tsc --watch & node --watch dist/index.js",
|
|
21
|
-
"lint": "
|
|
22
|
-
"format": "
|
|
22
|
+
"lint": "biome lint src/",
|
|
23
|
+
"format": "biome format --write src/",
|
|
24
|
+
"check": "biome check src/",
|
|
25
|
+
"check:fix": "biome check --write src/",
|
|
23
26
|
"prepublishOnly": "npm run build",
|
|
24
27
|
"test": "echo \"No tests specified\" && exit 0"
|
|
25
28
|
},
|
|
@@ -48,15 +51,15 @@
|
|
|
48
51
|
"homepage": "https://github.com/microcmsio/microcms-mcp-server#readme",
|
|
49
52
|
"license": "MIT",
|
|
50
53
|
"dependencies": {
|
|
51
|
-
"@
|
|
54
|
+
"@hono/mcp": "^0.2.3",
|
|
55
|
+
"@hono/node-server": "^1.19.9",
|
|
56
|
+
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
57
|
+
"hono": "^4.12.0",
|
|
52
58
|
"microcms-js-sdk": "^3.1.2"
|
|
53
59
|
},
|
|
54
60
|
"devDependencies": {
|
|
61
|
+
"@biomejs/biome": "2.3.4",
|
|
55
62
|
"@types/node": "^20.0.0",
|
|
56
|
-
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
57
|
-
"@typescript-eslint/parser": "^6.0.0",
|
|
58
|
-
"eslint": "^8.0.0",
|
|
59
|
-
"prettier": "^3.0.0",
|
|
60
63
|
"typescript": "^5.0.0"
|
|
61
64
|
},
|
|
62
65
|
"engines": {
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
-
import type { ToolParameters } from '../types.js';
|
|
3
|
-
export declare const getListMetaTool: Tool;
|
|
4
|
-
export declare function handleGetListMeta(params: ToolParameters): Promise<any>;
|
|
5
|
-
//# sourceMappingURL=get-contents-list-management.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-contents-list-management.d.ts","sourceRoot":"","sources":["../../src/tools/get-contents-list-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,IAwB7B,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,gBAY7D"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { getListMeta } from '../client.js';
|
|
2
|
-
export const getListMetaTool = {
|
|
3
|
-
name: 'microcms_get_list_meta',
|
|
4
|
-
description: 'Get a list of contents with metadata from microCMS Management API. IMPORTANT: Use this tool ONLY when the user message contains "メタ" (meta) or "メタ情報" (metadata). This API returns metadata information such as status, createdBy, updatedBy, reservationTime, closedAt, and customStatus that are not available in the regular content API. For regular content retrieval, use microcms_get_list instead.',
|
|
5
|
-
inputSchema: {
|
|
6
|
-
type: 'object',
|
|
7
|
-
properties: {
|
|
8
|
-
endpoint: {
|
|
9
|
-
type: 'string',
|
|
10
|
-
description: 'Content type name (e.g., "blogs", "news")',
|
|
11
|
-
},
|
|
12
|
-
limit: {
|
|
13
|
-
type: 'number',
|
|
14
|
-
description: 'Number of contents to retrieve (default: 10, max: 100)',
|
|
15
|
-
minimum: 1,
|
|
16
|
-
maximum: 100,
|
|
17
|
-
},
|
|
18
|
-
offset: {
|
|
19
|
-
type: 'number',
|
|
20
|
-
description: 'Offset for pagination (default: 0)',
|
|
21
|
-
minimum: 0,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
required: ['endpoint'],
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
export async function handleGetListMeta(params) {
|
|
28
|
-
const { endpoint, limit, offset } = params;
|
|
29
|
-
if (!endpoint) {
|
|
30
|
-
throw new Error('endpoint is required');
|
|
31
|
-
}
|
|
32
|
-
const options = {};
|
|
33
|
-
if (limit !== undefined)
|
|
34
|
-
options.limit = limit;
|
|
35
|
-
if (offset !== undefined)
|
|
36
|
-
options.offset = offset;
|
|
37
|
-
return await getListMeta(endpoint, options);
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=get-contents-list-management.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-contents-list-management.js","sourceRoot":"","sources":["../../src/tools/get-contents-list-management.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,eAAe,GAAS;IACjC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,4YAA4Y;IACzZ,WAAW,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACR,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aAC3D;YACD,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wDAAwD;gBACrE,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACf;YACD,MAAM,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oCAAoC;gBACjD,OAAO,EAAE,CAAC;aACb;SACJ;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACzB;CACJ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAsB;IAC1D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAElD,OAAO,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAChD,CAAC"}
|