io.github.DmytroRybka/jobctl

MCPcommunityattivo
v0.5.1io.github.DmytroRybkaUnknownAggiornato 3 mesi fa

Job application tracker for developers - AI agents write over MCP, you review in a dashboard.

Stato dell’endpointattivo
verificato 8 giorni fa · 600 ms
100 % degli ultimi 7 controlli hanno raggiunto questo endpoint
Funziona in
ClaudeCursorCopilotChatGPTGemini

Dedotto dai trasporti dichiarati da questo annuncio (streamable-http). Un client che non compare qui non è escluso — semplicemente Forge non è in grado di confermarlo.

Indicizzato automaticamente da fonti pubbliche. Non ancora verificato dal suo sviluppatore su Forge.Rivendica questo annuncio →
3 mesi faUltimo aggiornamento
Pacchetto
Autoreio.github.DmytroRybka
LicenzaUnknown
Versione0.5.1
Fontemcp-registry
Stato di fiducia
B
60/100Buono
Solo endpoint ospitato: questa valutazione riguarda chi lo pubblica e se risponde, non il codice che c’è dietro. Non si applicano analisi di CVE, dipendenze o codice sorgente, quindi nulla qui attesta che quel codice sia pulito.
✓Presente nell’indice di Forge+10/10
—Identità del publisher verificata+0/30
→ Publisher: per questo annuncio non risulta alcun repository, quindi `forge publish` non può verificare la proprietà automaticamente. Usa «Rivendica questo annuncio» qui sopra — Forge li esamina a mano.
—Verifica del dominio+0/10
→ Al momento non disponibile per questo tipo di annuncio — oggi il controllo del dominio viene eseguito solo per i pacchetti su npm, quindi questa riga non può ancora essere ottenuta qui, indipendentemente da cosa sia ospitato sul dominio.
✓Analisi prompt injection · pulita+30/30
✓Analisi offuscamento / esfiltrazione · pulita+20/20
StatoIndicizzato dalla community
PublisherNon verificato
FirmaNon firmato
Dominio—
Provenienza—
DipendenzeNon verificate
Superficie di strumenti11 strumenti · nessuno privilegiato
Analisi di sicurezza✓ Pulitovlive · 1 mesi faQuanto è efficace questa analisi?
PROMPTtool:log_interviewLinks to undeclared domains: linkedin.com, company.com
ValutazioniNessuna
Indicizzato17 lug 2026

La verifica conferma l’identità del publisher (la proprietà del repo), non la sicurezza del codice. L’analisi di sicurezza copre i CVE noti e gli script di installazione sospetti.

Strumenti

11 strumenti · nessuno privilegiato
Osservato in tempo reale dall’endpoint del fornitore1mo ago

Letto da un vero handshake MCP initialize → tools/list verso l’endpoint dichiarato. Nessuno strumento è stato invocato — tools/list è la chiamata di introspezione in sola lettura che il protocollo prevede a questo scopo. Riflette ciò che il server annunciava in quel momento; un endpoint ospitato non è vincolato ad alcuna versione e può cambiare senza preavviso.

  • https://app.jobctl.app/mcp11 strumenti · 622 ms
add_applicationTrack a new job application. Pass either a single `raw` line — `add_application({raw: "Bosch, Tech Lead, prio A, due friday, remote, via LinkedIn"})` — or structured fields (`company` and `role` required then). Returns the created application and possible-duplicate warnings; if duplicates are liste…

Track a new job application. Pass either a single `raw` line — `add_application({raw: "Bosch, Tech Lead, prio A, due friday, remote, via LinkedIn"})` — or structured fields (`company` and `role` required then). Returns the created application and possible-duplicate warnings; if duplicates are liste…

