Skip to main content
Glama

CV Resume Builder MCP

AI-powered CV and resume builder using Model Context Protocol (MCP)

Automatically generate and update your CV/resume from git commits, Jira tickets, Credly certifications, and LinkedIn. Built for professionals who want their CV to stay current without manual updates. Generates ATS-compliant LaTeX CVs that pass Applicant Tracking Systems.

MCP Python License: MIT

Features

  • šŸ“Š Git commits - Track your code contributions automatically āœ…

  • šŸŽ« Jira tickets - Pull completed projects and tasks āš ļø (requires testing)

  • šŸ† Credly badges - Sync certifications and achievements āœ…

  • šŸ’¼ LinkedIn profile - Not implemented yet 🚧 (authentication required)

  • šŸ“„ PDF parsing - Extract content from existing CVs āœ…

  • šŸš€ Enhanced CV generation - Combine all data sources āœ…

  • šŸ“ LaTeX support - Generate professional, ATS-compliant CVs āœ…

  • šŸ¤– ATS-friendly - Clean formatting that passes Applicant Tracking Systems āœ…

Related MCP server: Resume Generator MCP Server

Quick Start

Prerequisites

  • Python 3.10+

  • uv installed (for uvx): curl -LsSf https://astral.sh/uv/install.sh | sh

  • An MCP-compatible AI assistant (Claude Desktop, Kiro, etc.)

Installation

Using uvx (recommended - no installation needed!):

Just configure your MCP client and uvx handles the rest.

Or install with pip:

pip3 install cv-resume-builder-mcp

Note: The configurations below use uvx which automatically downloads and runs the latest version from PyPI. If you're developing locally or want to test unreleased features, see TESTING.md for local development setup.

Configuration

For Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "cv-resume-builder": {
      "command": "uvx",
      "args": ["cv-resume-builder-mcp"],
      "env": {
        "AUTHOR_NAME": "your-git-username",
        "REPOS": "default:/absolute/path/to/your-repo"
      }
    }
  }
}

For multiple repositories: Change REPOS to: "CompanyA:/path1,CompanyB:/path2,Personal:/path3"

For Kiro IDE

Edit ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "cv-resume-builder": {
      "command": "uvx",
      "args": ["cv-resume-builder-mcp"],
      "env": {
        "AUTHOR_NAME": "your-git-username",
        "REPOS": "default:/absolute/path/to/your-repo"
      }
    }
  }
}

For multiple repositories: Change REPOS to: "CompanyA:/path1,CompanyB:/path2,Personal:/path3"

Important: Use absolute paths (no ~). Get it with pwd in your repo directory.

Restart Your AI Assistant

After configuration, restart Claude Desktop or Kiro to load the MCP server.

Test It

"List available MCP tools"

You should see tools like get_git_log, read_cv, parse_cv_pdf, etc.

Usage Examples

"Get my git commits from the last 6 months and suggest CV updates"

With multiple repositories:

"List all my configured repositories"
"Get my commits from CompanyA for the last 3 months"
"Show me all my work across all repositories in the last year"

Parse existing CV

"Parse my CV at ~/Documents/resume.pdf"

Generate enhanced CV

"Generate an enhanced CV using my existing resume.pdf and recent work from the last 3 months"

Get certifications

"Get my Credly badges and add them to my CV"

Analyze commit impact (NEW!)

"Analyze my commits from the last month and show me what I actually built"
"Get detailed code changes for commit abc123 to understand the impact"
"Show me the stats for my recent commits to highlight achievements"

Career guidance

"Based on my commits, Jira tickets, and certifications, what seniority level am I at?"
"Analyze my work and suggest what skills I need for senior/staff/principal level"
"Review my achievements and help me position myself for a promotion"
"What's missing from my profile to reach the next level?"

Optional Integrations

Add these to your MCP configuration's env section:

Jira (āš ļø Requires Testing)

"JIRA_URL": "https://your-company.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token",
"JIRA_USER": "your-email@example.com"

Get API token: https://id.atlassian.com/manage-profile/security/api-tokens

Note: Jira integration is functional but requires more testing across different Jira configurations. Please report any issues!

Credly (āœ… Fully Tested)

"CREDLY_USER_ID": "your-credly-username"

