algokit-mcp 1.0.2 → 1.0.3

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.
Files changed (102) hide show
  1. package/README.md +138 -16
  2. package/dist/api/boj-scraper.js +1 -1
  3. package/dist/api/boj-scraper.js.map +1 -1
  4. package/dist/api/programmers-scraper.d.ts +0 -5
  5. package/dist/api/programmers-scraper.d.ts.map +1 -1
  6. package/dist/api/programmers-scraper.js +59 -90
  7. package/dist/api/programmers-scraper.js.map +1 -1
  8. package/dist/index.js +38 -35
  9. package/dist/index.js.map +1 -1
  10. package/dist/tools/boj/analyze-code-submission-boj.d.ts +67 -0
  11. package/dist/tools/boj/analyze-code-submission-boj.d.ts.map +1 -0
  12. package/dist/tools/boj/analyze-code-submission-boj.js +91 -0
  13. package/dist/tools/boj/analyze-code-submission-boj.js.map +1 -0
  14. package/dist/tools/boj/analyze-problem-boj.d.ts +48 -0
  15. package/dist/tools/boj/analyze-problem-boj.d.ts.map +1 -0
  16. package/dist/tools/boj/analyze-problem-boj.js +52 -0
  17. package/dist/tools/boj/analyze-problem-boj.js.map +1 -0
  18. package/dist/tools/boj/fetch-problem-content-boj.d.ts +49 -0
  19. package/dist/tools/boj/fetch-problem-content-boj.d.ts.map +1 -0
  20. package/dist/tools/boj/fetch-problem-content-boj.js +95 -0
  21. package/dist/tools/boj/fetch-problem-content-boj.js.map +1 -0
  22. package/dist/tools/boj/generate-hint-boj.d.ts +42 -0
  23. package/dist/tools/boj/generate-hint-boj.d.ts.map +1 -0
  24. package/dist/tools/boj/generate-hint-boj.js +82 -0
  25. package/dist/tools/boj/generate-hint-boj.js.map +1 -0
  26. package/dist/tools/boj/generate-review-template-boj.d.ts +48 -0
  27. package/dist/tools/boj/generate-review-template-boj.d.ts.map +1 -0
  28. package/dist/tools/boj/generate-review-template-boj.js +52 -0
  29. package/dist/tools/boj/generate-review-template-boj.js.map +1 -0
  30. package/dist/tools/boj/get-problem-boj.d.ts +22 -0
  31. package/dist/tools/boj/get-problem-boj.d.ts.map +1 -0
  32. package/dist/tools/boj/get-problem-boj.js +89 -0
  33. package/dist/tools/boj/get-problem-boj.js.map +1 -0
  34. package/dist/tools/boj/search-problems-boj.d.ts +42 -0
  35. package/dist/tools/boj/search-problems-boj.d.ts.map +1 -0
  36. package/dist/tools/boj/search-problems-boj.js +143 -0
  37. package/dist/tools/boj/search-problems-boj.js.map +1 -0
  38. package/dist/tools/boj/search-tags-boj.d.ts +22 -0
  39. package/dist/tools/boj/search-tags-boj.d.ts.map +1 -0
  40. package/dist/tools/boj/search-tags-boj.js +70 -0
  41. package/dist/tools/boj/search-tags-boj.js.map +1 -0
  42. package/dist/tools/get-problem-boj.d.ts +22 -0
  43. package/dist/tools/get-problem-boj.d.ts.map +1 -0
  44. package/dist/tools/get-problem-boj.js +89 -0
  45. package/dist/tools/get-problem-boj.js.map +1 -0
  46. package/dist/tools/programmers/analyze-code-submission-programmers.d.ts +60 -0
  47. package/dist/tools/programmers/analyze-code-submission-programmers.d.ts.map +1 -0
  48. package/dist/tools/programmers/analyze-code-submission-programmers.js +85 -0
  49. package/dist/tools/programmers/analyze-code-submission-programmers.js.map +1 -0
  50. package/dist/tools/programmers/analyze-problem-programmers.d.ts +48 -0
  51. package/dist/tools/programmers/analyze-problem-programmers.d.ts.map +1 -0
  52. package/dist/tools/programmers/analyze-problem-programmers.js +53 -0
  53. package/dist/tools/programmers/analyze-problem-programmers.js.map +1 -0
  54. package/dist/tools/programmers/fetch-problem-content-programmers.d.ts +46 -0
  55. package/dist/tools/programmers/fetch-problem-content-programmers.d.ts.map +1 -0
  56. package/dist/tools/programmers/fetch-problem-content-programmers.js +76 -0
  57. package/dist/tools/programmers/fetch-problem-content-programmers.js.map +1 -0
  58. package/dist/tools/programmers/generate-hint-programmers.d.ts +42 -0
  59. package/dist/tools/programmers/generate-hint-programmers.d.ts.map +1 -0
  60. package/dist/tools/programmers/generate-hint-programmers.js +80 -0
  61. package/dist/tools/programmers/generate-hint-programmers.js.map +1 -0
  62. package/dist/tools/programmers/generate-review-template-programmers.d.ts +48 -0
  63. package/dist/tools/programmers/generate-review-template-programmers.d.ts.map +1 -0
  64. package/dist/tools/programmers/generate-review-template-programmers.js +53 -0
  65. package/dist/tools/programmers/generate-review-template-programmers.js.map +1 -0
  66. package/dist/tools/programmers/get-problem-programmers.d.ts +53 -0
  67. package/dist/tools/programmers/get-problem-programmers.d.ts.map +1 -0
  68. package/dist/tools/programmers/get-problem-programmers.js +163 -0
  69. package/dist/tools/programmers/get-problem-programmers.js.map +1 -0
  70. package/dist/tools/programmers/search-problems-programmers.d.ts +73 -0
  71. package/dist/tools/programmers/search-problems-programmers.d.ts.map +1 -0
  72. package/dist/tools/programmers/search-problems-programmers.js +173 -0
  73. package/dist/tools/programmers/search-problems-programmers.js.map +1 -0
  74. package/dist/tools/search-problems-boj.d.ts +42 -0
  75. package/dist/tools/search-problems-boj.d.ts.map +1 -0
  76. package/dist/tools/search-problems-boj.js +143 -0
  77. package/dist/tools/search-problems-boj.js.map +1 -0
  78. package/dist/tools/search-tags-boj.d.ts +22 -0
  79. package/dist/tools/search-tags-boj.d.ts.map +1 -0
  80. package/dist/tools/search-tags-boj.js +70 -0
  81. package/dist/tools/search-tags-boj.js.map +1 -0
  82. package/dist/utils/agent-skill-installer.d.ts +9 -0
  83. package/dist/utils/agent-skill-installer.d.ts.map +1 -0
  84. package/dist/utils/agent-skill-installer.js +94 -0
  85. package/dist/utils/agent-skill-installer.js.map +1 -0
  86. package/dist/utils/claudecode-skill-installer.d.ts +6 -0
  87. package/dist/utils/claudecode-skill-installer.d.ts.map +1 -0
  88. package/dist/utils/claudecode-skill-installer.js +70 -0
  89. package/dist/utils/claudecode-skill-installer.js.map +1 -0
  90. package/dist/utils/skill-installer.d.ts +6 -0
  91. package/dist/utils/skill-installer.d.ts.map +1 -0
  92. package/dist/utils/skill-installer.js +70 -0
  93. package/dist/utils/skill-installer.js.map +1 -0
  94. package/dist/utils/tier-converter.d.ts.map +1 -1
  95. package/dist/utils/tier-converter.js +3 -0
  96. package/dist/utils/tier-converter.js.map +1 -1
  97. package/package.json +3 -4
  98. package/skills/algo:code-review/SKILL.md +134 -0
  99. package/skills/algo:fetch/SKILL.md +102 -0
  100. package/skills/algo:hint/SKILL.md +111 -0
  101. package/skills/algo:review/SKILL.md +123 -0
  102. package/skills/algo:search/SKILL.md +122 -0
