MCP Server for NovaCV
The MCP Server for NovaCV enables users to process and analyze resumes through the NovaCV API with the following capabilities:
Generate Resume PDF: Convert resume text into professional PDFs with support for multiple templates
Get Available Templates: Retrieve a list of resume templates with details like ID, name, and thumbnail
Convert Resume Text to JSON Resume: Transform plain text resumes into structured JSON Resume format
Analyze Resume Text: Provide in-depth analysis and optimization suggestions for resume content
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server for NovaCVgenerate a PDF resume from my text using the modern template"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server for NovaCV
模型上下文协议(MCP)服务器,用于接入 NovaCV 简历服务 API。
功能特点
生成简历 PDF
获取可用简历模板列表
将简历文本转换为 JSON Resume 格式
分析简历文本内容
Related MCP server: ConnectWise API Gateway MCP Server
获取 API 密钥
在使用此服务前,您需要获取 NovaCV API 密钥:
注册或登录您的账户
在控制面板中找到 "API Keys" 或 "开发者" 部分
创建新的 API 密钥并复制它
在使用 MCP 服务时配置此密钥
请妥善保管您的 API 密钥,不要在公共场合分享。
安装
# 全局安装
npm install -g mcp-server-novacv
# 或使用 npx 运行
npx mcp-server-novacv --api_key=your_api_key快速开始
方法一:直接运行(推荐)
最简单的方式是使用我们提供的快速启动命令:
# 一键构建并启动服务
npm run run方法二:使用 MCP Inspector 进行开发和测试
我们提供了一个组合命令,可以一键构建和启动 Inspector:
# 一键构建并启动 Inspector
npm run debug使用方法
命令行选项
npx mcp-server-novacv [选项]
选项:
--api_key=KEY 设置 NovaCV API 密钥
--api_base_url=URL 设置 API 基础 URL
--timeout=MS 设置 API 超时时间 (毫秒)
--help, -h 显示帮助信息
--version, -v 显示版本信息环境变量配置
可以通过环境变量配置 API 密钥:
NOVACV_API_KEY=your_api_key mcp-server-novacv或者创建 .env 文件:
NOVACV_API_KEY=your_api_key
NOVACV_API_BASE_URL=https://api.nova-cv.com提示:API 密钥可以从 NovaCV API 官网 获取,请参考上方的 "获取 API 密钥" 部分。
在 MCP 客户端配置
Cursor 配置
在 Cursor 配置文件中添加:
{
"mcpServers": {
"novacv": {
"command": "npx",
"args": ["mcp-server-novacv"],
"env": {
"NOVACV_API_KEY": "your_api_key"
}
}
}
}Cherry Studio 配置
在 Cherry Studio 中设置 MCP 服务:
打开设置(点击左下角设置图标或使用
Ctrl+,/Cmd+,)找到 MCP 或 Model Context Protocol 设置区域
添加新服务,配置如下:
名称:
novacv命令:
npx参数:
mcp-server-novacv环境变量: 添加
NOVACV_API_KEY并设置您的 API 密钥
如果支持 JSON 配置,添加以下内容:
{
"novacv": {
"command": "npx",
"args": ["mcp-server-novacv"],
"env": {
"NOVACV_API_KEY": "your_api_key"
}
}
}可用工具
MCP 服务器提供以下工具:
generate_resume_from_text: 一键将简历文本转换为精美PDF简历,支持多种模板。只需提供简历文本内容,系统会自动进行格式转换并生成专业PDF文件,无需手动处理JSON数据get_templates: 获取所有可用的简历模板,返回模板列表及其详细信息,包括模板ID、名称、缩略图等convert_resume_text: 将纯文本格式的简历内容转换为标准JSON Resume格式。系统会智能识别简历中的各个部分,并按照国际通用的JSON Resume标准进行结构化处理analyze_resume_text: 对简历文本进行深度分析,提供专业评估和改进建议。系统会分析简历的完整性、关键词使用、技能匹配度等方面,并给出针对性的优化建议
使用示例
获取模板列表
在支持 MCP 的客户端中使用 mcp_novacv_get_templates 命令获取所有可用的简历模板。
生成简历
使用 mcp_novacv_generate_resume_from_text 命令并提供简历文本内容和模板名称生成 PDF 简历。
分析简历文本
使用 mcp_novacv_analyze_resume_text 命令分析纯文本简历内容。
转换简历文本为 JSON Resume
使用 mcp_novacv_convert_resume_text 命令将简历文本转换为结构化的 JSON Resume 格式。
开发
# 安装依赖
npm install
# 开发模式(监视文件变化)
npm run dev
# 构建项目
npm run build
# 运行服务(构建并启动)
npm run run
# 使用 MCP Inspector 调试(构建并启动Inspector)
npm run debug故障排除
如果您在设置过程中遇到问题:
确认包安装成功:
npx mcp-server-novacv --version检查 API 密钥是否正确设置
查看客户端日志中是否有相关错误信息
API 密钥问题
如果遇到 API 密钥相关错误:
确保您已从 https://api.nova-cv.com 获取了有效的 API 密钥
检查密钥是否已过期或超出使用限制
尝试重新生成新的 API 密钥
确保环境变量或配置文件中的密钥没有多余的空格或引号
许可证
MIT
Available Tools
4 toolsanalyze_resume_textC
对简历文本进行深度分析,提供专业评估和改进建议。系统会分析简历的完整性、关键词使用、技能匹配度等方面,并给出针对性的优化建议,帮助求职者打造更具竞争力的简历。
| Name | Required | Description | Default |
|---|---|---|---|
| resumeText | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool provides analysis and suggestions, but lacks details on permissions, rate limits, output format, or whether it's read-only or mutative. This is inadequate for a tool with potential complexity in analysis.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first sentence. The second sentence elaborates on analysis aspects without redundancy. However, it could be more structured with explicit sections for usage or output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It doesn't explain the return values, error conditions, or behavioral traits needed for effective tool use, leaving significant gaps for an analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description implies the parameter 'resumeText' is the text to analyze, but adds minimal meaning beyond the schema's basic type (string). With 0% schema description coverage and 1 parameter, the baseline is 4, but the description doesn't compensate with details like format expectations or constraints, so it scores slightly lower.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '对简历文本进行深度分析,提供专业评估和改进建议' (deeply analyze resume text, provide professional evaluation and improvement suggestions). It specifies the action (analyze) and resource (resume text), though it doesn't explicitly differentiate from sibling tools like 'convert_resume_text' or 'generate_resume_from_text' beyond the analysis focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions analyzing resume text for completeness, keywords, and skill matching, but doesn't specify prerequisites, exclusions, or compare it to sibling tools like 'convert_resume_text' or 'generate_resume_from_text'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_resume_textB
将纯文本格式的简历内容转换为标准JSON Resume格式。系统会智能识别简历中的各个部分(如个人信息、工作经历、教育背景等),并按照国际通用的JSON Resume标准进行结构化处理,方便后续编辑和格式转换。
| Name | Required | Description | Default |
|---|---|---|---|
| resumeText | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions intelligent section recognition and international standard compliance, but lacks details about error handling, processing time, limitations (e.g., language support, format constraints), or what happens with malformed input. The behavioral disclosure is insufficient for a transformation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly address the tool's function and benefits. It's front-loaded with the core purpose and avoids unnecessary elaboration, though the second sentence could be slightly more focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter transformation tool with no annotations or output schema, the description provides basic purpose and parameter context but lacks sufficient behavioral details. It doesn't explain the output structure or potential errors, leaving gaps in understanding how the tool behaves in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 1 parameter (resumeText) and 0% schema description coverage, the description compensates well by explaining what the parameter should contain: '纯文本格式的简历内容' (plain text format resume content). This adds meaningful context beyond the bare schema, though it doesn't specify format expectations or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting plain text resumes to JSON Resume format with intelligent section recognition. It specifies both the input (plain text) and output (structured JSON Resume), though it doesn't explicitly distinguish from sibling tools like 'analyze_resume_text' or 'generate_resume_from_text'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description mentions it's for '方便后续编辑和格式转换' (facilitating subsequent editing and format conversion), but doesn't specify scenarios where this conversion is preferred over direct analysis or generation from text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_resume_from_textC
一键将简历文本转换为精美PDF简历,支持多种模板。只需提供简历文本内容,系统会自动进行格式转换并生成专业PDF文件,无需手动处理JSON数据。可选择不同简历模板和定制选项。
| Name | Required | Description | Default |
|---|---|---|---|
| resumeText | Yes | ||
| templateName | No | ||
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool generates PDF files and supports templates, but lacks critical details: whether this is a read-only or write operation (implied write but not confirmed), authentication requirements, rate limits, error handling, or what happens to the input text. For a tool with no annotations and 3 parameters, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first sentence. It uses two sentences to cover key features (template support, no manual JSON processing), with minimal redundancy. However, it could be slightly more structured by separating usage notes from functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (3 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain the output (e.g., PDF file format, return type), error conditions, or behavioral nuances. For a tool that generates files and has sibling tools, more context is needed to ensure correct usage by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions '简历文本内容' (resume text content) for 'resumeText', '多种模板' (multiple templates) and '简历模板' (resume templates) for 'templateName', and '定制选项' (customization options) for 'options'. However, it doesn't explain parameter formats, constraints, or examples (e.g., what template names are valid, what 'options' object contains). With 3 parameters and low coverage, this adds only basic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '将简历文本转换为精美PDF简历' (convert resume text to beautiful PDF resume). It specifies the verb (convert), resource (resume text), and output format (PDF). However, it doesn't explicitly differentiate from sibling tools like 'convert_resume_text' or 'analyze_resume_text', which likely have different functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance on when to use this tool. It mentions '支持多种模板' (supports multiple templates) and '可选择不同简历模板和定制选项' (can choose different resume templates and customization options), but doesn't clarify when to use this vs. alternatives like 'convert_resume_text' or 'get_templates'. No explicit exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templatesB
获取所有可用的简历模板,返回模板列表及其详细信息,包括模板ID、名称、缩略图等。帮助用户选择最适合的简历风格。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the tool as a read operation ('获取' - get) and lists return details, but lacks behavioral context such as whether it requires authentication, has rate limits, returns paginated results, or handles errors. This is inadequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the core purpose in the first clause. Both sentences add value: the first defines the action and outputs, and the second explains the user benefit. There is no wasted text, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose and outputs but lacks behavioral details like error handling or performance characteristics. For a read-only tool with no complex schema, this is acceptable but leaves gaps in transparency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose and outputs. This meets the baseline for tools with no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取所有可用的简历模板' (get all available resume templates) with specific outputs like template ID, name, and thumbnail. It distinguishes from siblings by focusing on template retrieval rather than analysis, conversion, or generation. However, it doesn't explicitly differentiate from potential similar tools beyond the given siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions '帮助用户选择最适合的简历风格' (help users choose the most suitable resume style), which implies a context of template selection, but offers no explicit when/when-not rules or comparisons to sibling tools like analyze_resume_text or generate_resume_from_text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.0- Changed
get_templates1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
4 tool updates
- First observed
analyze_resume_text - First observed
convert_resume_text - First observed
generate_resume_from_text - First observed
get_templates
TDQS
Each tool has a clearly distinct purpose: analyze_resume_text focuses on evaluation and improvement suggestions, convert_resume_text handles format conversion to JSON, generate_resume_from_text creates PDFs from text, and get_templates lists available templates. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., analyze_resume_text, convert_resume_text, generate_resume_from_text, get_templates). The naming is predictable and readable throughout the set, with no deviations in style.
With 4 tools, the server is well-scoped for resume processing tasks. Each tool serves a specific role in the workflow (analysis, conversion, generation, template selection), and there are no extraneous or missing tools for this domain.
The tool set provides complete coverage for the resume processing domain: it supports analysis, format conversion (to JSON), PDF generation, and template management. This covers the core lifecycle from input to output without any obvious gaps, allowing agents to handle end-to-end resume workflows effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
Model Context Protocol server for Studex tools, notifications, and profile integrations
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables seamless interaction with LinkedIn for job applications, profile retrieval, feed browsing, and resume analysis through natural language commands.31-
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that provides a comprehensive interface for interacting with the ConnectWise Manage API, simplifying API discovery, execution, and management for both developers and AI assistants.2018-
- AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) proxy server that provides access to NextRole's professional CV and cover letter tailoring services. This proxy allows MCP-compatible clients to interact with NextRole's hosted services.351MIT

Cerevox MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceModel Context Protocol server for Cerevox AI that exposes document parsing (Lexa), RAG and semantic search (Hippo), and account management APIs, enabling AI agents to parse documents, search and query document collections with RAG, and manage accounts.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HireTechUpUp/mcp-server-novacv'
If you have feedback or need assistance with the MCP directory API, please join our Discord server