io.github.DmytroRybka/jobctl

MCPcomunidaden línea
v0.5.1io.github.DmytroRybkaUnknownActualizado hace 1 m

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

Estado del endpointen línea
comprobado hace 17 h · 622 ms
100 % de las últimas 4 comprobaciones llegaron a este endpoint
Funciona en
ClaudeCursorCopilotChatGPTGemini

Inferido de los transportes que declara este listado (streamable-http). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.

Indexado automáticamente desde fuentes públicas. Aún sin verificar por su desarrollador en Forge.Reclamar este listado →
hace 1 mÚltima actualización
Paquete
Autorio.github.DmytroRybka
LicenciaUnknown
Versión0.5.1
Fuentemcp-registry
Estado de confianza
B
60/100Bueno
Listado en el índice de Forge+10/10
Identidad del publicador verificada+0/30
Publicador: este listado no tiene ningún repositorio registrado, así que `forge publish` no puede verificar la propiedad de forma automática. Usa «Reclamar este listado» arriba — en Forge lo revisamos a mano.
Verificación de dominio+0/10
Ahora mismo no está disponible para este tipo de listado: hoy la comprobación de dominio solo se ejecuta para paquetes publicados en npm, así que esta fila todavía no se puede conseguir aquí, sea lo que sea lo que haya alojado en el dominio.
Análisis de inyección de prompts · limpio+30/30
Análisis de ofuscación / exfiltración · limpio+20/20
EstadoIndexado por la comunidad
PublicadorSin verificar
FirmaSin firmar
Dominio
Procedencia
DependenciasSin auditar
Superficie de herramientas11 herramientas · ninguna privilegiada
Análisis de seguridad✓ Limpiovlive · hoy¿Qué tan bien funciona este análisis?
PROMPTtool:log_interviewLinks to undeclared domains: linkedin.com, company.com
EvaluacionesNinguna
Indexado17 jul 2026

La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.

Herramientas

11 herramientas · ninguna privilegiada
Observado en vivo desde el endpoint del proveedor17h ago

Leído de un handshake MCP real initialize → tools/list contra el endpoint declarado. No se invocó ninguna herramienta: tools/list es la llamada de introspección de solo lectura que el protocolo define para esto. Refleja lo que el servidor anunciaba en ese momento; un endpoint alojado no está fijado a ninguna versión y puede cambiar sin avisar.

  • https://app.jobctl.app/mcp11 herramientas · 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…

ParámetroTipoDescripción
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"})`.

ParámetroTipoDescripción
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"})`.

ParámetroTipoDescripción
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"})`.

ParámetroTipoDescripción
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
ParámetroTipoDescripción
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.

No se publicó ningún esquema de entrada para esta herramienta.

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…

ParámetroTipoDescripción
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…

ParámetroTipoDescripción
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 (…

ParámetroTipoDescripción
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…

ParámetroTipoDescripción
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).

ParámetroTipoDescripción
id*string

11 de 11 herramientas publicaron una descripción.

Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.

Acerca de

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

Palabras clave
mcp
Alternativas
Comparando superficies de herramientas…

Sin cobertura de dependencias

Esta entrada no publica ningún paquete de npm, así que Forge no tiene un árbol de dependencias para ella. Es una carencia de cobertura, no una afirmación de que no tenga dependencias.