linktest-mcp-server 1.0.13 → 1.0.15
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/index.js +229 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +254 -1
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import axios, { AxiosError } from "axios";
|
|
|
17
17
|
import * as fs from "fs";
|
|
18
18
|
import * as path from "path";
|
|
19
19
|
import * as os from "os";
|
|
20
|
-
const CURRENT_MCP_VERSION = "1.0.
|
|
20
|
+
const CURRENT_MCP_VERSION = "1.0.15";
|
|
21
21
|
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
22
22
|
const CHARACTER_LIMIT = 25000;
|
|
23
23
|
// ─── API Client ──────────────────────────────────────────────────────────────
|
|
@@ -485,9 +485,25 @@ Examples:
|
|
|
485
485
|
`Play Console → Testing → Closed Testing → Testers → Add LinkTest email list\n\n` +
|
|
486
486
|
`After fixing, create a new order with linktest_order.`;
|
|
487
487
|
}
|
|
488
|
+
// Retry 정보 표시
|
|
489
|
+
if (order.retryCount && Number(order.retryCount) > 0) {
|
|
490
|
+
text += `\n\n🔄 **Retry Active** — Extended on ${formatDate(String(order.retriedAt))}`;
|
|
491
|
+
}
|
|
492
|
+
if (order.canRetry) {
|
|
493
|
+
text += `\n\n💡 **Free retry available!** If your app was rejected by Google Play, you can extend testing by 14 days.\nUse: linktest_retry(order_id="${params.order_id}")`;
|
|
494
|
+
}
|
|
488
495
|
if (status === "active" && Number(order.daysLeft) <= 2) {
|
|
489
496
|
text += `\n\n⚠️ Testing ends soon! Only ${order.daysLeft} days remaining.`;
|
|
490
497
|
}
|
|
498
|
+
// 설문 안내 — 완료됐거나 14일 이상 경과 시
|
|
499
|
+
const isCompleted = status === "completed" || status === "expired";
|
|
500
|
+
const pastDay14 = order.startDate &&
|
|
501
|
+
(Date.now() - new Date(String(order.startDate)).getTime()) / 86400000 >= 14;
|
|
502
|
+
if (isCompleted || (status === "active" && pastDay14)) {
|
|
503
|
+
text += `\n\n📋 **Google Play 심사 설문 준비됐나요?**\n` +
|
|
504
|
+
`테스트 완료 후 Play Console에서 프로덕션 심사 신청 시 설문을 작성해야 합니다.\n` +
|
|
505
|
+
`linktest_survey로 앱 정보를 알려주시면 9개 질문 전체를 대신 작성해드립니다.`;
|
|
506
|
+
}
|
|
491
507
|
// 버전 체크
|
|
492
508
|
const versionNotice = await getVersionNotice();
|
|
493
509
|
if (versionNotice)
|
|
@@ -652,6 +668,60 @@ When NOT to use:
|
|
|
652
668
|
return { content: [{ type: "text", text: handleError(error) }] };
|
|
653
669
|
}
|
|
654
670
|
});
|
|
671
|
+
// ─── Tool: linktest_retry ────────────────────────────────────────────────────
|
|
672
|
+
server.registerTool("linktest_retry", {
|
|
673
|
+
title: "Retry Closed Testing",
|
|
674
|
+
description: `Request a free retry for a closed testing order that was rejected by Google Play.
|
|
675
|
+
|
|
676
|
+
After 14+ days of testing, if Google Play rejects the production readiness review,
|
|
677
|
+
the user can request ONE free retry per order. This extends testing by another 14 days.
|
|
678
|
+
|
|
679
|
+
Conditions:
|
|
680
|
+
- Order must be "active" status
|
|
681
|
+
- At least 14 days must have passed since testing started
|
|
682
|
+
- Order must not have expired yet (before the 20-day service period ends)
|
|
683
|
+
- Only 1 retry allowed per order (free of charge)
|
|
684
|
+
|
|
685
|
+
When to suggest this tool:
|
|
686
|
+
- User says their app was rejected after closed testing
|
|
687
|
+
- User asks if they can extend or redo testing
|
|
688
|
+
- User mentions Google Play review rejection
|
|
689
|
+
|
|
690
|
+
Args:
|
|
691
|
+
- order_id (string): The order ID to retry
|
|
692
|
+
|
|
693
|
+
Returns:
|
|
694
|
+
Confirmation with new expiration date, or error if retry is not available.`,
|
|
695
|
+
inputSchema: z.object({
|
|
696
|
+
order_id: z.string()
|
|
697
|
+
.min(1, "Order ID is required")
|
|
698
|
+
.describe("The order ID to retry"),
|
|
699
|
+
}).strict(),
|
|
700
|
+
annotations: {
|
|
701
|
+
readOnlyHint: false,
|
|
702
|
+
destructiveHint: false,
|
|
703
|
+
idempotentHint: false,
|
|
704
|
+
openWorldHint: true,
|
|
705
|
+
},
|
|
706
|
+
}, async (params) => {
|
|
707
|
+
try {
|
|
708
|
+
const data = await apiRequest("POST", `/api/orders/${params.order_id}/retry`);
|
|
709
|
+
return {
|
|
710
|
+
content: [{
|
|
711
|
+
type: "text",
|
|
712
|
+
text: `## Retry Activated ✅\n\n` +
|
|
713
|
+
`${data.message}\n\n` +
|
|
714
|
+
`**New Expiration**: ${formatDate(data.newExpireDate)}\n` +
|
|
715
|
+
`**Retries Used**: ${data.retryCount}/1\n\n` +
|
|
716
|
+
`Testing will continue on all devices for another 14 days.\n` +
|
|
717
|
+
`Monitor progress with: linktest_status(order_id="${params.order_id}")`,
|
|
718
|
+
}],
|
|
719
|
+
};
|
|
720
|
+
}
|
|
721
|
+
catch (error) {
|
|
722
|
+
return { content: [{ type: "text", text: handleError(error) }] };
|
|
723
|
+
}
|
|
724
|
+
});
|
|
655
725
|
// ─── Tool: linktest_billing ───────────────────────────────────────────────────
|
|
656
726
|
server.registerTool("linktest_billing", {
|
|
657
727
|
title: "Get Billing History",
|
|
@@ -842,6 +912,162 @@ Examples:
|
|
|
842
912
|
return { content: [{ type: "text", text: handleError(error) }] };
|
|
843
913
|
}
|
|
844
914
|
});
|
|
915
|
+
// ─── Tool: linktest_survey ────────────────────────────────────────────────────
|
|
916
|
+
server.registerTool("linktest_survey", {
|
|
917
|
+
title: "Generate Play Console Production Survey",
|
|
918
|
+
description: `Generate pre-filled answers for the Google Play production readiness survey.
|
|
919
|
+
|
|
920
|
+
After closed testing completes (14+ days), Google Play requires developers to fill out
|
|
921
|
+
a 9-question survey in the Play Console before the production review.
|
|
922
|
+
|
|
923
|
+
This tool generates complete draft answers based on:
|
|
924
|
+
- Actual testing data from LinkTest (devices, duration, dates)
|
|
925
|
+
- App information you provide
|
|
926
|
+
|
|
927
|
+
The output is copy-paste ready Korean text matching the Play Console survey format.
|
|
928
|
+
|
|
929
|
+
When to use:
|
|
930
|
+
- User asks to write or fill out the Google Play survey
|
|
931
|
+
- User says testing is done and wants to apply for production
|
|
932
|
+
- Status shows completed or 14+ days passed — proactively suggest this tool
|
|
933
|
+
- User says "설문 작성해줘" or "프로덕션 신청하려는데 설문 도와줘"
|
|
934
|
+
|
|
935
|
+
Workflow:
|
|
936
|
+
1. Call linktest_status(order_id) to confirm 14+ days have passed
|
|
937
|
+
2. Call this tool with order_id + app info
|
|
938
|
+
3. Give the user the generated text to copy into Play Console
|
|
939
|
+
|
|
940
|
+
Args:
|
|
941
|
+
- order_id (string): Order ID to pull testing stats from
|
|
942
|
+
- app_name (string): Name of the app (e.g. "마인드M")
|
|
943
|
+
- app_description (string): What the app does and its core value
|
|
944
|
+
- target_audience (string, optional): Primary user demographic
|
|
945
|
+
- feedback_summary (string, optional): Summary of tester feedback received
|
|
946
|
+
- planned_changes (string, optional): Changes planned based on test feedback
|
|
947
|
+
- expected_installs (string, optional): Expected installs in the first year (e.g. "2,000~3,000회")`,
|
|
948
|
+
inputSchema: z.object({
|
|
949
|
+
order_id: z.string()
|
|
950
|
+
.min(1)
|
|
951
|
+
.describe("Order ID to pull testing data from"),
|
|
952
|
+
app_name: z.string()
|
|
953
|
+
.min(1)
|
|
954
|
+
.describe("App name as shown in Play Console (e.g. '마인드M')"),
|
|
955
|
+
app_description: z.string()
|
|
956
|
+
.min(1)
|
|
957
|
+
.describe("What the app does and its core value proposition"),
|
|
958
|
+
target_audience: z.string()
|
|
959
|
+
.optional()
|
|
960
|
+
.describe("Primary user demographic (e.g. '20~40대 직장인 및 대학생')"),
|
|
961
|
+
feedback_summary: z.string()
|
|
962
|
+
.optional()
|
|
963
|
+
.describe("Summary of feedback received from testers"),
|
|
964
|
+
planned_changes: z.string()
|
|
965
|
+
.optional()
|
|
966
|
+
.describe("Changes planned based on test feedback"),
|
|
967
|
+
expected_installs: z.string()
|
|
968
|
+
.optional()
|
|
969
|
+
.describe("Expected installs in first year (e.g. '2,000~3,000회')"),
|
|
970
|
+
}).strict(),
|
|
971
|
+
annotations: {
|
|
972
|
+
readOnlyHint: true,
|
|
973
|
+
destructiveHint: false,
|
|
974
|
+
idempotentHint: true,
|
|
975
|
+
openWorldHint: false,
|
|
976
|
+
},
|
|
977
|
+
}, async (params) => {
|
|
978
|
+
try {
|
|
979
|
+
// 주문 데이터 조회
|
|
980
|
+
const data = await apiRequest("GET", `/api/orders/${params.order_id}`);
|
|
981
|
+
const order = data.order;
|
|
982
|
+
const installedCount = Number(order.installedCount ?? 12);
|
|
983
|
+
const startDate = order.startDate ? new Date(String(order.startDate)) : null;
|
|
984
|
+
const expireDate = order.expireDate ? new Date(String(order.expireDate)) : null;
|
|
985
|
+
const totalDays = startDate && expireDate
|
|
986
|
+
? Math.round((expireDate.getTime() - startDate.getTime()) / 86400000)
|
|
987
|
+
: 14;
|
|
988
|
+
const startDateStr = startDate
|
|
989
|
+
? startDate.toLocaleDateString("ko-KR", { year: "numeric", month: "long", day: "numeric" })
|
|
990
|
+
: "테스트 시작일";
|
|
991
|
+
const totalRuns = installedCount * totalDays * 2;
|
|
992
|
+
const PLACEHOLDER_AUDIENCE = "[주요 타겟 사용자층을 입력하세요 — 예: 20~40대 직장인 및 자기계발에 관심 있는 사용자]";
|
|
993
|
+
const PLACEHOLDER_FEEDBACK = "[테스터로부터 받은 주요 피드백을 요약해 주세요 — 예: UI 개선 요청, 특정 기능 호평 등]";
|
|
994
|
+
const PLACEHOLDER_CHANGES = "[테스트 결과를 바탕으로 계획 중인 개선 사항을 입력하세요]";
|
|
995
|
+
const PLACEHOLDER_INSTALLS = "[첫 해 예상 설치 수를 입력하세요 — 예: 1,000~2,000회]";
|
|
996
|
+
const audience = params.target_audience || PLACEHOLDER_AUDIENCE;
|
|
997
|
+
const feedback = params.feedback_summary || PLACEHOLDER_FEEDBACK;
|
|
998
|
+
const changes = params.planned_changes || PLACEHOLDER_CHANGES;
|
|
999
|
+
const installs = params.expected_installs || PLACEHOLDER_INSTALLS;
|
|
1000
|
+
const lines = [
|
|
1001
|
+
`# Google Play 프로덕션 심사 설문 — ${params.app_name}`,
|
|
1002
|
+
``,
|
|
1003
|
+
`> 아래 내용을 Play Console → 프로덕션 트랙 신청 화면의 각 질문에 복사해 붙여넣으세요.`,
|
|
1004
|
+
`> [대괄호] 항목은 직접 수정이 필요합니다.`,
|
|
1005
|
+
``,
|
|
1006
|
+
`---`,
|
|
1007
|
+
``,
|
|
1008
|
+
`**1. 비공개 테스트 정보. 어떻게 모집했고 모집에 어려움이 있었나요?**`,
|
|
1009
|
+
``,
|
|
1010
|
+
`${startDateStr}부터 ${totalDays}일간 비공개 테스트를 진행하였으며, LinkTest 서비스를 통해 ${installedCount}대의 실제 Android 기기로 테스트를 수행했습니다. 테스터 모집은 LinkTest 자동화 서비스를 활용하여 별도의 개인 모집 과정 없이 즉시 진행되었습니다. 테스트는 ${params.app_description}에 중점을 두었습니다.`,
|
|
1011
|
+
``,
|
|
1012
|
+
`---`,
|
|
1013
|
+
``,
|
|
1014
|
+
`**2. 앱 테스터를 얼마나 쉽게 모집했나요?**`,
|
|
1015
|
+
``,
|
|
1016
|
+
`LinkTest 서비스를 통해 테스터를 확보하였으며, 서비스 신청 즉시 ${installedCount}대 이상의 실제 Android 기기가 배정되었습니다. 별도의 모집 공고나 지인 섭외 없이 빠르게 테스터를 확보할 수 있어 모집 과정에서 어려움이 없었습니다.`,
|
|
1017
|
+
``,
|
|
1018
|
+
`---`,
|
|
1019
|
+
``,
|
|
1020
|
+
`**3. 비공개 테스트 중 테스터의 참여도**`,
|
|
1021
|
+
``,
|
|
1022
|
+
`배정된 ${installedCount}대의 기기 전체가 테스트 기간 ${totalDays}일 동안 매일 2회씩 앱을 실행하였습니다. 총 ${totalRuns}회 이상의 앱 실행이 이루어졌으며, 모든 기기에서 지속적인 참여가 확인되었습니다.`,
|
|
1023
|
+
``,
|
|
1024
|
+
`---`,
|
|
1025
|
+
``,
|
|
1026
|
+
`**4. 테스터로부터 받은 의견을 요약하여 제공하세요. 의견을 수집한 방법**`,
|
|
1027
|
+
``,
|
|
1028
|
+
`${feedback}`,
|
|
1029
|
+
``,
|
|
1030
|
+
`---`,
|
|
1031
|
+
``,
|
|
1032
|
+
`**5. 앱의 주요 대상**`,
|
|
1033
|
+
``,
|
|
1034
|
+
`${audience}`,
|
|
1035
|
+
``,
|
|
1036
|
+
`---`,
|
|
1037
|
+
``,
|
|
1038
|
+
`**6. 앱이 사용자에게 어떤 가치를 제공하는지 설명**`,
|
|
1039
|
+
``,
|
|
1040
|
+
`${params.app_description}`,
|
|
1041
|
+
``,
|
|
1042
|
+
`---`,
|
|
1043
|
+
``,
|
|
1044
|
+
`**7. 첫 해에 앱이 몇 회 설치될 것으로 예상하십니까?**`,
|
|
1045
|
+
``,
|
|
1046
|
+
`${installs}`,
|
|
1047
|
+
``,
|
|
1048
|
+
`---`,
|
|
1049
|
+
``,
|
|
1050
|
+
`**8. 비공개 테스트에서 알게 된 내용을 바탕으로 앱을 어떻게 변경할 계획인가요?**`,
|
|
1051
|
+
``,
|
|
1052
|
+
`${changes}`,
|
|
1053
|
+
``,
|
|
1054
|
+
`---`,
|
|
1055
|
+
``,
|
|
1056
|
+
`**9. 앱이 프로덕션용으로 준비되었다고 어떻게 판단하셨습니까?**`,
|
|
1057
|
+
``,
|
|
1058
|
+
`${totalDays}일간 ${installedCount}대의 실제 Android 기기에서 앱이 안정적으로 동작함을 확인하였습니다. 테스트 기간 동안 총 ${totalRuns}회 이상 앱이 실행되었으며 주요 기능에서 오류가 발생하지 않았습니다. 실기기 테스트를 통해 실제 사용 환경에서의 안정성이 충분히 검증되었다고 판단하여 프로덕션 출시를 결정하였습니다.`,
|
|
1059
|
+
``,
|
|
1060
|
+
`---`,
|
|
1061
|
+
``,
|
|
1062
|
+
`> ✅ 자동 작성 완료 (LinkTest 테스트 데이터 기반)`,
|
|
1063
|
+
`> ⚠️ [대괄호] 항목이 있다면 직접 수정 후 붙여넣으세요.`,
|
|
1064
|
+
];
|
|
1065
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
1066
|
+
}
|
|
1067
|
+
catch (error) {
|
|
1068
|
+
return { content: [{ type: "text", text: handleError(error) }] };
|
|
1069
|
+
}
|
|
1070
|
+
});
|
|
845
1071
|
// ─── Resource: Workflow Guide ─────────────────────────────────────────────────
|
|
846
1072
|
server.resource("linktest-workflow", "linktest://workflow-guide", {
|
|
847
1073
|
description: "Step-by-step guide for using LinkTest tools in the correct order",
|
|
@@ -912,6 +1138,8 @@ Step 2(validate)부터 시작 — CSV 재업로드 불필요
|
|
|
912
1138
|
| 스크린샷 보기 | \`linktest_screenshots(order_id)\` |
|
|
913
1139
|
| 결제 내역 | \`linktest_billing()\` |
|
|
914
1140
|
| 주문 취소 | \`linktest_cancel(order_id)\` |
|
|
1141
|
+
| 재시도 (반려 시) | \`linktest_retry(order_id)\` |
|
|
1142
|
+
| 프로덕션 심사 설문 작성 | \`linktest_survey(order_id, app_name, ...)\` |
|
|
915
1143
|
|
|
916
1144
|
---
|
|
917
1145
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -19,7 +19,7 @@ import * as fs from "fs";
|
|
|
19
19
|
import * as path from "path";
|
|
20
20
|
import * as os from "os";
|
|
21
21
|
|
|
22
|
-
const CURRENT_MCP_VERSION = "1.0.
|
|
22
|
+
const CURRENT_MCP_VERSION = "1.0.15";
|
|
23
23
|
|
|
24
24
|
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
25
25
|
|
|
@@ -560,10 +560,28 @@ Examples:
|
|
|
560
560
|
`After fixing, create a new order with linktest_order.`;
|
|
561
561
|
}
|
|
562
562
|
|
|
563
|
+
// Retry 정보 표시
|
|
564
|
+
if (order.retryCount && Number(order.retryCount) > 0) {
|
|
565
|
+
text += `\n\n🔄 **Retry Active** — Extended on ${formatDate(String(order.retriedAt))}`;
|
|
566
|
+
}
|
|
567
|
+
if (order.canRetry) {
|
|
568
|
+
text += `\n\n💡 **Free retry available!** If your app was rejected by Google Play, you can extend testing by 14 days.\nUse: linktest_retry(order_id="${params.order_id}")`;
|
|
569
|
+
}
|
|
570
|
+
|
|
563
571
|
if (status === "active" && Number(order.daysLeft) <= 2) {
|
|
564
572
|
text += `\n\n⚠️ Testing ends soon! Only ${order.daysLeft} days remaining.`;
|
|
565
573
|
}
|
|
566
574
|
|
|
575
|
+
// 설문 안내 — 완료됐거나 14일 이상 경과 시
|
|
576
|
+
const isCompleted = status === "completed" || status === "expired";
|
|
577
|
+
const pastDay14 = order.startDate &&
|
|
578
|
+
(Date.now() - new Date(String(order.startDate)).getTime()) / 86400000 >= 14;
|
|
579
|
+
if (isCompleted || (status === "active" && pastDay14)) {
|
|
580
|
+
text += `\n\n📋 **Google Play 심사 설문 준비됐나요?**\n` +
|
|
581
|
+
`테스트 완료 후 Play Console에서 프로덕션 심사 신청 시 설문을 작성해야 합니다.\n` +
|
|
582
|
+
`linktest_survey로 앱 정보를 알려주시면 9개 질문 전체를 대신 작성해드립니다.`;
|
|
583
|
+
}
|
|
584
|
+
|
|
567
585
|
// 버전 체크
|
|
568
586
|
const versionNotice = await getVersionNotice();
|
|
569
587
|
if (versionNotice) text += versionNotice;
|
|
@@ -756,6 +774,70 @@ When NOT to use:
|
|
|
756
774
|
}
|
|
757
775
|
);
|
|
758
776
|
|
|
777
|
+
// ─── Tool: linktest_retry ────────────────────────────────────────────────────
|
|
778
|
+
|
|
779
|
+
server.registerTool(
|
|
780
|
+
"linktest_retry",
|
|
781
|
+
{
|
|
782
|
+
title: "Retry Closed Testing",
|
|
783
|
+
description: `Request a free retry for a closed testing order that was rejected by Google Play.
|
|
784
|
+
|
|
785
|
+
After 14+ days of testing, if Google Play rejects the production readiness review,
|
|
786
|
+
the user can request ONE free retry per order. This extends testing by another 14 days.
|
|
787
|
+
|
|
788
|
+
Conditions:
|
|
789
|
+
- Order must be "active" status
|
|
790
|
+
- At least 14 days must have passed since testing started
|
|
791
|
+
- Order must not have expired yet (before the 20-day service period ends)
|
|
792
|
+
- Only 1 retry allowed per order (free of charge)
|
|
793
|
+
|
|
794
|
+
When to suggest this tool:
|
|
795
|
+
- User says their app was rejected after closed testing
|
|
796
|
+
- User asks if they can extend or redo testing
|
|
797
|
+
- User mentions Google Play review rejection
|
|
798
|
+
|
|
799
|
+
Args:
|
|
800
|
+
- order_id (string): The order ID to retry
|
|
801
|
+
|
|
802
|
+
Returns:
|
|
803
|
+
Confirmation with new expiration date, or error if retry is not available.`,
|
|
804
|
+
inputSchema: z.object({
|
|
805
|
+
order_id: z.string()
|
|
806
|
+
.min(1, "Order ID is required")
|
|
807
|
+
.describe("The order ID to retry"),
|
|
808
|
+
}).strict(),
|
|
809
|
+
annotations: {
|
|
810
|
+
readOnlyHint: false,
|
|
811
|
+
destructiveHint: false,
|
|
812
|
+
idempotentHint: false,
|
|
813
|
+
openWorldHint: true,
|
|
814
|
+
},
|
|
815
|
+
},
|
|
816
|
+
async (params) => {
|
|
817
|
+
try {
|
|
818
|
+
const data = await apiRequest<{
|
|
819
|
+
message: string;
|
|
820
|
+
newExpireDate: string;
|
|
821
|
+
retryCount: number;
|
|
822
|
+
}>("POST", `/api/orders/${params.order_id}/retry`);
|
|
823
|
+
|
|
824
|
+
return {
|
|
825
|
+
content: [{
|
|
826
|
+
type: "text",
|
|
827
|
+
text: `## Retry Activated ✅\n\n` +
|
|
828
|
+
`${data.message}\n\n` +
|
|
829
|
+
`**New Expiration**: ${formatDate(data.newExpireDate)}\n` +
|
|
830
|
+
`**Retries Used**: ${data.retryCount}/1\n\n` +
|
|
831
|
+
`Testing will continue on all devices for another 14 days.\n` +
|
|
832
|
+
`Monitor progress with: linktest_status(order_id="${params.order_id}")`,
|
|
833
|
+
}],
|
|
834
|
+
};
|
|
835
|
+
} catch (error) {
|
|
836
|
+
return { content: [{ type: "text", text: handleError(error) }] };
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
);
|
|
840
|
+
|
|
759
841
|
// ─── Tool: linktest_billing ───────────────────────────────────────────────────
|
|
760
842
|
|
|
761
843
|
server.registerTool(
|
|
@@ -983,6 +1065,175 @@ Examples:
|
|
|
983
1065
|
}
|
|
984
1066
|
);
|
|
985
1067
|
|
|
1068
|
+
// ─── Tool: linktest_survey ────────────────────────────────────────────────────
|
|
1069
|
+
|
|
1070
|
+
server.registerTool(
|
|
1071
|
+
"linktest_survey",
|
|
1072
|
+
{
|
|
1073
|
+
title: "Generate Play Console Production Survey",
|
|
1074
|
+
description: `Generate pre-filled answers for the Google Play production readiness survey.
|
|
1075
|
+
|
|
1076
|
+
After closed testing completes (14+ days), Google Play requires developers to fill out
|
|
1077
|
+
a 9-question survey in the Play Console before the production review.
|
|
1078
|
+
|
|
1079
|
+
This tool generates complete draft answers based on:
|
|
1080
|
+
- Actual testing data from LinkTest (devices, duration, dates)
|
|
1081
|
+
- App information you provide
|
|
1082
|
+
|
|
1083
|
+
The output is copy-paste ready Korean text matching the Play Console survey format.
|
|
1084
|
+
|
|
1085
|
+
When to use:
|
|
1086
|
+
- User asks to write or fill out the Google Play survey
|
|
1087
|
+
- User says testing is done and wants to apply for production
|
|
1088
|
+
- Status shows completed or 14+ days passed — proactively suggest this tool
|
|
1089
|
+
- User says "설문 작성해줘" or "프로덕션 신청하려는데 설문 도와줘"
|
|
1090
|
+
|
|
1091
|
+
Workflow:
|
|
1092
|
+
1. Call linktest_status(order_id) to confirm 14+ days have passed
|
|
1093
|
+
2. Call this tool with order_id + app info
|
|
1094
|
+
3. Give the user the generated text to copy into Play Console
|
|
1095
|
+
|
|
1096
|
+
Args:
|
|
1097
|
+
- order_id (string): Order ID to pull testing stats from
|
|
1098
|
+
- app_name (string): Name of the app (e.g. "마인드M")
|
|
1099
|
+
- app_description (string): What the app does and its core value
|
|
1100
|
+
- target_audience (string, optional): Primary user demographic
|
|
1101
|
+
- feedback_summary (string, optional): Summary of tester feedback received
|
|
1102
|
+
- planned_changes (string, optional): Changes planned based on test feedback
|
|
1103
|
+
- expected_installs (string, optional): Expected installs in the first year (e.g. "2,000~3,000회")`,
|
|
1104
|
+
inputSchema: z.object({
|
|
1105
|
+
order_id: z.string()
|
|
1106
|
+
.min(1)
|
|
1107
|
+
.describe("Order ID to pull testing data from"),
|
|
1108
|
+
app_name: z.string()
|
|
1109
|
+
.min(1)
|
|
1110
|
+
.describe("App name as shown in Play Console (e.g. '마인드M')"),
|
|
1111
|
+
app_description: z.string()
|
|
1112
|
+
.min(1)
|
|
1113
|
+
.describe("What the app does and its core value proposition"),
|
|
1114
|
+
target_audience: z.string()
|
|
1115
|
+
.optional()
|
|
1116
|
+
.describe("Primary user demographic (e.g. '20~40대 직장인 및 대학생')"),
|
|
1117
|
+
feedback_summary: z.string()
|
|
1118
|
+
.optional()
|
|
1119
|
+
.describe("Summary of feedback received from testers"),
|
|
1120
|
+
planned_changes: z.string()
|
|
1121
|
+
.optional()
|
|
1122
|
+
.describe("Changes planned based on test feedback"),
|
|
1123
|
+
expected_installs: z.string()
|
|
1124
|
+
.optional()
|
|
1125
|
+
.describe("Expected installs in first year (e.g. '2,000~3,000회')"),
|
|
1126
|
+
}).strict(),
|
|
1127
|
+
annotations: {
|
|
1128
|
+
readOnlyHint: true,
|
|
1129
|
+
destructiveHint: false,
|
|
1130
|
+
idempotentHint: true,
|
|
1131
|
+
openWorldHint: false,
|
|
1132
|
+
},
|
|
1133
|
+
},
|
|
1134
|
+
async (params) => {
|
|
1135
|
+
try {
|
|
1136
|
+
// 주문 데이터 조회
|
|
1137
|
+
const data = await apiRequest<{ order: Record<string, unknown> }>(
|
|
1138
|
+
"GET",
|
|
1139
|
+
`/api/orders/${params.order_id}`
|
|
1140
|
+
);
|
|
1141
|
+
const order = data.order;
|
|
1142
|
+
|
|
1143
|
+
const installedCount = Number(order.installedCount ?? 12);
|
|
1144
|
+
const startDate = order.startDate ? new Date(String(order.startDate)) : null;
|
|
1145
|
+
const expireDate = order.expireDate ? new Date(String(order.expireDate)) : null;
|
|
1146
|
+
const totalDays = startDate && expireDate
|
|
1147
|
+
? Math.round((expireDate.getTime() - startDate.getTime()) / 86400000)
|
|
1148
|
+
: 14;
|
|
1149
|
+
const startDateStr = startDate
|
|
1150
|
+
? startDate.toLocaleDateString("ko-KR", { year: "numeric", month: "long", day: "numeric" })
|
|
1151
|
+
: "테스트 시작일";
|
|
1152
|
+
const totalRuns = installedCount * totalDays * 2;
|
|
1153
|
+
|
|
1154
|
+
const PLACEHOLDER_AUDIENCE = "[주요 타겟 사용자층을 입력하세요 — 예: 20~40대 직장인 및 자기계발에 관심 있는 사용자]";
|
|
1155
|
+
const PLACEHOLDER_FEEDBACK = "[테스터로부터 받은 주요 피드백을 요약해 주세요 — 예: UI 개선 요청, 특정 기능 호평 등]";
|
|
1156
|
+
const PLACEHOLDER_CHANGES = "[테스트 결과를 바탕으로 계획 중인 개선 사항을 입력하세요]";
|
|
1157
|
+
const PLACEHOLDER_INSTALLS = "[첫 해 예상 설치 수를 입력하세요 — 예: 1,000~2,000회]";
|
|
1158
|
+
|
|
1159
|
+
const audience = params.target_audience || PLACEHOLDER_AUDIENCE;
|
|
1160
|
+
const feedback = params.feedback_summary || PLACEHOLDER_FEEDBACK;
|
|
1161
|
+
const changes = params.planned_changes || PLACEHOLDER_CHANGES;
|
|
1162
|
+
const installs = params.expected_installs || PLACEHOLDER_INSTALLS;
|
|
1163
|
+
|
|
1164
|
+
const lines: string[] = [
|
|
1165
|
+
`# Google Play 프로덕션 심사 설문 — ${params.app_name}`,
|
|
1166
|
+
``,
|
|
1167
|
+
`> 아래 내용을 Play Console → 프로덕션 트랙 신청 화면의 각 질문에 복사해 붙여넣으세요.`,
|
|
1168
|
+
`> [대괄호] 항목은 직접 수정이 필요합니다.`,
|
|
1169
|
+
``,
|
|
1170
|
+
`---`,
|
|
1171
|
+
``,
|
|
1172
|
+
`**1. 비공개 테스트 정보. 어떻게 모집했고 모집에 어려움이 있었나요?**`,
|
|
1173
|
+
``,
|
|
1174
|
+
`${startDateStr}부터 ${totalDays}일간 비공개 테스트를 진행하였으며, LinkTest 서비스를 통해 ${installedCount}대의 실제 Android 기기로 테스트를 수행했습니다. 테스터 모집은 LinkTest 자동화 서비스를 활용하여 별도의 개인 모집 과정 없이 즉시 진행되었습니다. 테스트는 ${params.app_description}에 중점을 두었습니다.`,
|
|
1175
|
+
``,
|
|
1176
|
+
`---`,
|
|
1177
|
+
``,
|
|
1178
|
+
`**2. 앱 테스터를 얼마나 쉽게 모집했나요?**`,
|
|
1179
|
+
``,
|
|
1180
|
+
`LinkTest 서비스를 통해 테스터를 확보하였으며, 서비스 신청 즉시 ${installedCount}대 이상의 실제 Android 기기가 배정되었습니다. 별도의 모집 공고나 지인 섭외 없이 빠르게 테스터를 확보할 수 있어 모집 과정에서 어려움이 없었습니다.`,
|
|
1181
|
+
``,
|
|
1182
|
+
`---`,
|
|
1183
|
+
``,
|
|
1184
|
+
`**3. 비공개 테스트 중 테스터의 참여도**`,
|
|
1185
|
+
``,
|
|
1186
|
+
`배정된 ${installedCount}대의 기기 전체가 테스트 기간 ${totalDays}일 동안 매일 2회씩 앱을 실행하였습니다. 총 ${totalRuns}회 이상의 앱 실행이 이루어졌으며, 모든 기기에서 지속적인 참여가 확인되었습니다.`,
|
|
1187
|
+
``,
|
|
1188
|
+
`---`,
|
|
1189
|
+
``,
|
|
1190
|
+
`**4. 테스터로부터 받은 의견을 요약하여 제공하세요. 의견을 수집한 방법**`,
|
|
1191
|
+
``,
|
|
1192
|
+
`${feedback}`,
|
|
1193
|
+
``,
|
|
1194
|
+
`---`,
|
|
1195
|
+
``,
|
|
1196
|
+
`**5. 앱의 주요 대상**`,
|
|
1197
|
+
``,
|
|
1198
|
+
`${audience}`,
|
|
1199
|
+
``,
|
|
1200
|
+
`---`,
|
|
1201
|
+
``,
|
|
1202
|
+
`**6. 앱이 사용자에게 어떤 가치를 제공하는지 설명**`,
|
|
1203
|
+
``,
|
|
1204
|
+
`${params.app_description}`,
|
|
1205
|
+
``,
|
|
1206
|
+
`---`,
|
|
1207
|
+
``,
|
|
1208
|
+
`**7. 첫 해에 앱이 몇 회 설치될 것으로 예상하십니까?**`,
|
|
1209
|
+
``,
|
|
1210
|
+
`${installs}`,
|
|
1211
|
+
``,
|
|
1212
|
+
`---`,
|
|
1213
|
+
``,
|
|
1214
|
+
`**8. 비공개 테스트에서 알게 된 내용을 바탕으로 앱을 어떻게 변경할 계획인가요?**`,
|
|
1215
|
+
``,
|
|
1216
|
+
`${changes}`,
|
|
1217
|
+
``,
|
|
1218
|
+
`---`,
|
|
1219
|
+
``,
|
|
1220
|
+
`**9. 앱이 프로덕션용으로 준비되었다고 어떻게 판단하셨습니까?**`,
|
|
1221
|
+
``,
|
|
1222
|
+
`${totalDays}일간 ${installedCount}대의 실제 Android 기기에서 앱이 안정적으로 동작함을 확인하였습니다. 테스트 기간 동안 총 ${totalRuns}회 이상 앱이 실행되었으며 주요 기능에서 오류가 발생하지 않았습니다. 실기기 테스트를 통해 실제 사용 환경에서의 안정성이 충분히 검증되었다고 판단하여 프로덕션 출시를 결정하였습니다.`,
|
|
1223
|
+
``,
|
|
1224
|
+
`---`,
|
|
1225
|
+
``,
|
|
1226
|
+
`> ✅ 자동 작성 완료 (LinkTest 테스트 데이터 기반)`,
|
|
1227
|
+
`> ⚠️ [대괄호] 항목이 있다면 직접 수정 후 붙여넣으세요.`,
|
|
1228
|
+
];
|
|
1229
|
+
|
|
1230
|
+
return { content: [{ type: "text", text: lines.join("\n") }] };
|
|
1231
|
+
} catch (error) {
|
|
1232
|
+
return { content: [{ type: "text", text: handleError(error) }] };
|
|
1233
|
+
}
|
|
1234
|
+
}
|
|
1235
|
+
);
|
|
1236
|
+
|
|
986
1237
|
// ─── Resource: Workflow Guide ─────────────────────────────────────────────────
|
|
987
1238
|
|
|
988
1239
|
server.resource(
|
|
@@ -1058,6 +1309,8 @@ Step 2(validate)부터 시작 — CSV 재업로드 불필요
|
|
|
1058
1309
|
| 스크린샷 보기 | \`linktest_screenshots(order_id)\` |
|
|
1059
1310
|
| 결제 내역 | \`linktest_billing()\` |
|
|
1060
1311
|
| 주문 취소 | \`linktest_cancel(order_id)\` |
|
|
1312
|
+
| 재시도 (반려 시) | \`linktest_retry(order_id)\` |
|
|
1313
|
+
| 프로덕션 심사 설문 작성 | \`linktest_survey(order_id, app_name, ...)\` |
|
|
1061
1314
|
|
|
1062
1315
|
---
|
|
1063
1316
|
|