package/dist/index.js CHANGED
@@ -10,25 +10,24 @@ import { zodToJsonSchema } from 'zod-to-json-schema';
10
10
  import { readFile } from 'fs/promises';
11
11
  import { join, dirname } from 'path';
12
12
  import { fileURLToPath } from 'url';
13
- // 도구 임포트
14
- import { searchProblems, SearchProblemsInputSchema, } from './tools/search-problems.js';
15
- import { getProblem, GetProblemInputSchema, } from './tools/get-problem.js';
16
- import { searchTags, SearchTagsInputSchema, } from './tools/search-tags.js';
13
+ import { ensureSkillsInstalled } from './utils/agent-skill-installer.js';
17
14
  // BOJ 도구
18
- import { analyzeProblemBOJTool, AnalyzeProblemBOJInputSchema, } from './tools/analyze-problem-boj.js';
19
- import { generateReviewTemplateBOJTool, GenerateReviewTemplateBOJInputSchema, } from './tools/generate-review-template-boj.js';
20
- import { generateHintBOJTool, GenerateHintBOJInputSchema, } from './tools/generate-hint-boj.js';
21
- import { fetchProblemContentBOJTool, FetchProblemContentBOJInputSchema, } from './tools/fetch-problem-content-boj.js';
22
- import { analyzeCodeSubmissionBOJTool, AnalyzeCodeSubmissionBOJInputSchema, } from './tools/analyze-code-submission-boj.js';
15
+ import { searchProblems, SearchProblemsInputSchema, } from './tools/boj/search-problems-boj.js';
16
+ import { getProblem, GetProblemInputSchema, } from './tools/boj/get-problem-boj.js';
17
+ import { searchTags, SearchTagsInputSchema, } from './tools/boj/search-tags-boj.js';
18
+ import { analyzeProblemBOJTool, AnalyzeProblemBOJInputSchema, } from './tools/boj/analyze-problem-boj.js';
19
+ import { generateReviewTemplateBOJTool, GenerateReviewTemplateBOJInputSchema, } from './tools/boj/generate-review-template-boj.js';
20
+ import { generateHintBOJTool, GenerateHintBOJInputSchema, } from './tools/boj/generate-hint-boj.js';
21
+ import { fetchProblemContentBOJTool, FetchProblemContentBOJInputSchema, } from './tools/boj/fetch-problem-content-boj.js';
22
+ import { analyzeCodeSubmissionBOJTool, AnalyzeCodeSubmissionBOJInputSchema, } from './tools/boj/analyze-code-submission-boj.js';
23
23
  // Programmers 도구
