Saltar al contenido principal

Referencia de herramientas MCP de Sweepy

El servidor MCP de server.py expone doce herramientas. La página de integración con MCP cubre el registro y los flujos de trabajo habituales. Esta página enumera cada firma, para que sepas qué hace una llamada antes de que un asistente la ejecute.

Carga útil de respuesta​

Cada herramienta devuelve una cadena JSON dentro de un bloque de contenido de texto. Las cargas útiles correctas empiezan por "status": "ok". Las de error empiezan por "status": "error" e incluyen un message que explica la causa. Un barrido fallido también informa de job_id y sweep_status: "failed".

Indicadores de comportamiento​

Sweepy declara cuatro anotaciones MCP en cada herramienta. Un host compatible lee estos indicadores antes de invocar la herramienta.

IndicadorSignificado
readOnlyHintLa llamada no guarda cambios.
destructiveHintLa llamada puede sobrescribir o eliminar archivos, perfiles o historial.
idempotentHintRepetir la misma llamada llega al mismo estado final.
openWorldHintLa llamada sale del equipo local.
HerramientaSolo lecturaDestructivaIdempotenteMundo abierto
create_profileNoSíSíNo
run_sweepNoSíNoSí
get_sweep_statusNoNoSíNo
get_jobsNoNoSíNo
submit_judgmentsNoSíSíNo
import_jobsNoSíSíSí
render_reportNoSíSíNo
get_resultsSíNoSíNo
export_reportNoSíSíNo
clear_historyNoSíSíNo
convert_documentNoSíSíNo
convert_docxNoSíSíNo

Herramientas de perfil y barrido​

create_profile​

Valida cada motor activo y después escribe el archivo YAML del perfil.

ParámetroTipoPredeterminadoDescripción
namestringObligatorioNombre completo que se escribe en el perfil.
titlesstring arrayObligatorioPuestos objetivo, como ["Technical Writer", "UX Writer"].
locationstringObligatorioUbicación objetivo, como "New York, NY".
resume_pathstringObligatorioRuta a un currículum en PDF o DOCX.
remote_onlybooleanfalseRestringe los resultados a puestos 100 % remotos.
include_hybridbooleantrueMantiene los puestos híbridos en los resultados.
min_salaryinteger0Salario base anual mínimo. Cero significa sin mínimo.
must_have_skillsstring arraynullTérminos de habilidades que aumentan la coincidencia.
synonymsarray of arraysnullGrupos de términos intercambiables, como [["docs-as-code", "documentation as code"]].
platformsobjectnullInterruptores de plataforma que se combinan con el bloque platforms del perfil.
sources_configobjectnullSelección de motores que se combina con el bloque sources. Cada motor se valida antes de escribir.
cache_configobjectnullAjustes de caché: enabled y ttl_seconds.
orchestrator_configobjectnullAjustes de tiempo de espera y cortacircuitos.
history_configobjectnullAjustes entre ejecuciones que controlan qué ofertas omite el barrido.
job_trackingbooleantrueAñade las columnas de seguimiento de candidaturas al CSV y conserva los valores anteriores.
assessmentstring"agent"Control del informe. agent bloquea un informe mientras alguna ficha solo tenga solapamiento de palabras clave. keyword permite informes solo con palabras clave.
output_filenamestringnullRuta YAML personalizada. Por defecto es profiles/{name}_{title}.yaml. Sweepy pasa ambas partes a minúsculas y sustituye cada carácter no alfanumérico por _.

orchestrator_config acepta timeout_per_source_seconds y un objeto circuit_breaker con failure_threshold y cooldown_seconds.

history_config acepta enabled, retention_days, match y path. retention_days vale 4 por defecto, match acepta url o url+role, y path vale ~/.sweepy/history.db por defecto.

Devuelve profile_path, enabled_engines y engines_not_enabled.

run_sweep​

Inicia el proceso de cinco etapas y devuelve puntuaciones deterministas de solapamiento de palabras clave. No invoca el criterio de un LLM.

ParámetroTipoPredeterminadoDescripción
profile_pathstringnullRuta al perfil YAML. Si se omite, Sweepy usa el último perfil guardado y luego el primer perfil convencional del disco: profiles/custom_profile.yaml, profiles/paralegal_nyc.yaml o config.sample.yaml.
deduplicatebooleantrueFusiona URL repetidas y ofertas coincidentes de distintas plataformas en esta ejecución.
include_seenbooleanfalseInforma de ofertas de barridos anteriores y actualiza su historial.
wait_secondsinteger45Espera máxima antes de que la llamada devuelva el progreso. Limitada al rango de 0 a 600.

