shopline-mcp 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom.js","sourceRoot":"","sources":["../../src/tools/custom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ToolContext } from "../types.js";
2
+ export declare function executeGenericTool(context: ToolContext): Promise<Record<string, unknown>>;
@@ -0,0 +1,150 @@
1
+ import { ENDPOINTS, endpointPathParams } from "../config.js";
2
+ import { apiDelete, apiGet, apiPatch, apiPost, apiPut, fetchAllPages } from "../client.js";
3
+ import { pageCountForLimit } from "../shared/helpers.js";
4
+ function isPresent(value) {
5
+ return value !== undefined && value !== null && value !== "";
6
+ }
7
+ function maxResults(args, fallback = 50) {
8
+ const value = Number(args.max_results ?? args.top_n ?? fallback);
9
+ return Number.isFinite(value) && value > 0 ? Math.floor(value) : fallback;
10
+ }
11
+ function operationFor(context) {
12
+ if (context.spec.write) {
13
+ return context.spec.operations.find((operation) => operation.method !== "GET") ?? context.spec.operations[0];
14
+ }
15
+ return context.spec.operations.find((operation) => operation.kind === "fetch_all_pages") ?? context.spec.operations[0];
16
+ }
17
+ function collectPathParams(endpointKey, args) {
18
+ const params = {};
19
+ for (const key of endpointPathParams(endpointKey)) {
20
+ params[key] = args[key];
21
+ }
22
+ return params;
23
+ }
24
+ function collectQueryParams(endpointKey, args) {
25
+ const pathKeys = new Set(endpointPathParams(endpointKey));
26
+ const params = {};
27
+ for (const [key, value] of Object.entries(args)) {
28
+ if (!isPresent(value))
29
+ continue;
30
+ if (pathKeys.has(key))
31
+ continue;
32
+ if (["max_results", "top_n", "product_data", "customer_data", "order_data", "promotion_data", "category_data"].includes(key)) {
33
+ continue;
34
+ }
35
+ params[key] = value;
36
+ }
37
+ if (isPresent(args.search_keyword)) {
38
+ params.keyword = args.search_keyword;
39
+ delete params.search_keyword;
40
+ }
41
+ if (isPresent(args.start_date)) {
42
+ params.created_after = `${args.start_date}T00:00:00Z`;
43
+ delete params.start_date;
44
+ }
45
+ if (isPresent(args.end_date)) {
46
+ params.created_before = `${args.end_date}T23:59:59Z`;
47
+ delete params.end_date;
48
+ }
49
+ const limit = maxResults(args, 50);
50
+ if (!endpointPathParams(endpointKey).length || endpointKey.includes("search")) {
51
+ params.per_page ??= Math.min(50, limit);
52
+ }
53
+ return params;
54
+ }
55
+ function literalBodyFromExpression(expression, args) {
56
+ if (!expression)
57
+ return undefined;
58
+ const trimmed = expression.trim();
59
+ if (trimmed === "{}")
60
+ return {};
61
+ if (/^[A-Za-z_]\w*$/.test(trimmed))
62
+ return args[trimmed];
63
+ const body = {};
64
+ for (const match of trimmed.matchAll(/['"]([A-Za-z_]\w*)['"]\s*:\s*([A-Za-z_]\w*)/g)) {
65
+ const key = match[1];
66
+ const varName = match[2];
67
+ if (key && varName)
68
+ body[key] = args[varName];
69
+ }
70
+ return Object.keys(body).length ? body : undefined;
71
+ }
72
+ function inferWriteBody(operation, args) {
73
+ const fromExpression = literalBodyFromExpression(operation.json_body, args);
74
+ if (fromExpression !== undefined)
75
+ return fromExpression;
76
+ const bodyParam = Object.keys(args).find((key) => key.endsWith("_data") || key.endsWith("_config"));
77
+ if (bodyParam)
78
+ return args[bodyParam];
79
+ const simpleKeys = [
80
+ "tags",
81
+ "quantity",
82
+ "price",
83
+ "image_urls",
84
+ "image_ids",
85
+ "updates",
86
+ "reviews",
87
+ "comment_ids",
88
+ "product_ids",
89
+ "category_ids",
90
+ "purchase_order_ids",
91
+ ];
92
+ const body = {};
93
+ for (const key of simpleKeys) {
94
+ if (isPresent(args[key]))
95
+ body[key] = args[key];
96
+ }
97
+ return Object.keys(body).length ? body : {};
98
+ }
99
+ function resourceId(args, result) {
100
+ const fromArgs = Object.entries(args).find(([key]) => key.endsWith("_id") || key === "id");
101
+ if (fromArgs?.[1])
102
+ return String(fromArgs[1]);
103
+ const item = result.id ? result : result.item && typeof result.item === "object" ? result.item : undefined;
104
+ return item?.id ? String(item.id) : "bulk";
105
+ }
106
+ async function executeRead(operation, args) {
107
+ const endpointKey = operation.endpointKey;
108
+ const pathParams = collectPathParams(endpointKey, args);
109
+ const queryParams = collectQueryParams(endpointKey, args);
110
+ const limit = maxResults(args, 50);
111
+ const pathTemplate = ENDPOINTS[endpointKey] ?? "";
112
+ const hasPathParams = /\{\w+\}/.test(pathTemplate);
113
+ if (operation.kind === "fetch_all_pages" || (!hasPathParams && (args.max_results !== undefined || endpointKey.endsWith("s")))) {
114
+ const pages = pageCountForLimit(limit);
115
+ const items = await fetchAllPages(endpointKey, queryParams, pathParams, pages);
116
+ const sliced = items.slice(0, limit);
117
+ return { total_found: items.length, returned: sliced.length, items: sliced };
118
+ }
119
+ return apiGet(endpointKey, queryParams, pathParams);
120
+ }
121
+ async function executeWrite(operation, args) {
122
+ const endpointKey = operation.endpointKey;
123
+ const pathParams = collectPathParams(endpointKey, args);
124
+ const body = inferWriteBody(operation, args);
125
+ let result;
126
+ if (operation.method === "POST")
127
+ result = await apiPost(endpointKey, body, undefined, pathParams);
128
+ else if (operation.method === "PUT")
129
+ result = await apiPut(endpointKey, body, undefined, pathParams);
130
+ else if (operation.method === "PATCH")
131
+ result = await apiPatch(endpointKey, body, undefined, pathParams);
132
+ else if (operation.method === "DELETE")
133
+ result = await apiDelete(endpointKey, undefined, pathParams, body);
134
+ else
135
+ result = await apiGet(endpointKey, collectQueryParams(endpointKey, args), pathParams);
136
+ return {
137
+ success: true,
138
+ resource_id: resourceId(args, result),
139
+ message: `${endpointKey} ${operation.method} completed`,
140
+ result,
141
+ };
142
+ }
143
+ export async function executeGenericTool(context) {
144
+ const operation = operationFor(context);
145
+ if (!operation) {
146
+ throw new Error(`No API operation metadata is available for tool ${context.spec.name}`);
147
+ }
148
+ return context.spec.write ? executeWrite(operation, context.args) : executeRead(operation, context.args);
149
+ }
150
+ //# sourceMappingURL=generic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/tools/generic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { ToolSpec } from "../types.js";
3
+ export declare const SHOPLINE_TOOL_SPECS: readonly ToolSpec[];
4
+ export declare function registerShoplineTools(server: McpServer): void;
@@ -0,0 +1,43 @@
1
+ import { toolSpecs } from "../generated/toolSpecs.js";
2
+ import { buildInputSchema } from "../schemas.js";
3
+ import { toToolError, toToolResult } from "../shared/helpers.js";
4
+ import { customHandlers } from "./custom.js";
5
+ import { executeGenericTool } from "./generic.js";
6
+ export const SHOPLINE_TOOL_SPECS = toolSpecs;
7
+ async function executeTool(spec, args) {
8
+ const custom = customHandlers[spec.name];
9
+ if (custom)
10
+ return custom(args);
11
+ return executeGenericTool({ spec, args });
12
+ }
13
+ export function registerShoplineTools(server) {
14
+ for (const spec of SHOPLINE_TOOL_SPECS) {
15
+ server.registerTool(spec.name, {
16
+ title: spec.name,
17
+ description: spec.description,
18
+ inputSchema: buildInputSchema(spec.params),
19
+ annotations: spec.write
20
+ ? {
21
+ readOnlyHint: false,
22
+ destructiveHint: true,
23
+ idempotentHint: false,
24
+ openWorldHint: true,
25
+ }
26
+ : {
27
+ readOnlyHint: true,
28
+ destructiveHint: false,
29
+ idempotentHint: true,
30
+ openWorldHint: true,
31
+ },
32
+ }, async (args) => {
33
+ try {
34
+ const output = await executeTool(spec, args);
35
+ return toToolResult(output);
36
+ }
37
+ catch (error) {
38
+ return toToolError(error);
39
+ }
40
+ });
41
+ }
42
+ }
43
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/tools/register.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAwB,SAAgC,CAAC;AAEzF,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,IAA6B;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,MAAM,CAAC,YAAY,CACjB,IAAI,CAAC,IAAI,EACT;YACE,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC1C,WAAW,EAAE,IAAI,CAAC,KAAK;gBACrB,CAAC,CAAC;oBACE,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,IAAI;oBACrB,cAAc,EAAE,KAAK;oBACrB,aAAa,EAAE,IAAI;iBACpB;gBACH,CAAC,CAAC;oBACE,YAAY,EAAE,IAAI;oBAClB,eAAe,EAAE,KAAK;oBACtB,cAAc,EAAE,IAAI;oBACpB,aAAa,EAAE,IAAI;iBACpB;SACN,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;YACb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;gBACxE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,40 @@
1
+ export type JsonObject = Record<string, unknown>;
2
+ export type ParamKind = "string" | "integer" | "number" | "boolean" | "array" | "object" | "enum" | "any";
3
+ export interface ParamSpec {
4
+ readonly name: string;
5
+ readonly description: string;
6
+ readonly default: unknown;
7
+ readonly hasDefault: boolean;
8
+ readonly kind: ParamKind;
9
+ readonly optional: boolean;
10
+ readonly enum?: readonly string[];
11
+ }
12
+ export interface DocEndpoint {
13
+ readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
14
+ readonly path: string;
15
+ }
16
+ export interface ApiOperation {
17
+ readonly kind: string;
18
+ readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
19
+ readonly endpointKey: string;
20
+ readonly json_body?: string;
21
+ readonly params?: string;
22
+ readonly path_params?: string;
23
+ }
24
+ export interface ToolSpec {
25
+ readonly module: string;
26
+ readonly name: string;
27
+ readonly write: boolean;
28
+ readonly description: string;
29
+ readonly params: readonly ParamSpec[];
30
+ readonly docEndpoints: readonly DocEndpoint[];
31
+ readonly operations: readonly ApiOperation[];
32
+ readonly sourceLocation: {
33
+ readonly line: number;
34
+ readonly endLine: number;
35
+ };
36
+ }
37
+ export interface ToolContext {
38
+ readonly spec: ToolSpec;
39
+ readonly args: JsonObject;
40
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "shopline-mcp",
3
+ "version": "1.0.0",
4
+ "description": "MCP server wrapping the Shopline Open API into AI-callable tools for e-commerce analysis and operations.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Asgard AI Platform",
8
+ "homepage": "https://sline.dev/shopline-mcp/",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/slinedev/shopline-mcp.git"
12
+ },
13
+ "bin": {
14
+ "shopline-mcp": "./dist/index.js"
15
+ },
16
+ "exports": {
17
+ ".": "./dist/index.js"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "README.zh-TW.md",
23
+ "LICENSE"
24
+ ],
25
+ "scripts": {
26
+ "typecheck": "tsc -p tsconfig.json --noEmit",
27
+ "build": "tsc -p tsconfig.json && chmod +x dist/index.js",
28
+ "test": "vitest run",
29
+ "test:smoke": "node tests/smoke-tools-list.mjs",
30
+ "verify": "npm run typecheck && npm run build && npm test && npm run test:smoke",
31
+ "prepack": "npm run build"
32
+ },
33
+ "keywords": [
34
+ "mcp",
35
+ "shopline",
36
+ "e-commerce",
37
+ "ai-agent",
38
+ "claude"
39
+ ],
40
+ "engines": {
41
+ "node": ">=24.0.0"
42
+ },
43
+ "dependencies": {
44
+ "@modelcontextprotocol/sdk": "^1.29.0",
45
+ "zod": "^4.4.3"
46
+ },
47
+ "devDependencies": {
48
+ "@types/node": "^24.13.1",
49
+ "tsx": "^4.22.4",
50
+ "typescript": "^6.0.3",
51
+ "vitest": "^4.1.8"
52
+ },
53
+ "publishConfig": {
54
+ "access": "public",
55
+ "provenance": false
56
+ }
57
+ }