24
- import { searchProgrammersProblemsTool, SearchProgrammersProblemsInputSchema, } from './tools/search-programmers-problems.js';
25
- import { getProgrammersProblemTool, GetProgrammersProblemInputSchema, } from './tools/get-programmers-problem.js';
26
- // Programmers 학습 도구
27
- import { analyzeProblemProgrammersTool, AnalyzeProblemProgrammersInputSchema, } from './tools/analyze-problem-programmers.js';
28
- import { generateHintProgrammersTool, GenerateHintProgrammersInputSchema, } from './tools/generate-hint-programmers.js';
29
- import { generateReviewTemplateProgrammersTool, GenerateReviewTemplateProgrammersInputSchema, } from './tools/generate-review-template-programmers.js';
30
- import { analyzeCodeSubmissionProgrammersTool, AnalyzeCodeSubmissionProgrammersInputSchema, } from './tools/analyze-code-submission-programmers.js';
31
- import { fetchProblemContentProgrammersTool, FetchProblemContentProgrammersInputSchema, } from './tools/fetch-problem-content-programmers.js';
24
+ import { searchProgrammersProblemsTool, SearchProgrammersProblemsInputSchema, } from './tools/programmers/search-problems-programmers.js';
25
+ import { getProgrammersProblemTool, GetProgrammersProblemInputSchema, } from './tools/programmers/get-problem-programmers.js';
26
+ import { analyzeProblemProgrammersTool, AnalyzeProblemProgrammersInputSchema, } from './tools/programmers/analyze-problem-programmers.js';
27
+ import { generateHintProgrammersTool, GenerateHintProgrammersInputSchema, } from './tools/programmers/generate-hint-programmers.js';
28
+ import { generateReviewTemplateProgrammersTool, GenerateReviewTemplateProgrammersInputSchema, } from './tools/programmers/generate-review-template-programmers.js';
29
+ import { analyzeCodeSubmissionProgrammersTool, AnalyzeCodeSubmissionProgrammersInputSchema, } from './tools/programmers/analyze-code-submission-programmers.js';
30
+ import { fetchProblemContentProgrammersTool, FetchProblemContentProgrammersInputSchema, } from './tools/programmers/fetch-problem-content-programmers.js';
32
31
  // 서비스 임포트
33
32
  import { SolvedAcClient } from './api/solvedac-client.js';
34
33
  import { ProblemAnalyzer } from './services/problem-analyzer.js';