Find your username in your Credly profile URL: https://www.credly.com/users/YOUR-USERNAME

LinkedIn (🚧 Not Implemented)

"LINKEDIN_PROFILE_URL": "https://www.linkedin.com/in/yourprofile"

Note: LinkedIn integration is not yet implemented due to authentication requirements. The tool currently only returns your profile URL. For now, manually copy your LinkedIn achievements to wins.md file. Contributions welcome!

CV Formatting

"MAX_BULLETS_PER_EXPERIENCE": "5"

Available Tools

Tool

Description

get_git_log

Get your git commits from default repo (excludes merge commits)

list_repos

List all configured repositories

get_git_log_by_repo

Get commits from a specific repository

get_git_log_all_repos

Get commits from all repos, grouped by project

get_commit_details

NEW! Get detailed commit info including code changes (diff) for impact analysis

analyze_commits_impact

NEW! Analyze multiple commits with stats to understand actual work done

read_cv

Read your current LaTeX CV

read_wins

Read your wins.md achievements file

get_jira_tickets

Get completed Jira tickets

get_credly_badges

Get your certifications from Credly

get_linkedin_profile

Read your LinkedIn profile summary

parse_cv_pdf

Extract text from existing CV/resume PDF

generate_enhanced_cv

Combine all data sources into comprehensive report

get_cv_guidelines

Get formatting rules and constraints

Project Structure

cv-resume-builder-mcp/
ā”œā”€ā”€ src/cv_resume_builder_mcp/
│   ā”œā”€ā”€ __init__.py
│   └── server.py          # Main MCP server
ā”œā”€ā”€ tests/
│   └── test_server.py     # Unit tests
ā”œā”€ā”€ pyproject.toml         # Package configuration
ā”œā”€ā”€ requirements.txt       # Dependencies
ā”œā”€ā”€ .env.example           # Configuration template
ā”œā”€ā”€ cv.tex                 # LaTeX CV template
ā”œā”€ā”€ wins.md                # Manual achievements tracking
└── README.md              # This file

Development

For End Users (Production)

Use the uvx configuration shown above. It automatically downloads the latest stable version from PyPI.

For Contributors (Local Development)

Just testing locally? Clone the repo:

git clone https://github.com/eyaab/cv-resume-builder-mcp.git
cd cv-resume-builder-mcp
pip install -e ".[dev]"

Want to contribute changes? Fork first, then clone your fork:

  1. Click "Fork" on GitHub

  2. Clone your fork:

git clone https://github.com/YOUR-USERNAME/cv-resume-builder-mcp.git
cd cv-resume-builder-mcp
pip install -e ".[dev]"

Then use the local development configuration from TESTING.md which uses python3 -m instead of uvx.

Run Tests

pytest

Format Code

black src/
ruff check src/

Contributing

Contributions welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Ensure no credentials are hardcoded

  6. Submit a pull request

See CONTRIBUTING.md for details.

Troubleshooting

MCP server not showing up

  • Verify absolute paths in config (use pwd)

  • Restart your AI assistant completely

  • Check for typos in configuration

Git log returns empty

  • Check your git author name: git config user.name

  • Update AUTHOR_NAME to match exactly

"Command not found: uvx"

  • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh

  • Or: brew install uv

Jira/Credly errors

  • Verify API tokens are correct

  • Check URLs don't have trailing slashes

  • Ensure services are accessible

Security

  • All credentials stored in environment variables

  • No data sent to external services except configured integrations

  • Git history stays local

  • Open source - audit the code yourself

License

MIT License - see LICENSE file for details.

Support

  • šŸ› Report bugs - Open an issue on GitHub

  • šŸ’” Request features - Create a feature request issue

  • šŸ’¬ Ask questions - Start a discussion on GitHub


Keywords: cv builder, resume builder, mcp, model context protocol, ai resume, ai cv, automatic cv, career tracker, latex cv, resume generator, cv generator, developer resume, tech resume, ats compliant, ats friendly, applicant tracking system

Made with ā¤ļø for developers who hate updating their CVs manually

Available Tools

14 tools
analyze_commits_impactC

Get commits with their code changes for impact analysis. Returns commit messages + diffs to help AI understand the actual work done.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_nameNoName of the repository (optional, uses default if not specified)
sinceNoTime range for commits1 month ago
limitNoMaximum number of commits to analyze (default: 10)