Un barrido en vivo suele durar más que el tiempo de espera de un cliente. El proceso cubre esa diferencia ejecutándose en un hilo en segundo plano. Una llamada que devuelve sweep_status: "running" incluye un job_id. Pasa ese id a get_sweep_status hasta que el estado indique completed.

Una segunda llamada con el mismo perfil y las mismas banderas se une al trabajo en curso en lugar de iniciar otro. El proceso del servidor debe seguir en ejecución. Los id de los trabajos de barrido viven en memoria. Un reinicio los borra.

Devuelve una de estas tres cargas útiles:

  • En ejecución: sweep_status, job_id, progress con step, total y label, además de elapsed_seconds, debug_log y message.
  • Completado: sweep_status, job_id, discovered_count, new_count, previously_seen_count, active_count, top_match, top_roles, reports, job_ids, card_count, assessed_count, assessment_mode, assessment_required, skipped_sources, elapsed_seconds, debug_log y message. top_roles contiene los cinco primeros puestos.
  • Fallido: status: "error", message, job_id y sweep_status: "failed".

Una ruta de perfil ausente o ilegible falla antes de que empiece el trabajo. Ese error no tiene job_id.

Cuando todas las ofertas descubiertas son repetidas, previously_seen_count informa del total y active_count informa de cero. Llama a run_sweep con include_seen en true para revisarlas.

get_sweep_status​

Espera a un barrido iniciado por run_sweep e informa de su progreso.

ParámetroTipoPredeterminadoDescripción
job_idstringnullId del barrido devuelto por run_sweep. Por defecto usa el trabajo más reciente.
wait_secondsinteger45Espera máxima antes de que la llamada devuelva el progreso. Limitada al rango de 0 a 600.

Cada respuesta devuelve los mismos campos que el resultado correspondiente de run_sweep. Un job_id ausente o desconocido devuelve un error que remite a run_sweep.

Un barrido terminado también carga sus fichas en la sesión activa, así que get_jobs, submit_judgments y render_report funcionan cuando el estado indica completed.

get_jobs​

Devuelve los registros de fichas de la sesión actual, ordenados por solapamiento de palabras clave o por la puntuación de coincidencia enviada.

ParámetroTipoPredeterminadoDescripción
profile_stemstringnullIdentificador del perfil usado para cargar una sesión guardada, como pedro_writer.
results_dirstring"results"Carpeta que contiene report_session.json.
limitintegernullNúmero de fichas que se devuelven. Omítelo para devolverlas todas. Sweepy aplica un mínimo de uno.

Devuelve count y jobs. Mientras se ejecuta un barrido, la carga útil añade sweep_status, running_job_id, progress y un message que avisa de que las fichas son anteriores a ese barrido.

submit_judgments​

Combina la evaluación de un asistente en una ficha o en un lote completo. Solo cambian los campos que no son nulos.

ParámetroTipoPredeterminadoDescripción
job_idstringnullId estable de la ficha, devuelto por run_sweep o get_jobs. Es obligatorio a menos que pases judgments.
match_pctintegernullPorcentaje de coincidencia de 0 a 100. Si lo indicas, la etiqueta de la ficha cambia a MATCH.
resume_trackstringnullCanal de currículum que se muestra en la ficha.
resume_colorstringnullColor de la insignia de ese canal.
domainstringnullÁmbito del puesto que se muestra en la ficha.
summarystringnullTexto del resumen de la ficha.
requirementsstringnullTexto de los requisitos.
alignmentstringnullNota que conecta la evidencia del currículum con el puesto.
has_extended_responsebooleannullMarca una oferta que exige respuestas escritas.
app_formatstringnullFormato de candidatura, como un portal o un correo electrónico.
compstringnullLínea de remuneración.
benefitsstringnullLínea de prestaciones.
page_themestringnullTema de la ficha que sustituye al predeterminado.
judgmentsarraynullLista de objetos de evaluación, cada uno con un job_id y cualquiera de los campos anteriores. No lo combines con job_id.

Devuelve la ficha combinada como job. Un lote devuelve applied, jobs y rejected, donde rejected nombra cualquier entrada cuyo id falte en la sesión.

import_jobs​

Añade puestos que una investigación independiente encontró y verificó. Sweepy no los confirma por defecto.

ParámetroTipoPredeterminadoDescripción
jobs_jsonstringObligatorioArray JSON de registros de fichas.
validatebooleanfalsePasa cada URL por el verificador de enlaces antes de importar.

Devuelve imported y skipped. Una respuesta de límite de tasa o de protección anti-bots cuenta como no verificada, así que no demuestra que una oferta haya caducado.

render_report​

Genera el PDF de fichas a partir de la sesión actual.