ParametroTipoDescrizione
rawstringFree-form line: "Company, Role, prio A|B|C, due <date>, remote|hybrid|onsite, via <source>, https://…, in <location>, applied <date>"
companystring—
rolestring—
statusstring—
prioritystringA = top priority
remotestring—
remote_notestringe.g. "2 days office"
sourcestringLinkedIn, referral, recruiter, Easy Apply…
urlstringLink to the job posting
locationstring—
salary_askedintegerWhat the candidate asked for — yearly gross EUR as a plain number, e.g. 110000
salary_range_minintegerPosting salary range lower bound — yearly gross EUR, plain number
salary_rangeintegerPosting salary range upper bound — yearly gross EUR, plain number
cv_variantstringWhich CV was sent: DE, EN, AI-focused…
match_notesstringMarkdown match assessment: why the candidate fits this role — strengths vs requirements, gaps, level/salary advice, process notes. Save your vacancy analysis h…
next_interview_atstringISO datetime, e.g. 2026-07-20T14:00:00+02:00
next_actionstringe.g. "follow-up", "thank-you email"
next_action_duestringISO date YYYY-MM-DD
applied_atstringISO date YYYY-MM-DD
list_applicationsList job applications. Filter by view (active = default working set, archive = rejected/withdrawn/no-response), status list, priority, or free-text search in company/role. Example: `list_applications({view: "active"})`, `list_applications({q: "bosch"})`.

List job applications. Filter by view (active = default working set, archive = rejected/withdrawn/no-response), status list, priority, or free-text search in company/role. Example: `list_applications({view: "active"})`, `list_applications({q: "bosch"})`.

ParametroTipoDescrizione
viewstring—
statusstringComma-separated: started_apply, waiting_referral, applied, waiting, interview, offer, accepted, rejected, no_response, on_hold, withdrawn, archived
prioritystring—
qstringSearch in company/role
limitinteger—
update_applicationUpdate fields of an application (get the id from list_applications). Status changes are logged to the timeline automatically. Example: `update_application({id: "…", status: "interview", next_action: "prepare system design", next_action_due: "2026-07-20"})`.

Update fields of an application (get the id from list_applications). Status changes are logged to the timeline automatically. Example: `update_application({id: "…", status: "interview", next_action: "prepare system design", next_action_due: "2026-07-20"})`.

ParametroTipoDescrizione
id*string—
companystring—
rolestring—
statusstring—
prioritystringA = top priority
remotestring—
remote_notestringe.g. "2 days office"
sourcestringLinkedIn, referral, recruiter, Easy Apply…
urlstringLink to the job posting
locationstring—
salary_askedintegerWhat the candidate asked for — yearly gross EUR as a plain number, e.g. 110000
salary_range_minintegerPosting salary range lower bound — yearly gross EUR, plain number
salary_rangeintegerPosting salary range upper bound — yearly gross EUR, plain number
cv_variantstringWhich CV was sent: DE, EN, AI-focused…
match_notesstringMarkdown match assessment: why the candidate fits this role — strengths vs requirements, gaps, level/salary advice, process notes. Save your vacancy analysis h…
next_interview_atstringISO datetime, e.g. 2026-07-20T14:00:00+02:00
next_actionstringe.g. "follow-up", "thank-you email"
next_action_duestringISO date YYYY-MM-DD
applied_atstringISO date YYYY-MM-DD
add_noteAppend a free-text note to an application timeline — recruiter call summaries, interview instructions, pasted messages. Multiline markdown is fine. Example: `add_note({application_id: "…", text: "Recruiter: team of 5, on-call rotation, offer range 85-95k"})`.

Append a free-text note to an application timeline — recruiter call summaries, interview instructions, pasted messages. Multiline markdown is fine. Example: `add_note({application_id: "…", text: "Recruiter: team of 5, on-call rotation, offer range 85-95k"})`.

ParametroTipoDescrizione
application_id*string—
text*string—
log_interviewLog an interview for an application (max 10 per application): when it takes place, its status (planned or done), who attends (each with an optional profile link), related links (prep materials the company sent, meeting URL), and a short recap of what was discussed. Also keeps the application's next…

Log an interview for an application (max 10 per application): when it takes place, its status (planned or done), who attends (each with an optional profile link), related links (prep materials the company sent, meeting URL), and a short recap of what was discussed. Also keeps the application's next…

NOTALinks to undeclared domains: linkedin.com, company.com
ParametroTipoDescrizione
application_id*string—
scheduled_at*stringISO datetime with offset, e.g. 2026-07-20T14:00:00+02:00
statusstringplanned (default) or done
attendeesarrayWho attends, each with an optional profile link
linksarrayRelated links: prep materials, meeting URL, docs
recapstringShort recap of what was discussed
get_dueWhat is burning today: applications with next_action_due today or overdue. Call this when the user asks "what should I do today?" about their job search.

