decroche-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cv_parseA | Parse a CV file (PDF/DOCX/MD/TXT) into a validated JSON Resume, detected sections, a parse-confidence score, and warnings. |
| cv_xyz_scaffoldA | Decompose every highlight bullet in a CV into an XYZ scaffold. For each highlight returns: detected verb, achievement object (X), metric-present flag (Y), method clause (Z), a fill-in template, and a prompt to request a real metric when Y is absent. NEVER fabricates metrics — only asks the candidate for real data. |
| cv_verify_claimsA | Flag quantified achievements, leadership claims, named project outcomes, certifications, and awards that should be backed by a verifiable artefact. Returns only actionable claims (needs_evidence=True). Suggests the artefact type for each (dashboard link, repo URL, credential ID, reference contact, etc.). The host LLM asks the candidate to supply the actual link — never fabricated. |
| cv_renderA | Parse a CV file then render ATS-safe export artifacts. Produces:
Returns a Render model with:
The ats_safe_proof proves the exported DOCX is machine-readable. All artifacts are written to out_dir (or a system temp dir if omitted). |
| market_getA | Return the currently active market profile. |
| market_setA | Set the active market profile (e.g. 'fr', 'us') and return it. |
| market_availableA | List available market profile ids. |
| ats_parse_simA | Simulate how an ATS parses the CV file. Analyses the raw file structure (columns, tables, header/footer contact, file size, text density) and applies the target ATS's quirks rules to compute a parsability score (0–100) and a list of breakages with fixes. |
| ats_redflag_scanA | Scan a parsed CV for content red flags. Implements all red-flag checks from data/redflags.yaml: passive voice, duty bullets without metric/strong verb, employment gaps, job-hopping, banned buzzwords, year-only dates, unprofessional email, wrong photo for market, AI-generic phrasing, no quantification. |
| ats_screener_briefA | Build a screener simulation kit for Claude. Produces the plain text the machine sees after ATS parsing, a fixed scoring rubric, and deterministic keyword requirements extracted from the offer. Claude then plays the AI screener on this exact text. |
| ats_score_reportA | Generate a before/after score report. Combines the parsability score, optional match score, and redflag count into a ScoreReport with screener_readiness tier and optional delta. |
| ats_detect_adversarialA | Detect adversarial tactics embedded in a submitted CV (spec §2). Scans the CV file for three classes of adversarial content:
This tool ONLY detects adversarial content — it never produces it. |
| match_scoreB | Compute a skill-coverage match score between a CV file and a job offer. |
| match_dedupeA | Remove duplicate job postings from a list. Uses SHA-256 blocking on normalised company|city|title, then within each
block merges postings where |
| match_keyword_gapA | Return the top-N offer keywords not covered by the CV, ranked by salience. Each gap is classified as:
|
| match_success_probabilityB | Estimate application success probability deterministically. Combines fit_score with recency, competition proxy, optional network proximity, and optional applicant count into a single 0–100 score with per-factor breakdown. Unknown signals default to neutral and are flagged in |
| match_company_intelA | Derive company intelligence from job postings + produce research checklist. Only asserts facts derivable from the provided postings (open_roles_count,
locations, remote_ratio, tech_tags). Everything else (Glassdoor rating,
funding, layoff signals, visa sponsorship) is placed in a research_checklist
with status |
| source_greenhouseA | Fetch all live jobs from a Greenhouse job board (no auth required). |
| source_leverA | Fetch all published postings from a Lever company page (no auth required). |
| source_ashbyA | Fetch all listed jobs from an Ashby job board (no auth required). |
| source_recruiteeA | Fetch all open offers from a Recruitee company page (no auth required). |
| source_workableA | Fetch all published jobs from a Workable account (no auth required for public listings). |
| source_smartrecruitersA | Fetch all public postings from SmartRecruiters Posting API (no auth required). |
| source_remoteokA | Fetch all remote jobs from RemoteOK API (no auth required; attribution: remoteok.com). Returns: SourceResult with all normalised job postings. |
| source_remotiveA | Fetch remote jobs from Remotive API, optionally filtered by search query. |
| source_arbeitnowA | Fetch all jobs from the Arbeitnow public job board (no auth required). Returns: SourceResult with all normalised job postings. |
| source_france_travailB | Fetch jobs from France Travail (Pôle Emploi) API v2. Requires env: FRANCE_TRAVAIL_ID, FRANCE_TRAVAIL_SECRET |
| source_adzunaB | Fetch jobs from Adzuna (19 countries). Requires env: ADZUNA_APP_ID, ADZUNA_APP_KEY |
| source_jsearchB | Fetch jobs from JSearch (RapidAPI) — aggregates LinkedIn/Indeed/Glassdoor legally. Requires env: JSEARCH_RAPIDAPI_KEY |
| source_usajobsA | Fetch US federal jobs from USAJobs.gov. Requires env: USAJOBS_KEY, USAJOBS_EMAIL |
| source_reedB | Fetch UK jobs from Reed.co.uk. Requires env: REED_KEY |
| source_themuseA | Fetch jobs from The Muse. Optional env: THEMUSE_KEY (works without key but rate-limited). |
| source_joobleC | Fetch jobs from Jooble international aggregator. Requires env: JOOBLE_KEY |
| source_labonneboiteA | Fetch companies likely to hire from La Bonne Boîte (hidden job market). La Bonne Boîte surfaces companies likely to recruit in a given ROME code
and commune, even when they have published no formal job offer. Each result
is a JobPosting with a Requires env: FRANCE_TRAVAIL_ID, FRANCE_TRAVAIL_SECRET Scope: api_labonneboitev1 (partner must subscribe in the FT developer portal) NOTE: scope acceptance requires partner subscription to the La Bonne Boîte product. Live verification of the endpoint and scope is needed before production use — see project report. |
| source_careerjetB | Fetch jobs from Careerjet public API (international job aggregator). Optional env: CAREERJET_AFFID — affiliate ID for higher rate limits. Works without it in some locales (reduced results possible). |
| source_search_allA | Fetch and aggregate jobs from multiple keyless providers concurrently. Network failures per provider are silently dropped (not raised). Returns: Flat list of all collected JobPosting objects across all providers. |
| source_source_search_marketA | Search across the maximum number of job sources for maximum breadth. Fans out across all boards in the built-in Results are deduplicated, query-filtered, and sorted by date descending. |
| source_monitor_snapshotA | Take a snapshot of current job postings for a keyless provider. Writes a JSON file containing the list of current source_ids to |
| source_monitor_diffA | Detect new job postings since a previous snapshot. Fetches current postings for the provider+key and compares source_ids against
the previously saved snapshot at |
| recruiter_identifyA | Parse a user-pasted text block to identify a recruiter. Operates ONLY on the provided text — never fetches any URL. Accepts LinkedIn profile text copy-pasted by the user, email signatures, or company "team" page text. |
| recruiter_qualifyB | Score a recruiter's fit against a target job/company context. |
| recruiter_find_contactA | Find or guess a recruiter's email. If DROPCONTACT_KEY env var is set, calls Dropcontact API (CNIL-audited). Otherwise generates a pattern guess (status="guessed_unverified"). Status "verified" is ONLY set when Dropcontact confirms. |
| recruiter_draft_messageB | Draft an outreach message scaffold for a recruiter. French drafts include a mandatory RGPD opt-out line. |
| recruiter_storeA | Persist a recruiter+contact record to a local JSON store. Records are always tagged pii=true with retention_max_years=3 (CNIL). |
| network_find_warm_pathA | Find warm introduction paths to a target company. Operates ONLY on the user-provided |
| network_score_intro_valueB | Score the intro value of a NetworkPath (0–1). |
| network_draft_intro_requestA | Draft an introduction request scaffold. French drafts include a mandatory opt-out line. |
| apply_resolve_sourceB | Resolve the best apply URL and channel for a job posting. Implements the apply-at-source principle: candidates apply at the employer's own ATS, never via LinkedIn/Indeed/Glassdoor aggregator pages. No network calls are made. |
| apply_prefillA | Build a PrefillPlan by mapping resume data to common ATS form fields. Sensitive fields (password, card, SSN, IBAN, DOB) are NEVER in |
| apply_queue_addA | Add or replace a QueueItem in the batch-apply queue. If an item with the same job_id already exists it is replaced. |
| apply_queue_reviewB | Return all items in the batch-apply queue. |
| apply_queue_approveB | Approve a batch of queue items (prepared → approved). |
| apply_followupA | Draft a polite follow-up message scaffold for an application. Sending is always human-confirmed (Phase 4b). No network calls. |
| apply_actA | Preview or perform ONE browser step on an employer ATS form. SAFETY RULES enforced in code (non-negotiable):
apply-at-source: use only on employer ATS pages, never on LinkedIn/Indeed. |
| apply_cover_letterA | Build an honest cover-letter scaffold from a CV file and a job posting. HONESTY: No network calls. Deterministic. |
| apply_answer_screeningA | Answer a screening question factually from the CV, or flag needs_human. HONESTY rules (non-negotiable):
No network calls. Deterministic. |
| apply_send_approvedA | Submit ATS applications for approved queue items via the user's own Chrome. SAFETY RULES enforced in code (non-negotiable):
|
| analytics_trackC | Track (insert or update) an Application in the CRM. |
| analytics_update_stageA | Transition an Application to a new stage. Appends a history entry with timestamp (and optional note). |
| analytics_list_appsB | Return all tracked Applications, optionally filtered by stage. |
| analytics_funnelA | Compute conversion funnel statistics over a list of Applications. |
| analytics_channel_roi_toolB | Compute interview and offer rates by source_channel. |
| analytics_story_coverage_toolB | Report which competencies have at least one story and which are gaps. |
| analytics_salary_delta_toolC | Compare an offer amount to benchmark P50 and P75. |
| interview_company_briefB | Build a structured research scaffold for interview preparation. PURE — no network, no LLM. Returns a CompanyBrief with [TO_RESEARCH] placeholders and a research checklist to fill before the interview. |
| interview_story_addA | Add a STAR+E story to the local JSON story bank. Validates STAR structure (situation, task, action, result must be non-empty). Raises ValueError if validation fails. |
| interview_story_suggestB | Return stories that cover a given competency (partial/case-insensitive match). |
| interview_question_bankA | Return interview questions for a role family and kind. |
| interview_mock_evaluateA | Evaluate a mock interview answer deterministically. Checks STAR structure, quantification, I/we ratio, duration (~130 wpm), and returns a scored MockEval with feedback. |
| interview_thank_youB | Generate a post-interview thank-you message scaffold. |
| interview_debriefB | Generate a post-interview debrief Markdown template. |
| negotiate_benchmark_rangeA | Return a sourced salary benchmark for a role/seniority/region. Uses the bundled |
| negotiate_counter_offer_templateB | Build a counter-offer message scaffold (FR or EN register). |
| negotiate_total_compB | Compute annualised total compensation breakdown. |
| negotiate_competing_offer_scriptC | Generate a competing-offer negotiation script. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Casius999/decroche-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server