analyze_resume_text
Analyzes resume text to assess completeness, keyword usage, and skill alignment, then provides targeted optimization recommendations for job applications.
Instructions
对简历文本进行深度分析,提供专业评估和改进建议。系统会分析简历的完整性、关键词使用、技能匹配度等方面,并给出针对性的优化建议,帮助求职者打造更具竞争力的简历。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| resumeText | Yes |
Implementation Reference
- src/index.ts:263-295 (registration)Registration of the MCP tool 'analyze_resume_text' using server.tool(). Includes tool name, description, input schema (zod validation for resumeText), and inline handler function that calls the NovaCV service and formats the response.server.tool( "analyze_resume_text", "对简历文本进行深度分析,提供专业评估和改进建议。系统会分析简历的完整性、关键词使用、技能匹配度等方面,并给出针对性的优化建议,帮助求职者打造更具竞争力的简历。", { resumeText: z.string() }, async ({ resumeText }, extra) => { if (!resumeText) { throw new Error("简历文本是必需的"); } try { const result = await novaCVService.analyzeResumeText(resumeText); return { content: [ { type: "text", text: safeStringify(result) } ], }; } catch (error: any) { return { content: [ { type: "text", text: `错误: ${error.message || "未知错误"}` } ], }; } } );
- src/index.ts:266-268 (schema)Input schema for the analyze_resume_text tool, defining 'resumeText' as a required string using Zod.{ resumeText: z.string() },
- src/index.ts:269-294 (handler)The execution handler function for the analyze_resume_text MCP tool. Performs input validation, delegates to NovaCVService.analyzeResumeText, and returns formatted content block with safeStringify or error message.async ({ resumeText }, extra) => { if (!resumeText) { throw new Error("简历文本是必需的"); } try { const result = await novaCVService.analyzeResumeText(resumeText); return { content: [ { type: "text", text: safeStringify(result) } ], }; } catch (error: any) { return { content: [ { type: "text", text: `错误: ${error.message || "未知错误"}` } ], }; } }
- src/services/novacv.ts:199-209 (helper)Helper method in NovaCVService class that implements the core logic: POST request to NovaCV API endpoint '/api/v1/resumes/analyze' with resumeText, returns response data or throws handled error.async analyzeResumeText(resumeText: string): Promise<any> { try { const response = await this.client.post('/api/v1/resumes/analyze', { resumeText }); return response.data; } catch (error) { this._handleError(error); throw error; } }