ParámetroTipoPredeterminadoDescripción
profile_stemstringnullIdentificador del perfil usado para cargar una sesión guardada.
results_dirstring"results"Carpeta de la salida predeterminada y de la sesión guardada.
output_filenamestringnullRuta explícita del PDF. Debe permanecer dentro del espacio de trabajo.
playbookstring""Nota de estrategia en texto sin formato. Sweepy escapa & y los signos de menor y mayor, y muestra **negrita** en negrita. Los saltos de línea se convierten en saltos de párrafo. Sweepy guarda el texto con la sesión, así que una llamada posterior sin él reutiliza el texto guardado. Un valor vacío sin texto guardado genera un playbook determinista.

Devuelve pdf_report, pages, card_count y playbook_saved.

Los perfiles usan report.assessment: "agent" por defecto, lo que bloquea la generación mientras alguna ficha solo tenga solapamiento de palabras clave. El error enumera unassessed_job_ids y unassessed_titles para que el asistente sepa qué evaluar. Define report.assessment: "keyword" para permitir informes mixtos, o SWEEPY_REQUIRE_JUDGMENTS=1 para aplicar el control a todos los perfiles y a export_report.

Herramientas de resultados e historial​

get_results​

Lee del disco el JSON del último barrido. Nunca vuelve a ejecutar el descubrimiento ni la puntuación.

ParámetroTipoPredeterminadoDescripción
profile_stemstringnullIdentificador de perfil que filtra los archivos de resultado. Omítelo para leer el archivo de resultado más reciente.
results_dirstring"results"Carpeta que contiene los archivos de resultado.
limitinteger10Número de puestos principales que se devuelven. Limitado al rango de 1 a 100.

Devuelve result_file, pdf_report, csv_report, total_roles y top_roles. Cada puesto contiene title, company, location, match_score, match_kind, resume_track, domain, url y playbook.

Las puntuaciones etiquetadas como KEYWORD OVERLAP son valores deterministas de primera pasada. Usa get_jobs y submit_judgments antes de presentarlas como coincidencias.

export_report​

Reconstruye los archivos de informe a partir de un JSON de barrido existente.

ParámetroTipoPredeterminadoDescripción
json_sourcestringnullRuta al JSON del barrido. Tiene prioridad sobre profile_stem.
profile_stemstringnullIdentificador de perfil usado para encontrar el JSON más reciente que coincida.
results_dirstring"results"Carpeta que contiene los archivos de resultado.
formatsstring array["pdf"]Formatos de salida: pdf, png, csv o json.
candidate_namestring"Job Seeker"Nombre que aparece en la cabecera del PDF.
output_dirstringnullCarpeta de salida. Por defecto es la carpeta que contiene el JSON de origen.
job_trackingbooleannullAñade las columnas de seguimiento de candidaturas a una exportación CSV. Déjalo sin definir para seguir el ajuste export.tracking del perfil.

Devuelve source_file, roles_exported, generated y errors. El objeto generated contiene pdf, pdf_pages, png, csv, csv_rows y json cuando la petición incluye esos formatos. Una petición PNG genera primero el PDF. La salida JSON escribe {stem}_export.json, así que nunca sobrescribe el archivo de barrido que la alimenta.

clear_history​

Olvida las ofertas informadas para que el siguiente barrido pueda informarlas de nuevo.

ParámetroTipoPredeterminadoDescripción
profile_pathstringnullRuta al perfil YAML.
profile_stemstringnullIdentificador del perfil, como pedro_writer.

Devuelve scope, cleared y remaining. Los historiales son por perfil. Llama a la herramienta sin ningún parámetro después de un barrido para borrar el perfil que ese barrido usó. Esa alternativa lee el estado del servidor en ejecución, así que pasa profile_path o profile_stem después de un reinicio.

Herramientas de conversión de documentos​

convert_document​

Convierte .docx, .doc, .txt, .md o .pdf a PDF. Un origen PDF pasa sin cambios. Los archivos .doc heredados necesitan Microsoft Word.

ParámetroTipoPredeterminadoDescripción
document_pathstringObligatorioRuta del archivo que se va a convertir.
pdf_pathstringnullRuta de salida. Por defecto es la carpeta de origen.

Devuelve pdf_path y source_path.

convert_docx​

Convierte un currículum DOCX a PDF con python-docx y reportlab. Cuando Microsoft Word está disponible, recurre a docx2pdf.

ParámetroTipoPredeterminadoDescripción
docx_pathstringObligatorioRuta del archivo .docx.
pdf_pathstringnullRuta de salida. Por defecto es la carpeta del DOCX.

Devuelve pdf_path.

Rutas de escritura​

Las herramientas que escriben mantienen su salida dentro de la carpeta de Sweepy. Un destino fuera de esa carpeta falla hasta que configures SWEEPY_ALLOW_EXTERNAL_WRITES en 1. Las lecturas aceptan cualquier ruta que el proceso pueda abrir.