pabal-resource-mcp 1.4.8 → 1.5.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 +6 -6
- package/dist/bin/mcp-server.js +15 -15
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# pabal-
|
|
1
|
+
# pabal-resource-mcp
|
|
2
2
|
|
|
3
3
|
MCP server for ASO ↔ Web SEO data conversion.
|
|
4
4
|
|
|
@@ -6,24 +6,24 @@ Build synced websites from App Store Connect and Google Play Console data.
|
|
|
6
6
|
|
|
7
7
|
> 💡 **Example**: [labs.quartz.best](https://labs.quartz.best/)
|
|
8
8
|
|
|
9
|
-
[](https://pabal.quartz.best/docs/en-US/pabal-mcp/README) [](https://pabal.quartz.best/docs/ko-KR/pabal-mcp/README)
|
|
9
|
+
[](https://pabal.quartz.best/docs/en-US/pabal-store-api-mcp/README) [](https://pabal.quartz.best/docs/ko-KR/pabal-store-api-mcp/README)
|
|
10
10
|
|
|
11
11
|
## Installation
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npm install pabal-
|
|
14
|
+
npm install pabal-resource-mcp
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
**Requirements:** Node.js >= 18, [pabal-mcp](https://github.com/quartz-labs-dev/pabal-mcp)
|
|
17
|
+
**Requirements:** Node.js >= 18, [pabal-store-api-mcp](https://github.com/quartz-labs-dev/pabal-store-api-mcp)
|
|
18
18
|
|
|
19
19
|
## MCP Configuration
|
|
20
20
|
|
|
21
21
|
```json
|
|
22
22
|
{
|
|
23
23
|
"mcpServers": {
|
|
24
|
-
"pabal-
|
|
24
|
+
"pabal-resource-mcp": {
|
|
25
25
|
"command": "npx",
|
|
26
|
-
"args": ["-y", "pabal-
|
|
26
|
+
"args": ["-y", "pabal-resource-mcp"]
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
package/dist/bin/mcp-server.js
CHANGED
|
@@ -1023,7 +1023,7 @@ ${validationMessage}`
|
|
|
1023
1023
|
`;
|
|
1024
1024
|
}
|
|
1025
1025
|
responseText += `
|
|
1026
|
-
Next step: Push to stores using pabal-mcp's aso-push tool`;
|
|
1026
|
+
Next step: Push to stores using pabal-store-api-mcp's aso-push tool`;
|
|
1027
1027
|
responseText += `
|
|
1028
1028
|
Reference: ${FIELD_LIMITS_DOC_PATH}`;
|
|
1029
1029
|
if (sanitizeWarnings.length > 0) {
|
|
@@ -3405,13 +3405,13 @@ var jsonSchema7 = zodToJsonSchema7(initProjectInputSchema, {
|
|
|
3405
3405
|
var inputSchema7 = jsonSchema7.definitions?.InitProjectInput || jsonSchema7;
|
|
3406
3406
|
var initProjectTool = {
|
|
3407
3407
|
name: "init-project",
|
|
3408
|
-
description: `Guides the initialization flow: run pabal-mcp Init, then convert ASO pullData into public/products/[slug]/.
|
|
3408
|
+
description: `Guides the initialization flow: run pabal-store-api-mcp Init, then convert ASO pullData into public/products/[slug]/.
|
|
3409
3409
|
|
|
3410
|
-
This tool is read-only and returns a checklist. It does not call pabal-mcp directly or write files.
|
|
3410
|
+
This tool is read-only and returns a checklist. It does not call pabal-store-api-mcp directly or write files.
|
|
3411
3411
|
|
|
3412
3412
|
Steps:
|
|
3413
|
-
1) Ensure pabal-mcp 'init' ran and .aso/pullData/products/[slug]/ exists (path from ~/.config/pabal-mcp/config.json dataDir)
|
|
3414
|
-
2) Convert pulled ASO data -> public/products/[slug]/ using pabal-
|
|
3413
|
+
1) Ensure pabal-store-api-mcp 'init' ran and .aso/pullData/products/[slug]/ exists (path from ~/.config/pabal-mcp/config.json dataDir)
|
|
3414
|
+
2) Convert pulled ASO data -> public/products/[slug]/ using pabal-resource-mcp tools (aso-to-public, public-to-aso dry run)
|
|
3415
3415
|
3) Validate outputs and next actions`,
|
|
3416
3416
|
inputSchema: inputSchema7
|
|
3417
3417
|
};
|
|
@@ -3422,7 +3422,7 @@ async function handleInitProject(input) {
|
|
|
3422
3422
|
const publicSlugs = listSlugDirs(publicDir);
|
|
3423
3423
|
const targetSlugs = input.slug?.length && input.slug.trim().length > 0 ? [input.slug.trim()] : pullDataSlugs.length > 0 ? pullDataSlugs : publicSlugs;
|
|
3424
3424
|
const lines = [];
|
|
3425
|
-
lines.push("Init workflow (pabal-mcp -> pabal-
|
|
3425
|
+
lines.push("Init workflow (pabal-store-api-mcp -> pabal-resource-mcp)");
|
|
3426
3426
|
lines.push(
|
|
3427
3427
|
`Target slugs: ${targetSlugs.length > 0 ? targetSlugs.join(", ") : "(none detected)"}`
|
|
3428
3428
|
);
|
|
@@ -3435,7 +3435,7 @@ async function handleInitProject(input) {
|
|
|
3435
3435
|
lines.push("");
|
|
3436
3436
|
if (targetSlugs.length === 0) {
|
|
3437
3437
|
lines.push(
|
|
3438
|
-
"No products detected. Run pabal-mcp 'init' for your slug(s) to populate .aso/pullData/products/, then rerun this tool."
|
|
3438
|
+
"No products detected. Run pabal-store-api-mcp 'init' for your slug(s) to populate .aso/pullData/products/, then rerun this tool."
|
|
3439
3439
|
);
|
|
3440
3440
|
return {
|
|
3441
3441
|
content: [
|
|
@@ -3446,17 +3446,17 @@ async function handleInitProject(input) {
|
|
|
3446
3446
|
]
|
|
3447
3447
|
};
|
|
3448
3448
|
}
|
|
3449
|
-
lines.push("Step 1: Fetch raw ASO data (pabal-mcp 'init')");
|
|
3449
|
+
lines.push("Step 1: Fetch raw ASO data (pabal-store-api-mcp 'init')");
|
|
3450
3450
|
for (const slug of targetSlugs) {
|
|
3451
3451
|
const hasPull = pullDataSlugs.includes(slug);
|
|
3452
3452
|
lines.push(`- ${slug}: ${hasPull ? "pullData ready" : "pullData missing"}`);
|
|
3453
3453
|
}
|
|
3454
3454
|
lines.push(
|
|
3455
|
-
"Action: In pabal-mcp, run the 'init' tool for each slug above that is missing pullData."
|
|
3455
|
+
"Action: In pabal-store-api-mcp, run the 'init' tool for each slug above that is missing pullData."
|
|
3456
3456
|
);
|
|
3457
3457
|
lines.push("");
|
|
3458
3458
|
lines.push(
|
|
3459
|
-
"Step 2: Convert pullData to web assets (pabal-
|
|
3459
|
+
"Step 2: Convert pullData to web assets (pabal-resource-mcp 'aso-to-public')"
|
|
3460
3460
|
);
|
|
3461
3461
|
for (const slug of targetSlugs) {
|
|
3462
3462
|
const hasPull = pullDataSlugs.includes(slug);
|
|
@@ -3468,17 +3468,17 @@ async function handleInitProject(input) {
|
|
|
3468
3468
|
);
|
|
3469
3469
|
}
|
|
3470
3470
|
lines.push(
|
|
3471
|
-
"Action: After pullData exists, run pabal-
|
|
3471
|
+
"Action: After pullData exists, run pabal-resource-mcp 'aso-to-public' per slug to generate locale prompts. Save results to public/products/[slug]/locales/, copy screenshots, and ensure config.json/icon/og-image are in place."
|
|
3472
3472
|
);
|
|
3473
3473
|
lines.push("");
|
|
3474
3474
|
lines.push("Step 3: Verify and prepare for push (optional)");
|
|
3475
3475
|
lines.push(
|
|
3476
|
-
"Use pabal-
|
|
3476
|
+
"Use pabal-resource-mcp 'public-to-aso' with dryRun=true to validate structure and build pushData before uploading via store tooling."
|
|
3477
3477
|
);
|
|
3478
3478
|
lines.push("");
|
|
3479
3479
|
lines.push("Notes:");
|
|
3480
3480
|
lines.push(
|
|
3481
|
-
"- This tool is read-only; it does not write files or call pabal-mcp."
|
|
3481
|
+
"- This tool is read-only; it does not write files or call pabal-store-api-mcp."
|
|
3482
3482
|
);
|
|
3483
3483
|
lines.push(
|
|
3484
3484
|
"- Extend this init checklist as new processes are added (e.g., asset generation or validations)."
|
|
@@ -3959,7 +3959,7 @@ function getToolZodSchema(name) {
|
|
|
3959
3959
|
// src/bin/mcp-server.ts
|
|
3960
3960
|
var server = new Server(
|
|
3961
3961
|
{
|
|
3962
|
-
name: "pabal-
|
|
3962
|
+
name: "pabal-resource-mcp",
|
|
3963
3963
|
version: "0.1.0"
|
|
3964
3964
|
},
|
|
3965
3965
|
{
|
|
@@ -3986,7 +3986,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
3986
3986
|
async function main() {
|
|
3987
3987
|
const transport = new StdioServerTransport();
|
|
3988
3988
|
await server.connect(transport);
|
|
3989
|
-
console.error("pabal-
|
|
3989
|
+
console.error("pabal-resource-mcp server running on stdio");
|
|
3990
3990
|
}
|
|
3991
3991
|
main().catch((error) => {
|
|
3992
3992
|
console.error("Fatal error in main():", error);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pabal-resource-mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP server for ASO data management with shared types and utilities",
|
|
6
6
|
"author": "skyu",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
},
|
|
50
50
|
"sideEffects": false,
|
|
51
51
|
"bin": {
|
|
52
|
-
"pabal-resource-mcp": "
|
|
52
|
+
"pabal-resource-mcp": "dist/bin/mcp-server.js"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist"
|