Skip to main content
Glama

MCP Server for NovaCV

模型上下文协议(MCP)服务器,用于接入 NovaCV 简历服务 API。

功能特点

  • 生成简历 PDF

  • 获取可用简历模板列表

  • 将简历文本转换为 JSON Resume 格式

  • 分析简历文本内容

Related MCP server: ConnectWise API Gateway MCP Server

获取 API 密钥

在使用此服务前,您需要获取 NovaCV API 密钥:

  1. 访问 NovaCV API 官网

  2. 注册或登录您的账户

  3. 在控制面板中找到 "API Keys" 或 "开发者" 部分

  4. 创建新的 API 密钥并复制它

  5. 在使用 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 服务:

  1. 打开设置(点击左下角设置图标或使用 Ctrl+,/Cmd+,

  2. 找到 MCP 或 Model Context Protocol 设置区域

  3. 添加新服务,配置如下:

    • 名称: 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

故障排除

如果您在设置过程中遇到问题:

  1. 确认包安装成功: npx mcp-server-novacv --version

  2. 检查 API 密钥是否正确设置

  3. 查看客户端日志中是否有相关错误信息

API 密钥问题

如果遇到 API 密钥相关错误:

  • 确保您已从 https://api.nova-cv.com 获取了有效的 API 密钥

  • 检查密钥是否已过期或超出使用限制

  • 尝试重新生成新的 API 密钥

  • 确保环境变量或配置文件中的密钥没有多余的空格或引号

许可证

MIT

Available Tools

4 tools
analyze_resume_textC

对简历文本进行深度分析,提供专业评估和改进建议。系统会分析简历的完整性、关键词使用、技能匹配度等方面,并给出针对性的优化建议,帮助求职者打造更具竞争力的简历。

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeTextYes

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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标准进行结构化处理,方便后续编辑和格式转换。

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeTextYes

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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数据。可选择不同简历模板和定制选项。

ParametersJSON Schema
NameRequiredDescriptionDefault
resumeTextYes
templateNameNo
optionsNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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、名称、缩略图等。帮助用户选择最适合的简历风格。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev1.0.0
    • Changedget_templates1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 4 tool updates
    • First observedanalyze_resume_text
    • First observedconvert_resume_text
    • First observedgenerate_resume_from_text
    • First observedget_templates

TDQS

A3.5/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    20
    18
    -
  • A
    license
    A
    quality
    D
    maintenance
    A 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.
    3
    51
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Model 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

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