What is burning today: applications with next_action_due today or overdue. Call this when the user asks "what should I do today?" about their job search.

Per questo strumento non è stato pubblicato alcuno schema di input.

get_plannedWhat is actually SCHEDULED: interviews with their time, attendees and meeting links, plus the actions falling due, for today, tomorrow, or the next seven days. Use this whenever the user asks what is planned, what the day or week looks like, or before proposing a time to anyone — get_due only knows…

What is actually SCHEDULED: interviews with their time, attendees and meeting links, plus the actions falling due, for today, tomorrow, or the next seven days. Use this whenever the user asks what is planned, what the day or week looks like, or before proposing a time to anyone — get_due only knows…

ParametroTipoDescrizione
rangestringtoday (default), tomorrow, or week (today plus the next 6 days)
attach_analysisAttach a markdown company analysis (research you produced) to an application. Single document per application — a new call REPLACES the previous one. Max 100000 bytes (~100 KB) of utf-8. The user reads it in the dashboard, e.g. before an interview. Example: `attach_analysis({application_id: "…", ma…

Attach a markdown company analysis (research you produced) to an application. Single document per application — a new call REPLACES the previous one. Max 100000 bytes (~100 KB) of utf-8. The user reads it in the dashboard, e.g. before an interview. Example: `attach_analysis({application_id: "…", ma…

ParametroTipoDescrizione
application_id*string—
markdown*stringThe analysis as markdown
attach_fileAttach or replace a file on an application so the user sees it in the dashboard: a CV/resume (kind: 'cv') or a cover letter (kind: 'cover_letter'). Pass the file bytes as base64 in data_base64. One file per (application, kind) - a new call REPLACES the previous one. Max ~5 MB; pdf/doc/docx/txt/md (…

Attach or replace a file on an application so the user sees it in the dashboard: a CV/resume (kind: 'cv') or a cover letter (kind: 'cover_letter'). Pass the file bytes as base64 in data_base64. One file per (application, kind) - a new call REPLACES the previous one. Max ~5 MB; pdf/doc/docx/txt/md (…

ParametroTipoDescrizione
application_id*string—
kind*string—
filename*string—
data_base64*stringBase64-encoded file bytes
mimestringOptional; inferred from the filename extension when omitted
attach_interview_fileAttach prep material to a specific interview so the user sees it next to that round in the dashboard: the prep document you wrote, the job description, a deck, notes the company sent. Max 3 files per interview, 20000000 bytes (20 MB) each; pass the bytes as base64. Get interview ids from get_applic…

Attach prep material to a specific interview so the user sees it next to that round in the dashboard: the prep document you wrote, the job description, a deck, notes the company sent. Max 3 files per interview, 20000000 bytes (20 MB) each; pass the bytes as base64. Get interview ids from get_applic…

ParametroTipoDescrizione
application_id*string—
interview_id*string—
filename*string—
data_base64*stringBase64-encoded file bytes
mimestringOptional; inferred from the filename extension when omitted
get_applicationFull detail of one application: all fields, contacts, recent timeline events, and whether a company analysis is attached (fetch it via the dashboard or attach_analysis to replace).

Full detail of one application: all fields, contacts, recent timeline events, and whether a company analysis is attached (fetch it via the dashboard or attach_analysis to replace).

ParametroTipoDescrizione
id*string—

11 strumenti su 11 hanno pubblicato una descrizione.

I nomi e le descrizioni degli strumenti sono scritti dal publisher e mostrati alla lettera come testo inerte. Sono le stringhe che un client MCP passa a un modello, quindi Forge vi cerca schemi di prompt injection — ogni rilievo compare insieme all’analisi di sicurezza qui sopra. «Privilegiato» è una corrispondenza di parola chiave sul nome dello strumento, non una verifica di ciò che fa: un nome innocuo può comunque fare qualsiasi cosa.

Descrizione

Job application tracker for developers - AI agents write over MCP, you review in a dashboard.

Parole chiave
mcp
Alternative
Confronto delle superfici di strumenti…

Nessuna copertura delle dipendenze

Questa voce non pubblica alcun pacchetto npm, quindi Forge non ha un albero delle dipendenze per essa. È una lacuna di copertura, non l'affermazione che non abbia dipendenze.