TDQS

C2.9/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 states the tool returns 'commit messages + diffs' but doesn't cover critical aspects like whether this is a read-only operation, potential rate limits, authentication requirements, error handling, or the format of the output (e.g., structured data vs. raw text). For a tool with no annotations, this is a significant gap in transparency.

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, consisting of two sentences that directly state the tool's purpose and output. There's no wasted text, and it efficiently communicates key information. However, it could be slightly improved by integrating usage hints or behavioral details without adding unnecessary length.

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 moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the purpose and output but lacks details on behavioral traits, usage context, and error handling. Without an output schema, it doesn't fully explain return values beyond 'commit messages + diffs'. This leaves gaps for an AI agent to operate effectively.

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 input schema has 100% description coverage, with clear documentation for each parameter ('repo_name', 'since', 'limit'), including defaults. The description adds no additional parameter semantics beyond what the schema provides, such as explaining the impact of 'limit' on analysis depth or the format for 'since'. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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 commits with their code changes for impact analysis.' It specifies the verb ('Get'), resource ('commits'), and additional context ('with their code changes for impact analysis'). However, it doesn't explicitly distinguish this tool from sibling tools like 'get_commit_details' or 'get_git_log', which appear related to commit retrieval, so it lacks sibling differentiation.

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 the purpose but doesn't specify prerequisites, exclusions, or compare it to sibling tools such as 'get_commit_details' or 'get_git_log'. This leaves the agent without clear usage context, relying solely on the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_enhanced_cvC

Generate an enhanced CV by combining existing CV content with data from all sources

ParametersJSON Schema
NameRequiredDescriptionDefault
existingCvPathYesPath to existing CV (PDF or LaTeX)
sinceNoTime range for fetching recent work6 months ago

TDQS

C2.9/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 states the tool generates an enhanced CV but does not clarify key behaviors: whether this is a read-only or mutation operation (e.g., does it modify the original CV?), what 'enhanced' entails (e.g., formatting, content addition), potential side effects, or output format. For a tool with no annotation coverage, this lack of detail is a significant gap in transparency.

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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and avoids redundancy, making it easy to parse. However, it could be slightly more structured by hinting at the outcome or process, but overall, it earns its place with clear communication.

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 of generating an enhanced CV with multiple data sources, the description is incomplete. No annotations are provided to clarify safety or behavior, and there is no output schema to explain the result format. The description lacks details on what 'enhanced' means, how data is combined, or any error conditions. For a tool with no structured support and potential for varied outputs, this leaves significant gaps for an agent to understand its full context.

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 input schema has 100% description coverage, with clear documentation for both parameters ('existingCvPath' and 'since'). The description adds minimal value beyond the schema, as it does not explain parameter interactions, provide examples, or clarify semantics like what 'data from all sources' means in relation to the 'since' parameter. Given the high schema coverage, a baseline score of 3 is appropriate, as the description does not compensate with additional insights.

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: 'Generate an enhanced CV by combining existing CV content with data from all sources.' It specifies the verb ('generate'), resource ('enhanced CV'), and scope ('combining existing CV content with data from all sources'), which is specific and actionable. However, it does not explicitly differentiate from sibling tools like 'parse_cv_pdf' or 'read_cv', which might handle CV data extraction or reading, leaving some ambiguity about its unique role.

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 'data from all sources' but does not specify what those sources are or how this differs from tools like 'get_linkedin_profile', 'get_credly_badges', or 'analyze_commits_impact', which might provide specific data types. There is no indication of prerequisites, exclusions, or optimal contexts for use, leaving the agent to infer usage based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_commit_detailsB

Get detailed commit information including code changes (diff) to analyze impact. Use this to understand what was actually done in commits.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_nameNoName of the repository (use 'default' for single repo or first repo)
commit_hashYesCommit hash (short or full)
max_linesNoMaximum lines of diff to return (default: 500)

TDQS

