TechJobs.vn
vn.techjobs/techjobstechjobs.vnstreamable-httpv1.0.0Scanned
Search open tech jobs and companies hiring in Vietnam, refreshed hourly. No key needed to search.
45 tools: 19 can delete or cancel things, 10 change things and 16 only read.
- Reads private data · 0
- Reads text others write · 10
- Can send data out · 2
- 2 findings
Anlyon alternative
29 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
45 tools
Deletes or cancels 19Claude Code: deny
claim_referral_requestRequires techjobs.vn sign-in, and a verified referrer account.Reads text others writeNo findings
Why it is in this group
- The name "claim_referral_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Takes an open referral request for the signed-in referrer. The candidate is told a referrer is looking at it.
Annotations the server declares
- title: Claim a referral request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
confirm_referral_contactRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. For a referral request the signed-in user sent that a referrer already referred (status referred): records whether the company got in touch with the user. Saving again updates the answer.
Annotations the server declares
- title: Record whether the company got in touch
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
decline_referral_requestRequires techjobs.vn sign-in, and a verified referrer account.Reads text others writeNo findings
Why it is in this group
- The name "decline_referral_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Declines a request because the candidate is not a fit. The candidate is told, by email too, with the reason if one is given.
Annotations the server declares
- title: Decline a referral request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
delete_cv_variantRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "delete_cv_variant" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Moves one of the user's editable CVs to the trash (restorable for 30 days). Only when the user asked: the first call changes nothing and says what would go; ask the user, then repeat with confirm_delete true. The primary CV file is never deleted.
Annotations the server declares
- title: Delete one of my CVs
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
get_referrer_request_cvRequires techjobs.vn sign-in, and a verified referrer account.Reads text others write1 finding
Why it is in this group
- The name "get_referrer_request_cv" says "get": a word for reading.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "get_referrer_request_cv" destructive (destructiveHint: true), and its name says "get", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true}; The name "get_referrer_request_cv" says "get": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Returns a short-lived download link to the CV the candidate sent with a referral request, as it was when they sent it. Only for a request this user claimed (claim_referral_request first). The first time it is opened, techjobs.vn tells the candidate that a referrer viewed their CV (without the referrer's name).
Annotations the server declares
- title: Get the CV of a referral request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
log_interviewRequires techjobs.vn sign-in.1 finding
Why it is in this group
- The name "log_interview" says "log": a word for reading.
- The server marks it destructive (destructiveHint: true).
Findings
- Warn
The server marks "log_interview" destructive (destructiveHint: true), and its name says "log", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}; The name "log_interview" says "log": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Adds an interview round to a tracked application (type, date and time, format, link, interviewers, preparation notes), or edits one with interview_id: mark it done, passed or failed, reschedule or cancel it. Adding the same type and time twice edits that round instead of duplicating it. Shows on techjobs.vn right away.
Annotations the server declares
- title: Log or schedule an interview round
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mark_referral_request_referredRequires techjobs.vn sign-in, and a verified referrer account.Reads text others writeNo findings
Why it is in this group
- The name "mark_referral_request_referred" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Marks a claimed request as referred, meaning the referral was submitted in the company's own system. The candidate is told to watch their email for the company.
Annotations the server declares
- title: Mark a referral request as referred
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
register_as_referrerRequires techjobs.vn sign-in.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in. Use when the user says they work at a company and want to refer candidates. Registers the signed-in user as a referrer for the company and sends a verification link to their work email; the email domain must belong to that company. They become a referrer only after clicking the link.
Annotations the server declares
- title: Register as a referrer at a company
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
release_referral_requestRequires techjobs.vn sign-in, and a verified referrer account.No findings
Why it is in this group
- The name "release_referral_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Gives a request the signed-in referrer claimed back to the open pool for every referrer at the company.
Annotations the server declares
- title: Release a claimed referral request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
report_referral_requestRequires techjobs.vn sign-in, and a verified referrer account.Reads text others writeNo findings
Why it is in this group
- The name "report_referral_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Reports a referral request to the techjobs.vn team (spam, inappropriate, fake profile, other) and removes it from the user's inbox; with block, the candidate can no longer choose the user. The candidate is not told. Only for requests list_referrer_requests shows; ask the user to confirm first.
Annotations the server declares
- title: Report a referral request
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
request_cv_changesRequires techjobs.vn sign-in, and a verified referrer account.Reads text others writeNo findings
Why it is in this group
- The name "request_cv_changes" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Asks the candidate to fix their CV before the request goes on. The candidate is notified with the tags and note given and can send a fixed CV back.
Annotations the server declares
- title: Ask a candidate to fix their CV
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
request_referralRequires techjobs.vn sign-in.Reads text others writeNo findings
Why it is in this group
- The name "request_referral" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in. Asks the referrers the user chose (from list_company_referrers, 1 to 5) at the job's company to refer the signed-in user, with a copy of their CV chính (primary CV) and their message. Only the chosen referrers receive it; the first to take it handles it. If list_company_referrers returns nobody, call it without referrer_handles: the request joins the company's waiting list and a referrer who joins later sees it. Two steps: call without confirm_token to get a preview (nothing is sent) and show it to the user; only after the user explicitly agrees, call again with the same job_id, message and referrer_handles plus the confirm_token. A sent request goes to real people and cannot be taken back. Limited to a few requests per week.
Annotations the server declares
- title: Ask for a referral to a job
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
resubmit_referral_requestRequires techjobs.vn sign-in.Reads text others writeNo findings
Why it is in this group
- The name "resubmit_referral_request" says "request": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Requires techjobs.vn sign-in. For a referral request the signed-in user sent and a referrer asked to change (status needs_changes): sends the user's current primary CV (CV chính) back to the referrers at the company. This emails the referrers.
Annotations the server declares
- title: Send a fixed CV back to the referrers
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
save_interview_retroRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "save_interview_retro" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Records the user's lessons learned for an interview round, or for a whole application: questions asked, what went well, what to improve, red flags, what to prepare next, a 1-5 confidence and improvement tags. There is one entry per round; saving again updates it, and only the fields you pass change.
Annotations the server declares
- title: Save lessons learned from an interview
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
set_primary_cvRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "set_primary_cv" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Makes one of the user's editable CVs their primary CV (CV chính), used for matching and referrals. Replaces the current primary CV file, which is not kept: call it only when the user asked. If a primary CV exists, the first call changes nothing and says what would be replaced; ask the user, then repeat with confirm_replace true.
Annotations the server declares
- title: Make one of my CVs the primary CV
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
set_role_alertRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "set_role_alert" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Sets the signed-in user's alert for new jobs in a role, optionally filtered by seniority and city; techjobs.vn sends matching new jobs as a digest. One alert per role: calling it for a role that already has one replaces its filters, and the same call twice changes nothing.
Annotations the server declares
- title: Set a role alert
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
track_jobRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Adds a techjobs.vn job to the signed-in user's Apply Tracker or moves it to another status (e.g. applied, interviewing), optionally with a note and tracker details (source, salary, next step, outcome reason). Calling it again with the same arguments changes nothing. The change shows on techjobs.vn right away. To edit an entry by id (including jobs added by hand), use update_application.
Annotations the server declares
- title: Track a job in my Apply Tracker
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
update_applicationRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "update_application" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Edits one entry of the signed-in user's Apply Tracker by its id: status, note and tracker details (source, CV used, salary, work mode, excitement, next step and its due date, outcome reason). Only the fields you pass change.
Annotations the server declares
- title: Update a tracked application
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
update_cv_variantRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "update_cv_variant" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Requires techjobs.vn sign-in. Saves new content into one of the user's editable CVs (made with create_cv_variant): headline, summary, experience, projects, skills and other sections. Each section given replaces that section (name, email, phone, location, links, language, title and the template and accent color too); the rest stays. The primary CV (CV chính) is not changed by this tool (see set_primary_cv). Returns a link where the user reviews the saved CV.
Annotations the server declares
- title: Edit one of my CVs
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 10Claude Code: ask
create_cv_variantRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "create_cv_variant" says "create": a word for a change.
Description, as the server wrote it Requires techjobs.vn sign-in. Copies the user's primary CV (or another of their CVs by from_cv_id) into a new editable CV on techjobs.vn (at most 5 per user on Free, 20 on Pro), optionally tailored to one job by job_id. Returns the copy's content and a link for the user to review it. The primary CV is not changed by this tool. Then use update_cv_variant to edit it, and set_primary_cv if the user wants it as their primary CV.
Annotations the server declares
- title: Copy my CV into a new editable CV
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
follow_companyRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Requires techjobs.vn sign-in. Follows a company for the signed-in user, so techjobs.vn notifies them when it posts new jobs. Following a company already followed changes nothing.
Annotations the server declares
- title: Follow a company
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
match_cvRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Requires techjobs.vn sign-in. Scores how well the signed-in user's primary CV fits one open job (0–100, rule-based), with the required skills they match and miss. Limited to 30 matches per day per account.
Annotations the server declares
- title: Score my CV against a job
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
save_insights_snapshotRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "save_insights_snapshot" says "save": a word for a change.
Description, as the server wrote it Requires techjobs.vn sign-in. Saves the current state of the signed-in user's application funnel so they can compare response and interview rates over time (the Apply Tracker flow chart shows the saved ones). Saving again when nothing changed since the latest snapshot adds nothing. At most 50 per user.
Annotations the server declares
- title: Save a snapshot of my application funnel
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
score_cvRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Requires techjobs.vn sign-in. Gives the basic score (0–100, fixed rules, no AI) of the signed-in user's primary CV, or of one of their other CVs by cv_id, with the score per criterion and short suggestions to fix, plus a link to edit the CV on techjobs.vn.
Annotations the server declares
- title: Score my CV
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
set_referrer_availabilityRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "set_referrer_availability" says "set": a word for a change.
Description, as the server wrote it Requires techjobs.vn sign-in. For one of the user's referrer registrations: pause or resume new referral requests (while paused, candidates do not see the user's referrer profile) and set how many requests the user may hold at once (taken, not finished). Requests already taken are kept either way.
Annotations the server declares
- title: Pause referral requests or cap how many I hold
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
set_referrer_email_notificationsRequires techjobs.vn sign-in.Can send data outNo findings
Why it is in this group
- The name "set_referrer_email_notifications" says "set": a word for a change.
What it can reach
- outboundThe name "set_referrer_email_notifications" says "set" and "email": it writes something other people read.
Description, as the server wrote it Requires techjobs.vn sign-in. For one of the user's referrer registrations, chooses whether new referral request emails go to their techjobs.vn account email or to the work email, and optionally whether they arrive one per request or as one daily summary. Calling it again with the same values changes nothing.
Annotations the server declares
- title: Choose where referrer request emails go
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
suggest_jobs_for_meRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Requires techjobs.vn sign-in. Suggests open jobs that fit the signed-in user's primary CV, best fit first, each with a 0–100 fit score and a techjobs.vn link (same ranking as techjobs.vn/for-you).
Annotations the server declares
- title: Suggest jobs for my CV
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
update_referrer_profileRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "update_referrer_profile" says "update": a word for a change.
Description, as the server wrote it Requires techjobs.vn sign-in. Saves the anonymous referrer profile candidates see when they choose which referrers to ask: role, team, level and the role areas the user can refer for. The profile never shows the user's name, email or work email; text with emails, phone numbers, links or @handles is refused. Omitted fields are cleared, so send the whole profile.
Annotations the server declares
- title: Edit my referrer profile
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
watch_company_referrersRequires techjobs.vn sign-in.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Requires techjobs.vn sign-in. For a company with no referrer yet (list_company_referrers returned nobody): techjobs.vn tells the signed-in user once, in the app, when a verified referrer joins that company. Pass watch=false to stop. Up to 20 companies at a time. Repeating a call changes nothing.
Annotations the server declares
- title: Tell me when a company has a referrer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 16Show 16 read-only tools
get_application_insightsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "get_application_insights" says "get": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Analytics of the signed-in user's own Apply Tracker: funnel with conversion between stages, median days spent in each stage, response and interview rates by source channel and by CV, entries with no news for a long time, overdue next steps, outcome reasons and the areas to improve that their lessons-learned entries repeat, plus where every application ended (rejected, no answer, waiting…) and their latest saved snapshots. Numbers are the user's own, not market benchmarks.
Annotations the server declares
- title: My application funnel and lessons
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_companyProfile of a company hiring in Vietnam: introduction, industry, size, tech stack, number of open jobs on techjobs.vn, whether employees there refer candidates and, for a few compan…No findings
Why it is in this group
- The name "get_company" says "get": a word for reading.
Description, as the server wrote it Profile of a company hiring in Vietnam: introduction, industry, size, tech stack, number of open jobs on techjobs.vn, whether employees there refer candidates and, for a few companies, a positive TechJobs estimate from public sources (not an official ranking; no label means not enough public data, never that the company is bad). Use when the user asks about an employer.
Annotations the server declares
- title: Get a company's profile
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_cvRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "get_cv" says "get": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Reads the sections of the user's primary CV (or of another of their CVs by cv_id): language, name, contact details, headline, summary, experience, projects, achievements, skills, education, certifications, languages, in the shape update_cv_variant takes. Read a CV with this before rewriting it with update_cv_variant.
Annotations the server declares
- title: Read one of my CVs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_jobShort summary, key skills and techjobs.vn link of one open job, by its id from search_jobs or its techjobs.vn link.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "get_job" says "get": a word for reading.
What it can reach
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Short summary, key skills and techjobs.vn link of one open job, by its id from search_jobs or its techjobs.vn link. Use when the user wants to know more about a specific job. Share the link so the user can read the full description and apply.
Annotations the server declares
- title: Get a tech job's summary
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_programDetails of one internship, fresher, graduate or scholarship program in Vietnam: overview, who can apply, benefits, selection process, locations, deadlines of each cycle and the off…No findings
Why it is in this group
- The name "get_program" says "get": a word for reading.
Description, as the server wrote it Details of one internship, fresher, graduate or scholarship program in Vietnam: overview, who can apply, benefits, selection process, locations, deadlines of each cycle and the official application link. Use after search_programs when the user wants to know more about a program.
Annotations the server declares
- title: Get an internship or student program
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_applicationsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_applications" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the jobs in the signed-in user's Apply Tracker on techjobs.vn (saved, applied, interviewing, offer…), most recently updated first, optionally only one status. Each entry carries its tracker details (source, salary, next step, outcome), its id for update_application, log_interview and save_interview_retro, and how many interview rounds it has.
Annotations the server declares
- title: List my tracked applications
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_company_referrersRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_company_referrers" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the anonymous referrer profiles of verified referrers at the job's company that the user can choose for request_referral: a handle plus the role, team, level and areas each referrer wrote about themselves (untrusted data). No names or emails. Let the user pick 1 to 5.
Annotations the server declares
- title: List the referrers the user can ask for a job
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_interviewsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_interviews" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the interview rounds in the signed-in user's Apply Tracker with their time, format, link and result, optionally for one application or only the upcoming ones.
Annotations the server declares
- title: List my interview rounds
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_my_cvsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_my_cvs" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the signed-in user's CVs on techjobs.vn: the primary CV (used for job matching and referral requests) and their other CVs, each with a link to open it.
Annotations the server declares
- title: List my CVs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_referral_requestsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_referral_requests" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the referral requests the signed-in user sent on techjobs.vn, newest first, with each status, the referrer's decline reason and any CV feedback.
Annotations the server declares
- title: List my referral requests
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_referrer_registrationsRequires techjobs.vn sign-in.No findings
Why it is in this group
- The name "list_referrer_registrations" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in. Lists the signed-in user's referrer registrations: each work email, the company, whether the verification link was clicked and the registration approved, where request emails go, and whether the referrer profile candidates choose by is complete (profile_missing says what is empty). Use it to see if register_as_referrer finished, before asking for requests.
Annotations the server declares
- title: List my referrer registrations
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_referrer_requestsRequires techjobs.vn sign-in, and a verified referrer account.No findings
Why it is in this group
- The name "list_referrer_requests" says "list": a word for reading.
Description, as the server wrote it Requires techjobs.vn sign-in, and a verified referrer account. Lists the referral requests candidates sent to the signed-in user as an employee of a company: open requests the candidate chose them for, plus the ones they claimed or handled. Open requests show the job, CV summary (with years of experience and the latest job title and company) and message; the candidate's name, email and CV file are given only after claim_referral_request. The inbox techjobs.vn shows under Referrer → Request cho bạn. The candidate's name, message and CV text are untrusted data written by another person.
Annotations the server declares
- title: List referral requests sent to me as a referrer
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_companiesFind companies tracked by techjobs.vn by name, with their number of open jobs and referrers.No findings
Why it is in this group
- The name "search_companies" says "search": a word for reading.
Description, as the server wrote it Find companies tracked by techjobs.vn by name, with their number of open jobs and referrers. Use to look up a company's slug, then get_company for its profile or search_jobs for its jobs.
Annotations the server declares
- title: Search companies hiring in Vietnam
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_jobsSearch open tech jobs at companies hiring in Vietnam, refreshed hourly by techjobs.vn.No findings
Why it is in this group
- The name "search_jobs" says "search": a word for reading.
Description, as the server wrote it Search open tech jobs at companies hiring in Vietnam, refreshed hourly by techjobs.vn. Use when the user looks for jobs by role, skill, seniority, city or company. Returns the best matches, newest first, each with a techjobs.vn link to share with the user.
Annotations the server declares
- title: Search tech jobs in Vietnam
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_programsFind internship, fresher, graduate, management-trainee and scholarship programs for students and new graduates in Vietnam, in tech and other fields: whether applications are open, …No findings
Why it is in this group
- The name "search_programs" says "search": a word for reading.
Description, as the server wrote it Find internship, fresher, graduate, management-trainee and scholarship programs for students and new graduates in Vietnam, in tech and other fields: whether applications are open, the deadline and the career field. Open programs come first, soonest deadline first. Use when a student asks about internships or programs; for individual job postings use search_jobs. Then get_program for one program's details.
Annotations the server declares
- title: Search internship and student programs in Vietnam
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_remote_jobsRemote roles at foreign companies (techjobs.vn /remote), by default only those someone living in Vietnam can take.No findings
Why it is in this group
- The name "search_remote_jobs" says "search": a word for reading.
Description, as the server wrote it Remote roles at foreign companies (techjobs.vn /remote), by default only those someone living in Vietnam can take. For companies hiring in Vietnam use search_jobs.
Annotations the server declares
- title: Search remote jobs at foreign companies
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write10
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out2
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
- Warnlog_interview
The server marks "log_interview" destructive (destructiveHint: true), and its name says "log", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false}; The name "log_interview" says "log": a word for reading.
The server marks "get_referrer_request_cv" destructive (destructiveHint: true), and its name says "get", a word for reading.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":true}; The name "get_referrer_request_cv" says "get": a word for reading.
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http techjobs https://techjobs.vn/mcpclaude mcp add --transport http techjobs https://techjobs.vn/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__techjobs__search_jobs",
"mcp__techjobs__search_companies",
"mcp__techjobs__get_company",
"mcp__techjobs__search_programs",
"mcp__techjobs__search_remote_jobs",
"mcp__techjobs__get_program",
"mcp__techjobs__list_my_cvs",
"mcp__techjobs__get_cv",
"mcp__techjobs__list_applications",
"mcp__techjobs__list_referral_requests",
"mcp__techjobs__list_interviews",
"mcp__techjobs__get_application_insights",
"mcp__techjobs__list_company_referrers",
"mcp__techjobs__list_referrer_registrations",
"mcp__techjobs__list_referrer_requests"
],
"ask": [
"mcp__techjobs__get_job",
"mcp__techjobs__score_cv",
"mcp__techjobs__create_cv_variant",
"mcp__techjobs__match_cv",
"mcp__techjobs__suggest_jobs_for_me",
"mcp__techjobs__save_insights_snapshot",
"mcp__techjobs__follow_company",
"mcp__techjobs__watch_company_referrers",
"mcp__techjobs__set_referrer_email_notifications",
"mcp__techjobs__update_referrer_profile",
"mcp__techjobs__set_referrer_availability"
],
"deny": [
"mcp__techjobs__update_cv_variant",
"mcp__techjobs__set_primary_cv",
"mcp__techjobs__delete_cv_variant",
"mcp__techjobs__track_job",
"mcp__techjobs__update_application",
"mcp__techjobs__log_interview",
"mcp__techjobs__save_interview_retro",
"mcp__techjobs__set_role_alert",
"mcp__techjobs__request_referral",
"mcp__techjobs__register_as_referrer",
"mcp__techjobs__report_referral_request",
"mcp__techjobs__get_referrer_request_cv",
"mcp__techjobs__claim_referral_request",
"mcp__techjobs__release_referral_request",
"mcp__techjobs__mark_referral_request_referred",
"mcp__techjobs__decline_referral_request",
"mcp__techjobs__request_cv_changes",
"mcp__techjobs__resubmit_referral_request",
"mcp__techjobs__confirm_referral_contact"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as techjobs. Review it before you use it.
Capability tags behind 11 rules
- mcp__techjobs__get_job untrusted-input, outbound
- mcp__techjobs__request_referral untrusted-input
- mcp__techjobs__register_as_referrer untrusted-input
- mcp__techjobs__set_referrer_email_notifications outbound
- mcp__techjobs__report_referral_request untrusted-input
- mcp__techjobs__get_referrer_request_cv untrusted-input
- mcp__techjobs__claim_referral_request untrusted-input
- mcp__techjobs__mark_referral_request_referred untrusted-input
- mcp__techjobs__decline_referral_request untrusted-input
- mcp__techjobs__request_cv_changes untrusted-input
- mcp__techjobs__resubmit_referral_request untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/vn.techjobs/techjobs/verify?hash=71db28477a391f669d4d4c4a5310192675fd6db0fbbc6b918452af39e19589a6" | jq -e '.changed == false'Pinned hash 71db28477a39, from Nov 3, 2026, 04:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/vn.techjobs/techjobs/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/vn.techjobs/techjobs)Source: MCP Registry. Synced Nov 3, 2026, 04:18 UTC.