accueil / serveurs / Dev & Code / io.github.Devabubakar/atsprep
io.github.Devabubakar/atsprep
serveur MCP (Model Context Protocol) · atsprep 2.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.Devabubakar/atsprep est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.Devabubakar/atsprep » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 18 outils
- action_verbs≈ 187 tokens
Suggest resume action verbs. Pass a weak opener ("responsible for", "helped") for direct swaps and why they read weak, or the work in plain words ("trained new staff", "cut costs") for the matching verb groups with an example bullet. Leave query empty for every group.
Paramètres, retour & exemple (1)
Paramètresquery· string · optionnel
Optional. A weak verb or phrase, or the kind of work in plain words.
Exemple d'appel{"name": "action_verbs", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_bullets≈ 222 tokens
Give each resume bullet a score, a verdict and specific fixes with stable codes: weak openers, missing scale or result, numbers that show neither, hard-to-believe claims, first person, vague claims. The same rules and severities as check_resume. Up to 30 bullets of up to 600 characters each; blank items are skipped and reported by index. Rules version 2026-10-20.2.
Paramètres, retour & exemple (1)
Paramètresbullets· array · requis
One resume bullet per item, at most 30.
Exemple d'appel{"name": "check_bullets", "arguments": {"bullets": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_linkedin_about≈ 205 tokens
Check a LinkedIn About section: what shows before "see more" on a phone and on a computer, whether the opening says who they are, results with numbers, buzzwords, a clear next step, and the 2,600-character limit.
Paramètres, retour & exemple (2)
Paramètresrole· string · optionnel
Optional. The job title the user wants to be found for.about· string · requis
The whole About section.
Exemple d'appel{"name": "check_linkedin_about", "arguments": {"about": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_linkedin_headline≈ 254 tokens
Check a LinkedIn headline: length against the 220-character limit, what shows in search results before the cut, whether it leads with a searchable job title, and buzzwords or vague claims to replace.
Paramètres, retour & exemple (4)
Paramètresrole· string · optionnel
Optional. The job title the user wants to be found for.focus· string · optionnel
Optional. Their specialty or industry.skills· string · optionnel
Optional. Main skills, comma separated.headline· string · requis
The headline as it reads now.
Exemple d'appel{"name": "check_linkedin_headline", "arguments": {"headline": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_resume≈ 388 tokens
Score a resume from 0 to 100 with ATSPrep's fixed rules and list each issue with a stable code, where it is and how to fix it. Also reports how the text parsed (roles, experience and project bullets, education, skills and skill groups, input and scored word counts, with definitions). Role-specific advice, such as seniority signals, is given only when the resume names a target title or you pass target_role or job_description; with job_description the score becomes the fit for that job (0.5 requirements met, 0.3 evidence, 0.2 readability, capped for missing hard requirements or impossible claims) and it also returns job_fit and a keyword match summary. Resume up to 30,000 characters. Rules version 2026-10-20.2.
Paramètres, retour & exemple (3)
Paramètresresume_text· string · requis
The whole resume as plain text, one heading, role or bullet per line.target_role· string · optionnel
Optional. The job title the candidate is applying for.job_description· string · optionnel
The full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.
Exemple d'appel{"name": "check_resume", "arguments": {"resume_text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - draft_cover_letter≈ 532 tokens
Draft a cover letter from the user's resume and the job posting with fixed rules: name, contact details and up to two results from the resume, the job title and top keywords from the posting. Facts that are missing show as [square-bracket] gaps for the user to fill, never as stand-ins. Returns the letter, the gaps and a checklist.
Paramètres, retour & exemple (12)
Paramètreswhy· string · optionnel
Optional. Why this company, in the user's words.name· string · optionnel
Optional. Overrides the name read from the resume.role· string · optionnel
Optional. The job title they are applying for.email· string · optionnel
Optional.phone· string · optionnel
Optional.style· string · optionnel · classic | direct | career-change
classic (default), direct, or career-change.company· string · optionnel
Optional. The company they are applying to.results· string · optionnel
Optional. One or two real results, one per line.resume_text· string · optionnel
The whole resume as plain text, one heading, role or bullet per line.current_title· string · optionnel
Optional. The user's current or last job title.hiring_manager· string · optionnel
Optional. The hiring manager's name, if known.job_description· string · optionnel
The full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.
Exemple d'appel{"name": "draft_cover_letter", "arguments": {"why": "texte", "name": "texte", "role": "texte", "email": "texte", "phone": "texte", "style": "classic"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - draft_resignation_letter≈ 505 tokens
Draft a short, professional resignation letter and work out the last working day from the notice period. Missing facts show as [square-bracket] gaps. Returns the letter, the last day and a checklist (notice stated, no complaints, length).
Paramètres, retour & exemple (12)
Paramètresdate· string · optionnel
Optional. The day the letter is handed in, YYYY-MM-DD. Default today (UTC).name· string · optionnel
Optional. The user's name.role· string · optionnel
Optional. Their job title.tone· string · optionnel · formal | warm | short
formal (default), warm or short.notice· string · optionnel · 1w | 2w | 4w
Notice period: 1w, 2w (default) or 4w. Use notice_days for anything else.reason· string · optionnel · none | new-role | relocation | study
Optional. A one-line reason; none (default) gives no reason.thanks· string · optionnel
Optional. Something specific to thank them for.company· string · optionnel
Optional.manager· string · optionnel
Optional. Their manager's name.notice_days· integer · optionnel
Optional. A notice period in days, instead of notice.offer_handover· boolean · optionnel
Offer to help hand over. Default true.working_days_only· boolean · optionnel
Count notice in working days (Monday to Friday). Default false: calendar days.
Exemple d'appel{"name": "draft_resignation_letter", "arguments": {"date": "texte", "name": "texte", "role": "texte", "tone": "formal", "notice": "1w", "reason": "none"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - fetch_job_post≈ 205 tokens
Read a public job posting from its link and return the title, company, location and full description as plain text, ready for match_job, tailor_resume, keyword_scan or interview_questions. Reads LinkedIn, Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Workday and most company careers pages. Some sites block reading; then ask the user to paste the text.
Paramètres, retour & exemple (1)
Paramètresurl· string · requis
The job posting's public link (https).
Exemple d'appel{"name": "fetch_job_post", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - generate_linkedin_headline≈ 373 tokens
Write LinkedIn headline options from the user's answers, each in a proven pattern (title and focus, title and result, title and who you help…), with its length and roughly what shows in search before the cut. Uses only the answers given.
Paramètres, retour & exemple (7)
Paramètresnext· string · optionnel
Optional. What they want next, e.g. "open to product roles in London".role· string · requis
The job title the user wants to be found for.focus· string · optionnel
Optional. Their specialty or industry, e.g. "B2B SaaS onboarding".years· string · optionnel
Optional. Years of experience, as a number.skills· string · optionnel
Optional. Main skills, comma separated.results· string · optionnel
Optional. One or two real results, one per line, with the numbers the user gave.audience· string · optionnel
Optional. Who they help, e.g. "early-stage startups".
Exemple d'appel{"name": "generate_linkedin_headline", "arguments": {"role": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - improve_bullet≈ 304 tokens
Check one resume bullet with the fixed rules (score, verdict, fixes) and suggest up to three stronger rewrites that keep every fact as given. Where a number would help, the rewrite leaves a slot such as [X%] for the user to fill. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.
Paramètres, retour & exemple (3)
Paramètresrole· string · optionnel
Optional. The job title this bullet sits under.bullet· string · requis
One resume bullet.company· string · optionnel
Optional. The employer this bullet sits under.
Exemple d'appel{"name": "improve_bullet", "arguments": {"bullet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - interview_questions≈ 303 tokens
Interview questions to practise, each with what the interviewer is listening for, plus STAR answer tips. With a job_description, questions come from its skills and duties, along with what to research and questions to ask; with resume_text, from the user's own roles. Rule-based.
Paramètres, retour & exemple (4)
Paramètreskind· string · optionnel · all | posting | resume | about | behavioural | role | closing
Optional. One group: posting, resume, about, behavioural, role or closing. Default all.limit· integer · optionnel
How many questions. Default 12.resume_text· string · optionnel
The whole resume as plain text, one heading, role or bullet per line.job_description· string · optionnel
Optional. The job posting as plain text.
Exemple d'appel{"name": "interview_questions", "arguments": {"kind": "all", "limit": 1, "resume_text": "texte", "job_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - keyword_scan≈ 224 tokens
List the skills, tools and requirements a job posting asks for, ranked by how hard it leans on each (repetition, position, required or preferred headings), with the high-priority ones flagged. Use match_job to see which a resume already shows. Posting 120–20,000 characters. Rules version 2026-10-20.2.
Paramètres, retour & exemple (1)
Paramètresjob_description· string · requis
The full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.
Exemple d'appel{"name": "keyword_scan", "arguments": {"job_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_templates≈ 114 tokens
List ATSPrep's resume designs, each with a link that opens Studio in that design, and the example resumes by role, each with a link that opens it in Studio and a preview image.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_templates", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - match_job≈ 288 tokens
Compare a resume with a job posting: the posting's keywords found in the resume (with how they matched: exact, normalized, alias or stem, and the matched span), the ones missing with the posting sentence they come from, each term's weight and whether the posting lists it as required or preferred, and weighted overall, required and preferred coverage. Posting 120–20,000 characters. Rules version 2026-10-20.2.
Paramètres, retour & exemple (2)
Paramètresresume_text· string · requis
The whole resume as plain text, one heading, role or bullet per line.job_description· string · requis
The full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.
Exemple d'appel{"name": "match_job", "arguments": {"resume_text": "texte", "job_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - open_in_studio≈ 178 tokens
Make a link that opens this resume in ATSPrep Studio, the free editor, so the user can fix it, pick a template and download a PDF. The text travels in the link's #fragment, which is never sent to a server.
Paramètres, retour & exemple (1)
Paramètresresume_text· string · requis
The whole resume as plain text, one heading, role or bullet per line.
Exemple d'appel{"name": "open_in_studio", "arguments": {"resume_text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - review_interview_answer≈ 395 tokens
Review the user's answer to an interview question: a rating, length and speaking time, STAR coverage for stories, filler words, specific checks, the follow-up an interviewer would likely ask, and a stronger version that keeps to the user's own facts. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.
Paramètres, retour & exemple (4)
Paramètreskind· string · optionnel · story | pitch | plan | number | close
story (default: a past example, scored on STAR), pitch (tell me about yourself), plan (how would you…), number (salary or a figure) or close (questions for them).answer· string · requis
The user's answer, as they would say it.question· string · requis
The interview question.resume_text· string · optionnel
Optional. The resume, so the stronger answer can use real facts from it.
Exemple d'appel{"name": "review_interview_answer", "arguments": {"answer": "texte", "question": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - tailor_resume≈ 382 tokens
Tailor a resume to a job posting: the posting's keywords the resume is missing (from match_job's rules) and suggested rewrites of the user's own summary and bullets that bring in the posting's terms only where the existing line already supports them. Each suggestion lists the posting terms it borrowed and confirm_with_user lists terms to ask about, never to add unasked. End the reply with next_step: the link that opens the resume in ATSPrep to check the edits and download. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.
Paramètres, retour & exemple (2)
Paramètresresume_text· string · requis
The whole resume as plain text, one heading, role or bullet per line.job_description· string · requis
The full job posting as plain text, including its requirements (120–20,000 characters). For a link, call fetch_job_post first.
Exemple d'appel{"name": "tailor_resume", "arguments": {"resume_text": "texte", "job_description": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - write_summary≈ 276 tokens
Draft professional summaries from a resume: rule-based drafts built from its title, skills and the bullets that carry a figure, plus AI drafts that use only facts in the resume. Part of the answer is drafted by an AI model (Gemma 4, with Llama 3.3 70B as a backup, on Cloudflare Workers AI) behind ATSPrep's guard, which drops any figure, name or tool the user's text doesn't contain. If the AI part is unavailable, the rule-based part still comes back and ai.message says why.
Paramètres, retour & exemple (2)
Paramètresresume_text· string · requis
The whole resume as plain text, one heading, role or bullet per line.target_title· string · optionnel
Optional. The job title the summary should aim at.
Exemple d'appel{"name": "write_summary", "arguments": {"resume_text": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».