B3.3/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 that the tool returns 'detailed commit information including code changes (diff)' and is for 'analyze impact,' but it lacks critical behavioral details such as whether this is a read-only operation (implied by 'Get' but not stated), potential rate limits, authentication needs, or how the diff is formatted. For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: two concise sentences that directly state the purpose and usage. The first sentence defines the tool's function, and the second provides a brief guideline. There is no wasted text, making it efficient and easy to parse.

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 moderate complexity (3 parameters, no output schema, no annotations), the description is partially complete. It covers the basic purpose and usage but lacks details on behavioral traits, output format, or how it integrates with sibling tools. Without annotations or an output schema, the description should do more to compensate, but it provides a minimal viable explanation, leaving gaps in full context.

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 input schema has 100% description coverage, so the schema already documents all parameters (repo_name, commit_hash, max_lines) with their types and defaults. The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain parameter interactions, constraints, or usage examples. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.

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 detailed commit information including code changes (diff) to analyze impact.' It specifies the verb ('Get'), resource ('commit information'), and scope ('including code changes (diff)'). However, it doesn't explicitly differentiate from sibling tools like 'get_git_log' or 'analyze_commits_impact', which might have overlapping functionality, so it doesn't reach a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: 'Use this to understand what was actually done in commits.' This suggests the tool is for analyzing commit details, but it doesn't explicitly state when to use it versus alternatives like 'get_git_log' (which might list commits) or 'analyze_commits_impact' (which might assess broader effects). No exclusions or specific contexts are mentioned, so it's not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_credly_badgesC

Get Credly badges and certifications

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of badges to retrieve

TDQS

C2.9/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 states what the tool does but lacks critical details: it doesn't specify whether this retrieves public or private badges, requires authentication, has rate limits, returns structured data, or handles errors. For a tool with zero annotation coverage, this is a significant gap in transparency.

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 a single, efficient sentence that front-loads the core purpose without unnecessary words. However, it could be slightly more structured by including key behavioral details (e.g., 'Retrieves public Credly badges with optional pagination'), but it earns high marks for brevity.

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 of retrieving external data (Credly badges), no annotations, and no output schema, the description is incomplete. It doesn't explain what the return values look like (e.g., JSON array of badges with fields like name, issue date), authentication requirements, or error handling, leaving the agent with insufficient context for reliable use.

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 input schema has 100% description coverage (the 'limit' parameter is well-documented), so the baseline is 3. The description adds no parameter-specific information beyond what the schema provides, such as typical limit values or how results are ordered, but it doesn't need to compensate for schema gaps.

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 verb ('Get') and resource ('Credly badges and certifications'), making the purpose immediately understandable. However, it doesn't distinguish this tool from potential siblings (like 'get_linkedin_profile' or 'read_cv'), which would require mentioning specific data sources or formats unique to Credly.

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. With siblings like 'get_linkedin_profile' and 'read_cv' that might also retrieve professional credentials, there's no indication of when Credly badges are preferred or what context warrants their use over other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cv_guidelinesB

