Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Job Tracker

MCPB · JOB-TRACKER-0.3.3.MCPB

Local job-search tracker: roles, a status machine with evidence, rules, interviews, daily reports.

35 Trust /100

Last scanned (5 hours ago)

Scores higher than 73% of MCPB servers

Category Project Management

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security13
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • No install/post-install scripts declared.Pass
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency19
Schema Quality & AI Usability68
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 2681 tokens (~83/item across 32 items; 32 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "check_pay" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 33 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Oct 26 35

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Oct 2026 · Analysed mcpb/https://github.com/adamwardecki/job-hunt-mcp/releases/download/v0.3.3/job-tracker-0.3.3.mcpb@0.3.3

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 32 exposed · ~2,572 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_alias ~46

Add an alias to a company (brand, former name, parent) so dedupe catches it.

NameTypeReqDescription
aliasstringyesAlias
company_idintegeryesCompany id

No output schema declared.

No examples provided.

add_artifact ~110

Save a cover note, PDF, Gmail draft id, form answers, confirmation or note. Prose is linted. gmail_draft stays unverified until verify_artifact.

NameTypeReqDescription
contentstring–Text content
kindstringyescover_note | cover_letter_pdf | gmail_draft | form_answers | confirmation | note
refstring–Path, URL or Gmail draft id
role_idinteger–Role id (omit for drafts not tied to a role)

No output schema declared.

No examples provided.

add_interview ~115

Record an interview (or a booking link still to book: omit starts_at). Moves the role to interviewing.

NameTypeReqDescription
booked_bystring–user | employer
linkstring–Booking or meeting link
notesstring–Notes
peoplestring–Interviewers
role_idintegeryesRole id
stagestringyesStage name
starts_atstring–ISO datetime, omit if not booked yet
tzstring–IANA timezone

No output schema declared.

No examples provided.

add_rule ~69

Add a user preference or correction as a rule, with reason and example.

NameTypeReqDescription
added_bystring–user | pipeline
examplestring–Concrete example
reasonstringyesWhy (the incident or the user words)
textstringyesThe rule, imperative

No output schema declared.

No examples provided.

audit ~86

Post-run rule check for a run (preferred) or a local day: excluded industries, drops without evidence, applied without confirmation, prose lint, drafts not read back, no_cold_apply. Pass run_id or date.

NameTypeReqDescription
datestring–YYYY-MM-DD, a day in filters.timezone (ignored when run_id is given)
run_idinteger–Run id

No output schema declared.

No examples provided.

check_pay ~127

Deterministic pay-floor check. Drops only if the band maximum is below the floor; straddling bands are kept and flagged. Pass fx_rate when the currency differs from the floor (look it up, never guess).

NameTypeReqDescription
comp_maxnumber–Band maximum
comp_minnumber–Band minimum
currencystringyesISO code
equitystring–Equity, if any
fx_ratenumber–Floor-currency units per 1 unit of currency
periodstring–year | month | week | day | hour

No output schema declared.

No examples provided.

deactivate_rule ~22

Deactivate a rule.

NameTypeReqDescription
idintegeryesRule id

No output schema declared.

No examples provided.

find_company ~73

Dedupe check. Fuzzy match on name, aliases, domain and ATS slug. verdict: new | seen | skip (live application, same posting, or no_cold_apply).

NameTypeReqDescription
domainstring–Website domain
namestring–Company name
urlstring–Posting URL

No output schema declared.

No examples provided.

finish_run ~38

Close a run with a one-paragraph summary.

NameTypeReqDescription
run_idintegeryesFrom start_run
summarystring–What happened

No output schema declared.

No examples provided.

gate_check ~42

Pre-submit check: role verified, dedupe clean, not no_cold_apply, no live application at the company.

NameTypeReqDescription
role_idintegeryesRole id

No output schema declared.

No examples provided.

get_document ~42

Read a user document: profile (CV distilled), stories, reusable-answers, voice.

NameTypeReqDescription
namestringyesprofile | stories | reusable-answers | voice

No output schema declared.

No examples provided.

get_profile ~28

All config sections: filters, prefs, writing, accounts, autonomy, schedule, sources, capabilities.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_role ~31

Role with its company, full event history, artifacts and interviews.

NameTypeReqDescription
role_idintegeryesRole id

No output schema declared.

No examples provided.

import_legacy ~113

One-off import of the manual pipeline: applied-log.md, outreach-preferences.md, queue/*.md, and user documents. Pass the contents, or path to a local pipeline/ folder.

NameTypeReqDescription
applied_logstring–applied-log.md contents
documentsobject–{profile, stories, "reusable-answers"} markdown
pathstring–Local path to the pipeline/ folder
preferencesstring–outreach-preferences.md contents
queuearray–Queue notes

No output schema declared.

No examples provided.

lint_prose ~56

Lint outbound prose: em/en dashes, "not X but Y", fake-candid openers, volunteered gaps, length.

NameTypeReqDescription
max_wordsinteger–Word limit
textstringyesText to lint

No output schema declared.

No examples provided.

list_artifacts ~91

Artifacts for a run, a local day or a role, with lint results and read-back state. The auditor uses this.

NameTypeReqDescription
datestring–YYYY-MM-DD, a day in filters.timezone (ignored when run_id is given)
kindstring–Artifact kind
role_idinteger–Role id
run_idinteger–Artifacts from this run

No output schema declared.

No examples provided.

list_rules ~26

Active rules with provenance.

NameTypeReqDescription
include_inactiveboolean–Include deactivated rules

No output schema declared.

No examples provided.

open_items ~47

Queue (fresh and stale), unverified drafts, interviews to book, upcoming interviews.

NameTypeReqDescription
stale_after_daysinteger–Queue items untouched this long are listed as stale (default 14)

No output schema declared.

No examples provided.

pipeline_summary ~36

Counts by status, live processes, rejections, queue (fresh and stale).

NameTypeReqDescription
stale_after_daysinteger–Default 14

No output schema declared.

No examples provided.

record ~181

Append a validated event without the state-machine check: outcomes from outside (rejection, invite, user decision) or a note (omit status).

NameTypeReqDescription
actorstringyesuser | employer | pipeline
blocked_bystring–browser | user | login | captcha | other
categorystring–Drop category
evidencestring–Verbatim quote, feedback, or URL
outcomestring–rejected | withdrawn | role_closed
questionstring–Blocking question for the user (shown under Needs you until a later event)
reasonstringyesWhy
role_idintegeryesRole id
run_idinteger–Current run id
statusstring–found | verified | scored | queued | applied | interviewing | offer | dropped | closed (omit for a note)

No output schema declared.

No examples provided.

record_setup_decision ~59

Record the user decision for an amber setup item (e.g. "no browser, accepted"), so setup can complete.

NameTypeReqDescription
decisionstringyesThe user's decision, in their words
keystringyessetup_status item key

No output schema declared.

No examples provided.

render_report ~97

Markdown daily report. With run_id it covers that run; otherwise the local day. Lead with the outcome via headline. Only read-back drafts and confirmed submissions are claimed.

NameTypeReqDescription
datestringyesYYYY-MM-DD, a day in filters.timezone (report title; ignored for scope when run_id is given)
headlinestring–One or two sentences: the outcome
run_idinteger–Run id (preferred)

No output schema declared.

No examples provided.

save_config ~72

Validate and save one config section. Unknown fields are rejected. Field names and types are in templates/settings.example.yaml; an invalid call returns the section's expected fields.

NameTypeReqDescription
dataobjectyesSection contents
sectionstringyesfilters | prefs | writing | accounts | autonomy | schedule | sources | capabilities

No output schema declared.

No examples provided.

save_document ~39

Save a user document (markdown).

NameTypeReqDescription
contentstringyesMarkdown
namestringyesprofile | stories | reusable-answers | voice

No output schema declared.

No examples provided.

set_no_cold_apply ~64

Mark a company as no_cold_apply (an intro or recruiter process is open), or clear it.

NameTypeReqDescription
company_idintegeryesCompany id
onboolean–true to set, false to clear
reasonstring–Why

No output schema declared.

No examples provided.

set_source_status ~75

Record a source result for this run. Three consecutive failures mark it degraded.

NameTypeReqDescription
appliedinteger–Applications from it
errorstring–Error text
foundinteger–Leads found
namestringyesSource name
statusstringyesok | degraded | failed | disabled

No output schema declared.

No examples provided.

setup_status ~26

Checklist of what is configured, missing or degraded. Call at the start of every run.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

source_health ~17

Per-source status, consecutive failures, yield.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

start_run ~84

Start a run and record detected capabilities (connectors, browser, local folder). Returns run_id.

NameTypeReqDescription
capabilitiesobjectyes{connectors: {gmail, calendar, linkedin}, browser: "claude-in-chrome" | "built-in" | null, local_folder: bool}
kindstringyessweep | apply | triage | setup | calibration

No output schema declared.

No examples provided.

transition ~313

Move a role through found → verified → scored → queued → applied → interviewing → offer (dropped from found/verified/scored/queued; closed from queued/applied/interviewing/offer). Rejects illegal moves. verified needs evidence (URL + verbatim location line), location_line and location_type. dropped needs evidence (quote or rule:<id>). applied needs the confirmation text. closed needs outcome.

NameTypeReqDescription
blocked_bystring–For queued: browser | user | login | captcha | other
categorystring–For drops: location | pay | industry | role_shape | stack | culture | duplicate | gated | other
evidencestring–Verbatim quote with URL, rule:<id>, or confirmation text
location_linestring–verified only: verbatim from the ATS
location_typestring–verified only: remote | hybrid | onsite | unknown
outcomestring–rejected | withdrawn | role_closed (closed only)
questionstring–For queued: the single blocking question for the user
reasonstringyesWhy, one sentence
role_idintegeryesRole id
run_idinteger–Current run id
scorenumber–scored only: 0 to 10
score_notesstring–scored only: short notes, including gaps kept internal
tostringyesfound | verified | scored | queued | applied | interviewing | offer | dropped | closed

No output schema declared.

No examples provided.

upsert_role ~286

Create or update a role (creates the company if needed). New roles start as found. Returns the dedupe result for new roles.

NameTypeReqDescription
atsstring–ashby | greenhouse | lever | workable | teamtailor | personio | join | workday | other
comp_currencystring–ISO currency code
comp_maxnumber–Band maximum
comp_minnumber–Band minimum
comp_periodstring–year | month | day | hour
companystring–Company name as the employer writes it
company_aliasesarray–Other names, e.g. a brand vs the legal entity
company_domainstring–Employer website domain
equitystring–Equity as stated
idinteger–Existing role id to update
industrystring–Industry of the business line the role sits in
location_linestring–Verbatim location line from the employer ATS
location_typestring–remote | hybrid | onsite | unknown
posted_atstring–Posting date if shown
sourcestring–Where the lead came from
stackstring–Stack as stated
titlestringyesRole title, verbatim
urlstring–Posting URL (employer ATS preferred)

No output schema declared.

No examples provided.

verify_artifact ~61

Mark an artifact verified after reading it back. For gmail_draft, readback must be the get_draft/list_drafts output containing the draft id.

NameTypeReqDescription
artifact_idintegeryesArtifact id
readbackstringyesRead-back output

No output schema declared.

No examples provided.

Install

How do I install the Job Tracker MCP server?

Job Tracker ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, d1cf80fdbd48e4a5a15d07792aa450ad4ae1e925367dd4ec1f5cad56ea45bcb9; the commands to do that are on this page. If it does not match, do not open it.

mcpb · job-tracker-0.3.3.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

d1cf80fdbd48e4a5a15d07792aa450ad4ae1e925367dd4ec1f5cad56ea45bcb9

macOS / Linux

echo "d1cf80fdbd48e4a5a15d07792aa450ad4ae1e925367dd4ec1f5cad56ea45bcb9  job-tracker-0.3.3.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\job-tracker-0.3.3.mcpb).Hash -eq "d1cf80fdbd48e4a5a15d07792aa450ad4ae1e925367dd4ec1f5cad56ea45bcb9"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Job Tracker MCP server?

Job Tracker is an MCP server listed in the public MCP registry as io.github.adamwardecki/job-tracker. Local job-search tracker: roles, a status machine with evidence, rules, interviews, daily reports. This page covers its MCPB bundle (https://github.com/adamwardecki/job-hunt-mcp/releases/download/v0.3.3/job-tracker-0.3.3.mcpb).

Is the Job Tracker MCP server safe to use?

Job Tracker scores 35 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Job Tracker MCP server expose?

Job Tracker exposes 32 tools: setup_status, record_setup_decision, start_run, finish_run, get_profile, and 27 more. Their descriptions and schemas cost roughly 2,572 tokens of context every time the server is loaded.

What licence is the Job Tracker MCP server under?

Job Tracker declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.