@@ -81,22 +80,25 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
81
80
  tools: [
82
81
  // 기존 BOJ 도구 (이름 유지)
83
82
  {
84
- name: 'search_problems',
83
+ name: 'search_problems_boj',
85
84
  description: 'BOJ 문제를 검색합니다. 키워드, 난이도 레벨, 알고리즘 태그로 필터링할 수 있습니다. ' +
86
85
  '⚠️ **중요**: 결과는 마크다운 테이블로 반환되며, 각 문제번호는 https://www.acmicpc.net/problem/{ID} 형태의 마크다운 링크로 제공됩니다. ' +
87
86
  '사용자에게 보여줄 때는 이 링크들을 반드시 유지해야 합니다. ' +
88
- '예: Gold 티어의 DP 문제 검색, Silver 이하 그리디 문제 검색 ',
87
+ '예: Gold 티어의 DP 문제 검색, Silver 이하 그리디 문제 검색 등\n\n' +
88
+ '⚠️ 플랫폼 미지정 시 사용자에게 어느 플랫폼에서 검색할지 확인하세요.',
89
89
  inputSchema: zodToJsonSchema(SearchProblemsInputSchema),
90
90
  },
91
91
  {
92
- name: 'get_problem',
93
- description: '특정 BOJ 문제의 상세 정보를 조회합니다. 문제 번호로 난이도, 태그, 통계 등을 확인할 수 있습니다.',
92
+ name: 'get_problem_boj',
93
+ description: '특정 BOJ 문제의 상세 정보를 조회합니다. 문제 번호로 난이도, 태그, 통계 등을 확인할 수 있습니다.\n\n' +
94
+ '⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.',
94
95
  inputSchema: zodToJsonSchema(GetProblemInputSchema),
95
96
  },
96
97
  {
97
- name: 'search_tags',
98
+ name: 'search_tags_boj',
98
99
  description: '알고리즘 태그를 검색합니다. 한글 또는 영문 키워드로 관련 태그를 찾을 수 있습니다. ' +
99
- '예: "다이나믹", "그래프", "이분 탐색" ',
100
+ '예: "다이나믹", "그래프", "이분 탐색" 등\n\n' +
101
+ '⚠️ 플랫폼 미지정 시 사용자에게 어느 플랫폼에서 검색할지 확인하세요.',
100
102
  inputSchema: zodToJsonSchema(SearchTagsInputSchema),
101
103
  },
102
104
  // BOJ 분리 도구
@@ -127,12 +129,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
127
129
  },
128
130
  // Programmers 기존 도구
129
131
  {
130
- name: 'search_programmers_problems',
132
+ name: 'search_problems_programmers',
131
133
  description: searchProgrammersProblemsToolObj.description,
132
134
  inputSchema: zodToJsonSchema(SearchProgrammersProblemsInputSchema),
133
135
  },
134
136
  {
135
- name: 'get_programmers_problem',
137
+ name: 'get_problem_programmers',
136
138
  description: getProgrammersProblemToolObj.description,
137
139
  inputSchema: zodToJsonSchema(GetProgrammersProblemInputSchema),
138
140
  },