Get CV formatting guidelines and constraints

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 of behavioral disclosure. It only states what the tool does without mentioning any traits like whether it's read-only, requires authentication, has rate limits, or what the output format might be. This is a significant gap 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is front-loaded and appropriately sized for a simple tool, making it highly concise and well-structured.

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 lack of annotations and output schema, the description is incomplete. It doesn't explain what 'guidelines and constraints' entail, the format of the return value, or any behavioral aspects like error handling. For a tool with no structured data to rely on, more context is needed.

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 tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter details, and it appropriately doesn't mention any, earning a high baseline score for this dimension.

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 with a specific verb ('Get') and resource ('CV formatting guidelines and constraints'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'parse_cv_pdf' or 'read_cv', which also deal with CVs but serve different functions, so it doesn't reach the highest score.

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. With sibling tools such as 'parse_cv_pdf' and 'read_cv' that handle CV-related tasks, there's no indication of context, prerequisites, or exclusions, leaving usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_git_logB

Get latest git commits by author from default repo (excludes merge commits)

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoTime range for commits6 months ago

TDQS

B3.2/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 that commits are filtered by author and excludes merge commits, which adds some context beyond basic functionality. However, it lacks details on permissions, rate limits, output format, or error handling, leaving significant gaps for a tool with no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and includes key constraints. Every word earns its place with no redundancy or wasted space, making it highly concise and well-structured.

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 a simple parameter schema, the description is incomplete. It covers basic functionality but lacks crucial details like return format, error cases, or behavioral traits (e.g., pagination, auth needs). For a tool with zero structured coverage beyond inputs, this is inadequate, scoring 2.

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 input schema has 1 parameter with 100% description coverage, providing a baseline of 3. The tool description does not add any additional meaning or details about the 'since' parameter beyond what the schema already states, so it meets but does not exceed the minimum viable level.

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 function with a specific verb ('Get') and resource ('latest git commits'), specifying scope ('by author from default repo') and exclusions ('excludes merge commits'). It distinguishes from some siblings like 'get_git_log_all_repos' by focusing on a default repo, but doesn't explicitly differentiate from 'get_git_log_by_repo' or 'get_commit_details', keeping it at 4 instead of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving commits filtered by author and excluding merges, but provides no explicit guidance on when to use this tool versus alternatives like 'get_git_log_all_repos' or 'get_git_log_by_repo'. It mentions 'default repo' which hints at context, but lacks clear when/when-not statements or named alternatives, resulting in a score of 3 for implied usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_git_log_all_reposC

Get git commits from all configured repositories, grouped by repo

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoTime range for commits6 months ago

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states the basic action and grouping. It lacks critical behavioral details: whether this is a read-only operation, if it requires authentication, how it handles errors (e.g., unconfigured repos), rate limits, or output format (e.g., JSON structure). This is inadequate for a tool that likely queries multiple sources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Get git commits') and adds necessary context ('from all configured repositories, grouped by repo'). There is no wasted wording, making it highly concise and well-structured.

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 of fetching data from multiple repositories and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'configured repositories' means, the output structure, error handling, or dependencies, leaving significant gaps for the agent to operate effectively.

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 schema description coverage is 100%, with the single parameter 'since' documented in the schema. The description adds no parameter-specific information beyond implying grouping by repo, which doesn't directly relate to the input parameter. This meets the baseline of 3 since the schema handles the parameter documentation.

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 action ('Get git commits') and scope ('from all configured repositories, grouped by repo'), which is specific and distinguishes it from siblings like 'get_git_log' (likely single repo) and 'get_git_log_by_repo' (potentially different grouping). However, it doesn't explicitly contrast with all siblings (e.g., 'analyze_commits_impact'), keeping it from a perfect score.

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 doesn't mention prerequisites (e.g., configured repositories), exclusions, or compare it to siblings like 'get_git_log' or 'list_repos', leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_git_log_by_repoC

Get git commits from a specific repository by name

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_nameYesName of the repository (e.g., 'CompanyA', 'Personal')
sinceNoTime range for commits6 months ago

TDQS

C2.9/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 states the tool retrieves commits but offers no information on permissions, rate limits, output format, or error handling. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without any fluff. It's front-loaded with the core purpose, making it easy to parse quickly, and every word contributes to understanding the tool's intent.

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 lack of annotations and output schema, the description is insufficient for a tool that retrieves data. It doesn't explain what the output looks like (e.g., commit list format), potential errors, or dependencies, leaving the agent with incomplete context for effective use.

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?

Schema description coverage is 100%, with clear documentation for both parameters in the input schema. The description adds no additional meaning beyond what's already in the schema, such as explaining the relationship between 'repo_name' and 'since' or providing usage examples. Baseline 3 is appropriate when the schema handles parameter documentation adequately.

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 action ('Get git commits') and target resource ('from a specific repository by name'), making the purpose immediately understandable. However, it doesn't differentiate itself from sibling tools like 'get_git_log' or 'get_git_log_all_repos', which appear to serve similar functions, so it misses the highest score.

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. With sibling tools like 'get_git_log' and 'get_git_log_all_repos' available, there's no indication of how this tool differs in scope or context, leaving the agent to guess based on names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_jira_ticketsC

Get Jira tickets assigned to or created by user

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceNoTime range for tickets6 months ago
statusNoTicket status to filterDone

TDQS

C2.9/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 states the tool 'gets' tickets, implying a read operation, but doesn't disclose any behavioral traits such as authentication needs, rate limits, pagination, or what happens if no tickets are found. This is a significant gap for a tool with no 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Get Jira tickets assigned to or created by user'. It's front-loaded with the core purpose and has zero wasted words, making it highly concise and well-structured.

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 (a read operation with filtering parameters), no annotations, and no output schema, the description is incomplete. It lacks details on behavioral traits, usage context, and what the return values might be. For a tool with two parameters and no structured output, the description should provide more context to be fully helpful.

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 input schema has 100% description coverage, with clear descriptions for both parameters ('since' and 'status'). The description doesn't add any meaning beyond what the schema provides, as it doesn't mention parameters at all. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description.

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 Jira tickets assigned to or created by user'. It specifies the verb ('Get') and resource ('Jira tickets'), and clarifies the scope (tickets related to the user). However, it doesn't explicitly differentiate from sibling tools, which are unrelated to Jira tickets (e.g., analyze_commits_impact, get_linkedin_profile), so it's not a perfect 5.

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 doesn't mention prerequisites, context for usage, or exclusions. While sibling tools are unrelated, the description lacks any usage instructions, leaving the agent to infer based on the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_linkedin_profileB

Get LinkedIn profile summary (headline, about, experience)

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?

With no annotations provided, the description carries full burden for behavioral disclosure. It states what data is retrieved but doesn't mention authentication requirements, rate limits, data freshness, or what happens if no profile exists. This leaves significant behavioral gaps for a data retrieval 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 a single sentence that efficiently communicates the core functionality. It's front-loaded with the main purpose and lists specific data components without unnecessary elaboration.

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 covers the basic purpose adequately. However, for a data retrieval tool, it should ideally mention authentication or data source context, especially with no output schema to clarify return values.

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 tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, earning a baseline score of 4 for not adding unnecessary information.

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 with a specific verb ('Get') and resource ('LinkedIn profile summary'), listing key components (headline, about, experience). However, it doesn't differentiate from sibling tools since there are no other LinkedIn-related tools in the sibling list, so it can't demonstrate sibling differentiation.

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 doesn't mention prerequisites, context, or exclusions, and with no similar tools in the sibling list, there's no explicit comparison or usage context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reposB

List all configured git repositories

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 for behavioral disclosure. It mentions 'all configured git repositories' which implies a read operation, but doesn't specify whether this requires authentication, what format the output takes, or if there are any rate limits. The description is minimal and lacks important behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without any wasted words. It's appropriately sized for a simple tool and gets straight to the point.

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 simple read operation with no parameters and no output schema, the description is minimally adequate. However, without annotations or output schema, it should ideally provide more context about what 'configured git repositories' means and what format the list takes. The description is complete enough for basic understanding but lacks depth.

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 tool has 0 parameters with 100% schema description coverage, so the schema already fully documents the lack of inputs. The description doesn't need to add parameter information, and it correctly doesn't mention any parameters. This meets expectations for a parameterless tool.

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 action ('List') and the resource ('all configured git repositories'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_git_log_all_repos', but the verb+resource combination is specific enough for basic understanding.

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 like 'get_git_log_all_repos' or 'get_git_log_by_repo'. It simply states what the tool does without context about appropriate use cases or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

parse_cv_pdfC

Parse an existing CV PDF file to extract text content and structure

ParametersJSON Schema
NameRequiredDescriptionDefault
pdfPathYesRelative or absolute path to the CV PDF file

TDQS

C2.9/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 parsing and extraction but doesn't cover important aspects like error handling (e.g., invalid PDFs), performance characteristics (e.g., processing time), or output format details. This leaves significant gaps in understanding the tool's behavior beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary details. It uses clear language and avoids redundancy, making it easy to parse quickly. Every word contributes directly to understanding the tool's function.

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 of parsing PDFs and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'extract text content and structure' entails in practice, such as the format of the extracted data or potential limitations. For a tool with no structured behavioral hints, more detail is needed to ensure reliable use.

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 input schema has 100% description coverage, with 'pdfPath' clearly documented as 'Relative or absolute path to the CV PDF file.' The description adds no additional parameter semantics beyond what the schema provides, such as file format requirements or path examples. This meets the baseline for high schema coverage but doesn't enhance understanding.

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: 'Parse an existing CV PDF file to extract text content and structure.' It specifies the verb (parse), resource (CV PDF file), and outcome (extract text content and structure). However, it doesn't explicitly differentiate from sibling tools like 'read_cv', leaving some ambiguity about when to use one versus the other.

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 doesn't mention sibling tools like 'read_cv' or 'get_cv_guidelines', nor does it specify prerequisites such as needing an existing PDF file. The context is implied but not explicit, leaving the agent without clear usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_cvB

Read current CV (LaTeX)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/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 reads a CV, implying a read-only operation, but doesn't specify what 'current' means (e.g., file path, default location), potential errors, or output format. This leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without fluff. It's appropriately sized and front-loaded, making it easy for an agent to parse quickly.

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 annotations, no output schema), the description is adequate as a minimum viable explanation. However, it lacks details on what 'current' entails or the output format, which could be important for an agent to use it correctly without trial and error.

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 tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description appropriately doesn't add unnecessary information beyond confirming the lack of inputs.

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 action ('Read') and the resource ('current CV (LaTeX)'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'parse_cv_pdf' or 'get_cv_guidelines', which might also involve CV operations, so it doesn't reach the highest score.

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 like 'parse_cv_pdf' or 'generate_enhanced_cv'. It lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_winsB

Read wins.md achievements file

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 of behavioral disclosure. It states the tool reads a file but doesn't describe what happens if the file is missing, the format of the output, any permissions required, or error handling. For a tool with zero annotation coverage, this is a significant gap in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes directly to understanding the tool's purpose.

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 lack of annotations and output schema, the description is incomplete for a tool that reads a file. It doesn't explain what 'wins.md' contains, the expected output format, or any behavioral traits like error conditions. For a tool with no structured data to rely on, the description should provide more context to be fully helpful.

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 tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics beyond what the schema provides, and it appropriately doesn't mention any parameters. 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 action ('Read') and the target resource ('wins.md achievements file'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from sibling tools like 'read_cv' or 'parse_cv_pdf', which also involve reading files, so it doesn't fully distinguish its unique scope among alternatives.

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 doesn't mention context, prerequisites, or exclusions, such as when to choose 'read_wins' over 'read_cv' or other file-reading tools. This leaves the agent without clear usage instructions.

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. 14 tool updates
    • First observedanalyze_commits_impact
    • First observedgenerate_enhanced_cv
    • First observedget_commit_details
    • First observedget_credly_badges
    • First observedget_cv_guidelines
    • First observedget_git_log
    • First observedget_git_log_all_repos
    • First observedget_git_log_by_repo
    • First observedget_jira_tickets
    • First observedget_linkedin_profile
    • First observedlist_repos
    • First observedparse_cv_pdf
    • First observedread_cv
    • First observedread_wins

TDQS

B3.2/5.0
Disambiguation3/5

There is significant overlap between several tools, particularly the commit-related ones: analyze_commits_impact, get_commit_details, get_git_log, get_git_log_all_repos, and get_git_log_by_repo all deal with retrieving commit data, which could confuse an agent about which to use. However, descriptions provide some differentiation (e.g., impact analysis vs. general logs, single vs. all repos), and other tools like get_credly_badges and get_linkedin_profile have distinct purposes.

Naming Consistency4/5

Tool names follow a consistent verb_noun pattern using snake_case throughout, such as generate_enhanced_cv and get_jira_tickets. There are no deviations in style, making them predictable and readable, though some verbs like 'analyze' and 'get' are used interchangeably for similar functions, which is a minor inconsistency.

Tool Count4/5

With 14 tools, the count is reasonable for a CV/resume builder that integrates multiple data sources like Git, Jira, LinkedIn, and Credly. It's slightly on the higher side but well-scoped to cover various aspects of data retrieval and processing, without feeling overly bloated or insufficient for the domain.

Completeness4/5

The tool set covers key areas for CV building: data extraction from Git, Jira, LinkedIn, and Credly; CV parsing and reading; and CV generation. Minor gaps exist, such as no tools for updating or deleting CV content or managing configurations, but core workflows (data gathering to CV enhancement) are supported, allowing agents to work effectively.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • A
    license
    A
    quality
    B
    maintenance
    Tailors LaTeX rƩsumƩs, CVs, and cover letters to job descriptions by injecting truthfully-selected content from a master CV, compiling PDFs, and logging applications.
    11
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables users to tailor a one-page LaTeX CV to a job posting by fetching relevant facts from a YAML file, rendering a LaTeX document from id-based selections, and compiling it to PDF, without wasting tokens on repetitive CV reads or compiler logs.
    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/eyaab/cv-resume-builder-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server