CV Chap Chap
Server Details
Helps job seekers, especially in Africa, write CVs: checks a CV against clear rules, explains CV conventions for 16 African countries, suggests CV designs, searches current jobs in Tanzania and opens the finished CV in a professional template. No sign-in.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: checking a CV, finding templates, getting country-specific format guidance, saving a draft, and searching jobs. The CV-related tools could seem adjacent, but their descriptions sharply separate feedback, design selection, formatting advice, and persistence.
All five tools use a consistent snake_case verb_noun pattern: check_cv, find_cv_templates, get_cv_format_guide, save_cv_draft, search_jobs. There is no mixing of camelCase, vague verbs, or inconsistent conventions.
Five tools is well-scoped for a CV assistance server that also includes job search. Each tool corresponds to a distinct user need, with no obvious filler or redundant operations.
The surface covers the core workflow: find a template, understand country conventions, check a CV, save a draft, and search jobs. Minor gaps exist around retrieving or managing saved drafts via MCP, and job search is limited to Tanzania, but these are workable limitations rather than severe omissions.
Available Tools
5 toolscheck_cvCheck a CVARead-onlyIdempotentInspect
For a person who wants feedback on their CV. Checks it against the same rules the CV Chap Chap builder uses: complete contact details, a summary, at least two duties and dates for every job, education, at least five skills and nothing left in [brackets]. Returns each check with a fix. Reads only the CV it is given and stores nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| cv | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces rather than contradicts them with 'Reads only the CV it is given and stores nothing' – useful reassurance about no persistence. 'Returns each check with a fix' discloses the output shape, which no output schema provides, though it doesn't describe severity levels or ordering of results.
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?
Two front-loaded sentences: purpose plus rule set first, behavioral guarantees last. Every clause carries information – the rule enumeration is dense but each item maps to a check the agent will receive back.
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, read-only validation tool with no output schema, the description covers what is checked, that fixes are returned, and that nothing is stored. It doesn't say what the result container looks like (pass/fail counts, ordering) but is otherwise sufficient to invoke correctly.
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?
Top-level schema coverage is 0% but nested fields carry many descriptions, so the schema does much of the work for individual attributes. The description adds value by naming which parts are actually exercised (contact details, summary, duties/dates, education, skills, brackets), but gives no format or shape details for the single 'cv' object beyond that.
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?
States a specific verb and resource ('Checks' a 'CV') and pins down the exact rule set used, which clearly separates it from get_cv_format_guide (guidance) and save_cv_draft (persistence). An agent can identify the tool from the first sentence.
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?
'For a person who wants feedback on their CV' gives a clear usage context, and the rule list implies it is a validation step rather than a generation step. It stops short of naming alternatives or stating when not to call it (e.g. before vs. after save_cv_draft).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_cv_templatesFind CV templatesARead-onlyIdempotentInspect
For a person choosing how their CV should look. Lists CV Chap Chap designs by style (professional, modern, creative, minimal) and with or without a photo, with a name, short description, id and thumbnail for each. Returns up to 12 designs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| style | No | ||
| withPhoto | No | true for designs with a photo, false for designs without |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, closed-world and non-destructive behavior, so the description only needs to add context. It does: it discloses the result cap (up to 12), the default-style filtering semantics and the exact per-item fields returned. It does not mention permissions or latency, but those are minor for a read-only catalog lookup.
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?
Three short sentences and a sentence fragment, front-loaded with purpose followed by the filter dimensions and the return shape. Each sentence carries content; only the opening fragment is slightly awkward in construction.
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?
No output schema exists, and the description compensates by listing the returned fields and the cap. All three parameters are optional, keeping the call simple, but the default limit value is unexplained.
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 coverage is only 33%, so the description must compensate. It does so for style by naming all four enumeration values and for withPhoto by explaining the with/without distinction; it also implies the 12-item ceiling for limit, though the default of 6 is never explained.
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 names a specific verb (Lists) and resource (CV Chap Chap designs) and enumerates the filter dimensions (style, photo) plus returned fields. It is clearly a read/list operation, distinct from check_cv, save_cv_draft and search_jobs.
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?
"For a person choosing how their CV should look" gives a clear situational trigger for when to call this tool. However, it does not state exclusions or point to the closest alternative, such as get_cv_format_guide for format rules rather than design browsing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cv_format_guideCV format guide for a countryARead-onlyIdempotentInspect
For a person preparing a CV for a job in a particular African country. Returns how CVs are usually written for employers there: length, photo, personal details, education, referees, file format, how people apply and the main job sites. Covers the 16 countries in the input list only.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a read-only, idempotent, closed-world, non-destructive lookup, so safety behavior needs no restating. The description adds useful scope detail (it is reference guidance, limited to 16 countries), but says nothing about output format, length, or whether the content is static versus localized/updated, so the added behavioral value is modest.
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?
Three short sentences, front-loaded with the target user and followed by the returned fields, then the coverage limit. The opening 'For a person preparing a CV...' is slightly preamble-like but does earn its place by establishing audience and context; otherwise there is no waste.
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?
Because there is no output schema, the description carries the burden of describing the return value, and it does so by listing the specific sections covered. What remains unstated — the response shape (text vs. structured), language, and depth per section — is minor for a static reference lookup, so it is close to complete.
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%, but the single parameter is a fully enumerated 16-value country list, so valid inputs are self-documenting in the schema. The description only reinforces the enum boundary ('the input list only') rather than adding meaning about the parameter, which is the baseline level.
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 names a specific resource (CV writing conventions in a given African country) and enumerates exactly what is returned: length, photo, personal details, education, referees, file format, application method, job sites. That enumeration makes it immediately distinguishable from siblings like find_cv_templates (templates) and check_cv (review), without opening any schema.
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?
It gives a concrete usage context ('For a person preparing a CV for a job in a particular African country') and an explicit boundary ('Covers the 16 countries in the input list only'), which tells the agent when the tool is applicable and when it is not. It stops short of naming alternatives, so an agent must infer that template-finding or checking belongs to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_cv_draftOpen the CV in CV Chap ChapAInspect
For a person who wants to see or keep the CV they wrote in the conversation. Saves it as a new private draft on CV Chap Chap and returns a private link that opens it in the chosen CV Chap Chap design, where it can be previewed and edited. Each call saves a separate new draft; nothing existing is changed. The link works for 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| cv | Yes | ||
| templateId | No | A design id from find_cv_templates |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it explains that every call creates a separate new draft (matching idempotentHint=false), that nothing existing is modified (corroborating destructiveHint=false), and that the returned link expires after 30 days. The privacy framing (private draft, private link) is context the annotations cannot express.
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?
Four short sentences, each doing distinct work: purpose, mutation semantics, duplicate-draft warning, link lifetime. The key constraint (each call creates a new draft) is placed early enough to prevent accidental repeat calls.
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 complex nested-schema write tool with no output schema, the description covers the return value (private link), lifetime, and side effects. The remaining gap is minimal guidance on preparing the cv payload or obtaining templateId, which the schema largely supplies.
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?
At 50% schema coverage, the description adds little parameter detail: it alludes to 'the chosen CV Chap Chap design' for templateId but doesn't say where the id comes from (the schema does, via find_cv_templates), and says nothing about the cv object's required fullName or its sections. Baseline 3 is appropriate since the nested schema carries the structural burden.
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?
States a concrete verb and resource: saves the CV as a new private draft and returns a private link. It is clearly distinguishable from check_cv (validation) and find_cv_templates (design lookup), and the title's vague 'Open the CV' is corrected by the description.
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?
'For a person who wants to see or keep the CV they wrote in the conversation' gives a clear triggering context, and 'chosen CV Chap Chap design' implies a template must be picked first. It never names the sibling tools (find_cv_templates, check_cv) or states when not to call it, so it falls short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_jobsSearch current jobs in TanzaniaARead-onlyIdempotentInspect
For a person looking for a job in Tanzania. Searches open vacancies on the CV Chap Chap jobs board, newest first, and returns up to 10 with title, employer, location, type, deadline and a link to the full advert. Covers Tanzania only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Job title or keyword, e.g. accountant, driver, NGO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), yet the description still adds real behavior: results are newest-first, capped at 10, and enumerate the fields returned. It doesn't mention error or empty-result behavior, but the added ordering and cap are substantive beyond the annotations.
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?
Three tight sentences with the use case, mechanism, and return shape front-loaded in that order. The opening audience framing ('For a person looking for a job') is slightly redundant with 'Searches open vacancies... in Tanzania' but still orients before the specifics.
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?
With no output schema, the description usefully lists the returned fields and result cap, and it pins down geographic scope. What's missing is guidance on the keyword parameter and on behavior with no matches — minor for a two-parameter read-only lookup.
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 coverage is 50%: `query` is documented in the schema, and `limit` self-documents via min/max/default. The description reinforces the cap ('returns up to 10') but never tells the agent it can pass a title/keyword filter, so it does not fully close the coverage gap.
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?
States a specific verb and resource — 'searches open vacancies on the CV Chap Chap jobs board' — plus explicit scope ('Tanzania only'). This is clearly distinguishable from the CV-authoring siblings (check_cv, save_cv_draft, find_cv_templates), which do not touch job listings.
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?
'For a person looking for a job in Tanzania' establishes the use case and 'Covers Tanzania only' rules out out-of-scope queries. It never names an alternative tool or says when not to call it, but no sibling overlaps in function, so the remaining gap is small.
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.
5 tool updates
- First observed
check_cv - First observed
find_cv_templates - First observed
get_cv_format_guide - First observed
save_cv_draft - First observed
search_jobs
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.