@@ -390,7 +392,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
390
392
  try {
391
393
  switch (name) {
392
394
  // 기존 BOJ 도구 (이름 유지)
393
- case 'search_problems': {
395
+ case 'search_problems_boj': {
394
396
  const input = SearchProblemsInputSchema.parse(args);
395
397
  const result = await searchProblems(input);
396
398
  return {
@@ -402,7 +404,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
402
404
  ],
403
405
  };
404
406
  }
405
- case 'get_problem': {
407
+ case 'get_problem_boj': {
406
408
  const input = GetProblemInputSchema.parse(args);
407
409
  const result = await getProblem(input);
408
410
  return {
@@ -414,7 +416,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
414
416
  ],
415
417
  };
416
418
  }
417
- case 'search_tags': {
419
+ case 'search_tags_boj': {
418
420
  const input = SearchTagsInputSchema.parse(args);
419
421
  const result = await searchTags(input);
420
422
  return {
@@ -463,14 +465,14 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
463
465
  };
464
466
  }
465
467
  // Programmers 기존 도구
466
- case 'search_programmers_problems': {
468
+ case 'search_problems_programmers': {
467
469
  const input = SearchProgrammersProblemsInputSchema.parse(args);
468
470
  const result = await searchProgrammersProblemsToolObj.handler(input);
469
471
  return {
470
472
  content: [result],
471
473
  };
472
474
  }
473
- case 'get_programmers_problem': {
475
+ case 'get_problem_programmers': {
474
476
  const input = GetProgrammersProblemInputSchema.parse(args);
475
477
  const result = await getProgrammersProblemToolObj.handler(input);
476
478
  return {
@@ -525,16 +527,16 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
525
527
  server: 'AlgoKit',
526
528
  version: '1.0.0',
527
529
  tools: [
528
- 'search_problems',
529
- 'get_problem',
530
- 'search_tags',
530
+ 'search_problems_boj',
531
+ 'get_problem_boj',
532
+ 'search_tags_boj',
531
533
  'analyze_problem_boj',
532
534
  'generate_hint_boj',
533
535
  'generate_review_template_boj',
534
536
  'fetch_problem_content_boj',
535
537
  'analyze_code_submission_boj',
536
- 'search_programmers_problems',
537
- 'get_programmers_problem',
538
+ 'search_problems_programmers',
539
+ 'get_problem_programmers',
538
540
  'analyze_problem_programmers',
539
541
  'generate_hint_programmers',
540
542
  'generate_review_template_programmers',
@@ -579,6 +581,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
579
581
  * 서버 시작
580
582
  */
581
583
  async function main() {
584
+ await ensureSkillsInstalled();
582
585
  const transport = new StdioServerTransport();
583
586
  await server.connect(transport);
584
587
  // Graceful shutdown
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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"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * analyze_code_submission_boj MCP 도구
3
+ *
4
+ * Phase 6 - P6-006: BOJ 사용자 코드 분석 MCP 도구 구현
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * 입력 스키마
9
+ */
10
+ export declare const AnalyzeCodeSubmissionBOJInputSchema: z.ZodObject<{
11
+ problem_id: z.ZodNumber;
12
+ code: z.ZodString;
13
+ language: z.ZodEnum<["python", "cpp", "javascript", "java", "go"]>;
14
+ analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "hint", "debug", "review"]>>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ language: "python" | "cpp" | "javascript" | "java" | "go";
17
+ code: string;
18
+ problem_id: number;
19
+ analysis_type: "full" | "hint" | "debug" | "review";
20
+ }, {
21
+ language: "python" | "cpp" | "javascript" | "java" | "go";
22
+ code: string;
23
+ problem_id: number;
24
+ analysis_type?: "full" | "hint" | "debug" | "review" | undefined;
25
+ }>;
26
+ export type AnalyzeCodeSubmissionBOJInput = z.infer<typeof AnalyzeCodeSubmissionBOJInputSchema>;
27
+ /**
28
+ * MCP TextContent 타입
29
+ */
30
+ interface TextContent {
31
+ type: 'text';
32
+ text: string;
33
+ }
34
+ /**
35
+ * analyze_code_submission_boj 도구 핸들러
36
+ *
37
+ * @param args - 입력 인자 (problem_id, code, language, analysis_type)
38
+ * @returns CodeAnalysisResult JSON 문자열
39
+ * @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패, 분석 실패 시
40
+ */
41
+ export declare function handleAnalyzeCodeSubmissionBOJ(args: unknown): Promise<TextContent>;
42
+ /**
43
+ * MCP 도구 정의
44
+ */
45
+ export declare function analyzeCodeSubmissionBOJTool(): {
46
+ name: string;
47
+ description: string;
48
+ inputSchema: z.ZodObject<{
49
+ problem_id: z.ZodNumber;
50
+ code: z.ZodString;
51
+ language: z.ZodEnum<["python", "cpp", "javascript", "java", "go"]>;
52
+ analysis_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["full", "hint", "debug", "review"]>>>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ language: "python" | "cpp" | "javascript" | "java" | "go";
55
+ code: string;
56
+ problem_id: number;
57
+ analysis_type: "full" | "hint" | "debug" | "review";
58
+ }, {
59
+ language: "python" | "cpp" | "javascript" | "java" | "go";
60
+ code: string;
61
+ problem_id: number;
62
+ analysis_type?: "full" | "hint" | "debug" | "review" | undefined;
63
+ }>;
64
+ handler: typeof handleAnalyzeCodeSubmissionBOJ;
65
+ };
66
+ export {};
67
+ //# sourceMappingURL=analyze-code-submission-boj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-code-submission-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/analyze-code-submission-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;EAS9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAuCxF;AAED;;GAEG;AACH,wBAAgB,4BAA4B;;;;;;;;;;;;;;;;;;;;EA0B3C"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * analyze_code_submission_boj MCP 도구
3
+ *
4
+ * Phase 6 - P6-006: BOJ 사용자 코드 분석 MCP 도구 구현
5
+ */
6
+ import { z } from 'zod';
7
+ import { handleFetchProblemContentBOJ } from './fetch-problem-content-boj.js';
8
+ import { CodeAnalyzer } from '../../services/code-analyzer.js';
9
+ /**
10
+ * 입력 스키마
11
+ */
12
+ export const AnalyzeCodeSubmissionBOJInputSchema = z.object({
13
+ problem_id: z.number().int().positive()
14
+ .describe('백준 문제 번호'),
15
+ code: z.string().min(1)
16
+ .describe('분석할 사용자 코드'),
17
+ language: z.enum(['python', 'cpp', 'javascript', 'java', 'go'])
18
+ .describe('프로그래밍 언어'),
19
+ analysis_type: z.enum(['full', 'hint', 'debug', 'review']).optional().default('full')
20
+ .describe('분석 타입 (기본값: full)'),
21
+ });
22
+ /**
23
+ * analyze_code_submission_boj 도구 핸들러
24
+ *
25
+ * @param args - 입력 인자 (problem_id, code, language, analysis_type)
26
+ * @returns CodeAnalysisResult JSON 문자열
27
+ * @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패, 분석 실패 시
28
+ */
29
+ export async function handleAnalyzeCodeSubmissionBOJ(args) {
30
+ try {
31
+ // 1. 입력 검증
32
+ const { problem_id, code, language, analysis_type } = AnalyzeCodeSubmissionBOJInputSchema.parse(args);
33
+ // 2. 문제 본문 스크래핑 (fetch_problem_content_boj 재사용)
34
+ const problemContentResponse = await handleFetchProblemContentBOJ({ problem_id });
35
+ const problemContent = JSON.parse(problemContentResponse.text);
36
+ // 3. CodeSubmission 객체 생성
37
+ const submission = {
38
+ problemId: problem_id,
39
+ code,
40
+ language: language,
41
+ submittedAt: new Date().toISOString(),
42
+ };
43
+ // 4. CodeAnalyzer로 분석
44
+ const analyzer = new CodeAnalyzer();
45
+ const result = await analyzer.analyzeCode(problemContent, submission, analysis_type);
46
+ // 5. JSON 문자열로 반환
47
+ return {
48
+ type: 'text',
49
+ text: JSON.stringify(result, null, 2),
50
+ };
51
+ }
52
+ catch (error) {
53
+ // Zod 검증 에러
54
+ if (error instanceof z.ZodError) {
55
+ throw new Error(`입력 검증 실패: ${error.issues[0].message}`);
56
+ }
57
+ // 기타 에러 (스크래핑/파싱 에러는 handleFetchProblemContentBOJ에서 처리됨)
58
+ throw error;
59
+ }
60
+ }
61
+ /**
62
+ * MCP 도구 정의
63
+ */
64
+ export function analyzeCodeSubmissionBOJTool() {
65
+ return {
66
+ name: 'analyze_code_submission_boj',
67
+ description: `백준(BOJ) 문제에 대한 사용자 코드를 분석하여 피드백을 제공합니다.
68
+
69
+ 문제 본문과 사용자 코드를 결합하여 LLM 분석용 프롬프트를 생성합니다.
70
+
71
+ **분석 타입**:
72
+ - full: 전체 분석 (정확성, 복잡도, 개선점)
73
+ - hint: 힌트 제공 (핵심 개념, 접근 방법)
74
+ - debug: 디버깅 (에러 원인, 로직 오류)
75
+ - review: 코드 리뷰 (스타일, 가독성)
76
+
77
+ **응답 구조**: problemInfo, codeMetadata, analysisPrompts, suggestedQuestions
78
+
79
+ **사용 시나리오**:
80
+ - 문제 풀이 후 코드 개선점 확인
81
+ - 틀린 코드 디버깅
82
+ - 코드 리뷰 및 품질 개선
83
+
84
+ **지원 언어**: Python, C++, JavaScript, Java, Go
85
+
86
+ ⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.`,
87
+ inputSchema: AnalyzeCodeSubmissionBOJInputSchema,
88
+ handler: handleAnalyzeCodeSubmissionBOJ,
89
+ };
90
+ }
91
+ //# sourceMappingURL=analyze-code-submission-boj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-code-submission-boj.js","sourceRoot":"","sources":["../../../src/tools/boj/analyze-code-submission-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACpC,QAAQ,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpB,QAAQ,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;SAC5D,QAAQ,CAAC,UAAU,CAAC;IACvB,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SAClF,QAAQ,CAAC,mBAAmB,CAAC;CACjC,CAAC,CAAC;AAYH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,IAAa;IAChE,IAAI,CAAC;QACH,WAAW;QACX,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,mCAAmC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEtG,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,MAAM,4BAA4B,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAClF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAE/D,0BAA0B;QAC1B,MAAM,UAAU,GAAG;YACjB,SAAS,EAAE,UAAU;YACrB,IAAI;YACJ,QAAQ,EAAE,QAA6B;YACvC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB,MAAM,QAAQ,CAAC,WAAW,CAC3D,cAAc,EACd,UAAU,EACV,aAA6B,CAC9B,CAAC;QAEF,kBAAkB;QAClB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SACtC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY;QACZ,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,yDAAyD;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;iGAmBgF;QAC7F,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,8BAA8B;KACxC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * analyze_problem_boj MCP 도구
3
+ *
4
+ * BOJ 문제 분석 및 구조화된 힌트 데이터 제공 (Keyless Architecture)
5
+ */
6
+ import { z } from 'zod';
7
+ import type { ProblemAnalyzer } from '../../services/problem-analyzer.js';
8
+ /**
9
+ * 입력 스키마
10
+ */
11
+ export declare const AnalyzeProblemBOJInputSchema: z.ZodObject<{
12
+ problem_id: z.ZodNumber;
13
+ include_similar: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ problem_id: number;
16
+ include_similar: boolean;
17
+ }, {
18
+ problem_id: number;
19
+ include_similar?: boolean | undefined;
20
+ }>;
21
+ export type AnalyzeProblemBOJInput = z.infer<typeof AnalyzeProblemBOJInputSchema>;
22
+ /**
23
+ * MCP TextContent 타입
24
+ */
25
+ interface TextContent {
26
+ type: 'text';
27
+ text: string;
28
+ }
29
+ /**
30
+ * analyze_problem_boj 도구 핸들러
31
+ */
32
+ export declare function analyzeProblemBOJTool(analyzer: ProblemAnalyzer): {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: z.ZodObject<{
36
+ problem_id: z.ZodNumber;
37
+ include_similar: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ problem_id: number;
40
+ include_similar: boolean;
41
+ }, {
42
+ problem_id: number;
43
+ include_similar?: boolean | undefined;
44
+ }>;
45
+ handler: (input: AnalyzeProblemBOJInput) => Promise<TextContent>;
46
+ };
47
+ export {};
48
+ //# sourceMappingURL=analyze-problem-boj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-problem-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/analyze-problem-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAG1E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAKvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe;;;;;;;;;;;;;qBAKpC,sBAAsB,KAAG,OAAO,CAAC,WAAW,CAAC;EA6BvE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * analyze_problem_boj MCP 도구
3
+ *
4
+ * BOJ 문제 분석 및 구조화된 힌트 데이터 제공 (Keyless Architecture)
5
+ */
6
+ import { z } from 'zod';
7
+ import { ProblemNotFoundError } from '../../api/types.js';
8
+ /**
9
+ * 입력 스키마
10
+ */
11
+ export const AnalyzeProblemBOJInputSchema = z.object({
12
+ problem_id: z.number().int().positive()
13
+ .describe('백준 문제 번호'),
14
+ include_similar: z.boolean().optional().default(true)
15
+ .describe('유사 문제 추천 포함 여부'),
16
+ });
17
+ /**
18
+ * analyze_problem_boj 도구 핸들러
19
+ */
20
+ export function analyzeProblemBOJTool(analyzer) {
21
+ return {
22
+ name: 'analyze_problem_boj',
23
+ description: '백준(BOJ) 문제를 분석하여 구조화된 힌트 데이터를 제공합니다. 알고리즘 패턴, 난이도 컨텍스트, 3단계 힌트 포인트, 유사 문제 추천을 포함합니다.\n\n⚠️ 플랫폼 판별: 문제 번호만 입력된 경우 대화 맥락에서 플랫폼을 파악하거나, 맥락이 없으면 반드시 BOJ/프로그래머스 중 어느 플랫폼인지 사용자에게 확인 후 호출하세요.',
24
+ inputSchema: AnalyzeProblemBOJInputSchema,
25
+ handler: async (input) => {
26
+ try {
27
+ // 입력 검증
28
+ const { problem_id, include_similar } = AnalyzeProblemBOJInputSchema.parse(input);
29
+ // 문제 분석
30
+ const analysis = await analyzer.analyze(problem_id, include_similar);
31
+ // JSON 문자열로 반환 (Claude Code가 파싱)
32
+ return {
33
+ type: 'text',
34
+ text: JSON.stringify(analysis, null, 2),
35
+ };
36
+ }
37
+ catch (error) {
38
+ // Zod 검증 에러
39
+ if (error instanceof z.ZodError) {
40
+ throw new Error(`입력 검증 실패: ${error.issues[0].message}`);
41
+ }
42
+ // ProblemNotFoundError
43
+ if (error instanceof ProblemNotFoundError) {
44
+ throw new Error(`문제를 찾을 수 없습니다: ${input.problem_id}번`);
45
+ }
46
+ // 기타 에러
47
+ throw error;
48
+ }
49
+ },
50
+ };
51
+ }
52
+ //# sourceMappingURL=analyze-problem-boj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-problem-boj.js","sourceRoot":"","sources":["../../../src/tools/boj/analyze-problem-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SACpC,QAAQ,CAAC,UAAU,CAAC;IACvB,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAClD,QAAQ,CAAC,gBAAgB,CAAC;CAC9B,CAAC,CAAC;AAYH;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAyB;IAC7D,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,0LAA0L;QACvM,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK,EAAE,KAA6B,EAAwB,EAAE;YACrE,IAAI,CAAC;gBACH,QAAQ;gBACR,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAElF,QAAQ;gBACR,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBAErE,iCAAiC;gBACjC,OAAO;oBACL,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY;gBACZ,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,uBAAuB;gBACvB,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;oBAC1C,MAAM,IAAI,KAAK,CAAC,kBAAmB,KAAgC,CAAC,UAAU,GAAG,CAAC,CAAC;gBACrF,CAAC;gBAED,QAAQ;gBACR,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * fetch_problem_content_boj MCP 도구
3
+ *
4
+ * Phase 6 - P6-004: BOJ 문제 본문 스크래핑 MCP 도구 구현
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * 입력 스키마
9
+ */
10
+ export declare const FetchProblemContentBOJInputSchema: z.ZodObject<{
11
+ problem_id: z.ZodNumber;
12
+ }, "strip", z.ZodTypeAny, {
13
+ problem_id: number;
14
+ }, {
15
+ problem_id: number;
16
+ }>;
17
+ export type FetchProblemContentBOJInput = z.infer<typeof FetchProblemContentBOJInputSchema>;
18
+ /**
19
+ * MCP TextContent 타입
20
+ */
21
+ interface TextContent {
22
+ type: 'text';
23
+ text: string;
24
+ }
25
+ /**
26
+ * fetch_problem_content_boj 도구 핸들러
27
+ *
28
+ * @param args - 입력 인자 (problem_id)
29
+ * @returns ProblemContent JSON 문자열
30
+ * @throws {Error} 검증 실패, 스크래핑 실패, 파싱 실패 시
31
+ */
32
+ export declare function handleFetchProblemContentBOJ(args: unknown): Promise<TextContent>;
33
+ /**
34
+ * MCP 도구 정의
35
+ */
36
+ export declare function fetchProblemContentBOJTool(): {
37
+ name: string;
38
+ description: string;
39
+ inputSchema: z.ZodObject<{
40
+ problem_id: z.ZodNumber;
41
+ }, "strip", z.ZodTypeAny, {
42
+ problem_id: number;
43
+ }, {
44
+ problem_id: number;
45
+ }>;
46
+ handler: typeof handleFetchProblemContentBOJ;
47
+ };
48
+ export {};
49
+ //# sourceMappingURL=fetch-problem-content-boj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-problem-content-boj.d.ts","sourceRoot":"","sources":["../../../src/tools/boj/fetch-problem-content-boj.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;;;;EAG5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CtF;AAED;;GAEG;AACH,wBAAgB,0BAA0B;;;;;;;;;;;EAyBzC"}