إنتقل إلى المحتوى الرئيسي

مرجع أدوات MCP في Sweepy

يعرض خادم MCP في server.py اثنتي عشرة أداة. وتغطي صفحة دمج MCP التسجيل وسير العمل الشائع. وتسرد هذه الصفحة كل توقيع، لتتوقع ما يفعله الاستدعاء قبل أن يشغّله مساعد.

حمولة الاستجابة​

تعيد كل أداة سلسلة JSON داخل كتلة محتوى نصية. وتبدأ حمولات النجاح بـ "status": "ok". وتبدأ حمولات الفشل بـ "status": "error" وتتضمن message يشرح السبب. ويبلّغ المسح الفاشل أيضًا عن job_id وsweep_status: "failed".

تلميحات السلوك​

يعلن Sweepy أربع تعليقات MCP على كل أداة. ويقرأ المضيف المتوافق هذه التلميحات قبل أن يستدعي الأداة.

التلميحالمعنى
readOnlyHintلا يحفظ الاستدعاء أي تغييرات.
destructiveHintقد يكتب الاستدعاء فوق ملفات أو ملفات تعريفية أو سجل، أو يحذفها.
idempotentHintتكرار الاستدعاء نفسه يصل إلى الحالة النهائية نفسها.
openWorldHintيتجاوز الاستدعاء الجهاز المحلي.
الأداةقراءة فقطتدميريةتكراريةعالم مفتوح
create_profileلانعمنعملا
run_sweepلانعملانعم
get_sweep_statusلالانعملا
get_jobsلالانعملا
submit_judgmentsلانعمنعملا
import_jobsلانعمنعمنعم
render_reportلانعمنعملا
get_resultsنعملانعملا
export_reportلانعمنعملا
clear_historyلانعمنعملا
convert_documentلانعمنعملا
convert_docxلانعمنعملا

أدوات الملف التعريفي والمسح​

create_profile​

يتحقق من كل محرك ممكّن، ثم يكتب ملف الملف التعريفي بصيغة YAML.

المعاملالنوعالافتراضيالوصف
namestringمطلوبالاسم الكامل المكتوب في الملف التعريفي.
titlesstring arrayمطلوبالمسميات الوظيفية المستهدفة، مثل ["Technical Writer", "UX Writer"].
locationstringمطلوبالموقع المستهدف، مثل "New York, NY".
resume_pathstringمطلوبمسار سيرة ذاتية بصيغة PDF أو DOCX.
remote_onlybooleanfalseيقصر النتائج على الوظائف عن بُعد بنسبة 100%.
include_hybridbooleantrueيبقي الوظائف الهجينة في النتائج.
min_salaryinteger0الحد الأدنى للراتب الأساسي السنوي. والصفر يعني بلا حد أدنى.
must_have_skillsstring arraynullمصطلحات مهارات تعزز التطابق.
synonymsarray of arraysnullمجموعات مصطلحات متبادلة، مثل [["docs-as-code", "documentation as code"]].
platformsobjectnullمفاتيح منصات تُدمج في كتلة platforms بالملف التعريفي.
sources_configobjectnullاختيار المحركات يُدمج في كتلة sources. ويتحقق كل محرك قبل الكتابة.
cache_configobjectnullإعدادات الذاكرة المؤقتة: enabled وttl_seconds.
orchestrator_configobjectnullإعدادات المهلة وقاطع الدائرة.
history_configobjectnullإعدادات بين التشغيلات تتحكم في الإعلانات التي يتجاوزها المسح.
job_trackingbooleantrueيضيف أعمدة تتبع الوظائف إلى CSV وينقل القيم السابقة للأمام.
assessmentstring"agent"بوابة التقرير. agent تمنع التقرير ما دامت أي بطاقة تحمل تداخل كلمات مفتاحية وحده. وkeyword تسمح بتقارير بالكلمات المفتاحية فقط.
output_filenamestringnullمسار YAML مخصص. والقيمة الافتراضية profiles/{name}_{title}.yaml. ويحوّل Sweepy الجزأين إلى أحرف صغيرة ويستبدل كل محرف غير أبجدي رقمي بـ _.

يأخذ orchestrator_config القيمة timeout_per_source_seconds وكائن circuit_breaker يحمل failure_threshold وcooldown_seconds.

يأخذ history_config القيم enabled وretention_days وmatch وpath. والقيمة الافتراضية لـ retention_days هي 4، ويقبل match القيمة url أو url+role، والقيمة الافتراضية لـ path هي ~/.sweepy/history.db.

ويعيد profile_path وenabled_engines وengines_not_enabled.

run_sweep​

يبدأ خط المعالجة المكوّن من خمس مراحل ويعيد نتائج تداخل الكلمات المفتاحية الحتمية. ولا يستدعي تقييم LLM.

المعاملالنوعالافتراضيالوصف
profile_pathstringnullمسار الملف التعريفي بصيغة YAML. وعند حذفه، يستخدم Sweepy آخر ملف تعريفي محفوظ، ثم أول ملف تعريفي تقليدي على القرص: profiles/custom_profile.yaml أو profiles/paralegal_nyc.yaml أو config.sample.yaml.
deduplicatebooleantrueيدمج الروابط المكررة والإعلانات المطابقة من منصات مختلفة لهذا التشغيل.
include_seenbooleanfalseيبلّغ عن إعلانات من عمليات مسح سابقة ويحدّث سجلها.
wait_secondsinteger45أطول انتظار حاجز قبل أن يعيد الاستدعاء تقدمًا. ويُقيَّد في النطاق من 0 إلى 600.

غالبًا يعمل المسح الحي أطول من مهلة العميل. ويتعامل خط المعالجة مع تلك الفجوة بالعمل في خيط خلفي. والاستدعاء الذي يعيد sweep_status: "running" يتضمن job_id. ومرّر ذلك المعرّف إلى get_sweep_status إلى أن تصبح الحالة completed.

وينضم استدعاء ثانٍ بالملف التعريفي والمفاتيح نفسها إلى المهمة الجارية بدلًا من بدء أخرى. ويجب أن تبقى عملية الخادم قيد التشغيل. فمعرّفات مهام المسح تعيش في الذاكرة. وتزيلها إعادة التشغيل.

ويعيد واحدة من ثلاث حمولات:

  • قيد التشغيل: sweep_status وjob_id وprogress مع step وtotal وlabel، بالإضافة إلى elapsed_seconds وdebug_log وmessage.
  • مكتمل: 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 وmessage. ويحمل top_roles الوظائف الخمس الأولى.
  • فاشل: status: "error" وmessage وjob_id وsweep_status: "failed".

ويفشل مسار ملف تعريفي مفقود أو غير قابل للقراءة قبل أن تبدأ المهمة. وذلك الخطأ لا يحمل job_id.

وعندما يكون كل إعلان مكتشف مكررًا، يبلّغ previously_seen_count عن الإجمالي ويبلّغ active_count عن صفر. واستدعِ run_sweep مع include_seen بقيمة true لمراجعتها.

get_sweep_status​

ينتظر مسحًا بدأه run_sweep ويبلّغ عن تقدمه.

المعاملالنوعالافتراضيالوصف
job_idstringnullمعرّف المسح من run_sweep. والقيمة الافتراضية أحدث مهمة.
wait_secondsinteger45أطول انتظار حاجز قبل أن يعيد الاستدعاء تقدمًا. ويُقيَّد في النطاق من 0 إلى 600.

تعيد كل استجابة الحقول نفسها التي تعيدها نتيجة run_sweep المطابقة. ويعيد job_id مفقود أو غير معروف خطأً يوجهك مرة أخرى إلى run_sweep.

ويحمّل المسح المنتهي بطاقاته أيضًا في الجلسة الحية، فتعمل get_jobs وsubmit_judgments وrender_report بمجرد أن تصبح الحالة completed.

get_jobs​

يعيد سجلات البطاقات المحفوظة في الجلسة الحالية، مرتبة حسب تداخل الكلمات المفتاحية أو درجة التطابق المرسلة.

المعاملالنوعالافتراضيالوصف
profile_stemstringnullمعرّف الملف التعريفي المستخدم لتحميل جلسة محفوظة، مثل pedro_writer.
results_dirstring"results"المجلد الذي يحتوي report_session.json.
limitintegernullعدد البطاقات المعادة. احذفه لإعادة كل بطاقة. ويفرض Sweepy حدًا أدنى قدره واحد.

ويعيد count وjobs. وأثناء تشغيل مسح، تضيف الحمولة sweep_status وrunning_job_id وprogress وmessage يحذر من أن البطاقات تسبق ذلك المسح.

submit_judgments​

يدمج تقييم المساعد في بطاقة واحدة أو دفعة كاملة. ولا تتغير إلا الحقول غير الفارغة.

المعاملالنوعالافتراضيالوصف
job_idstringnullمعرّف البطاقة الثابت من run_sweep أو get_jobs. مطلوب إلا إذا مرّرت judgments.
match_pctintegernullنسبة التطابق من 0 إلى 100. وتغييرها يغيّر تسمية البطاقة إلى MATCH.
resume_trackstringnullمسار السيرة الذاتية المعروض على البطاقة.
resume_colorstringnullلون الشارة لذلك المسار.
domainstringnullمجال الوظيفة المعروض على البطاقة.
summarystringnullنص ملخص البطاقة.
requirementsstringnullنص المتطلبات.
alignmentstringnullملاحظة تربط دليل السيرة الذاتية بالوظيفة.
has_extended_responsebooleannullيوسم إعلانًا يتطلب إجابات كتابية.
app_formatstringnullصيغة التقديم، مثل بوابة أو بريد إلكتروني.
compstringnullسطر الراتب.
benefitsstringnullسطر المزايا.
page_themestringnullتجاوز سمة البطاقة.
judgmentsarraynullقائمة كائنات تقييم، يحمل كل منها job_id مع أي حقل سابق. لا تجمعها مع job_id.

ويعيد البطاقة المدمجة باسم job. وتعيد الدفعة applied وjobs وrejected، حيث يسمي rejected أي إدخال معرّفه مفقود من الجلسة.

import_jobs​

يضيف وظائف وجدها بحث مستقل وتحقّق منها. ولا يؤكدها Sweepy افتراضيًا.

المعاملالنوعالافتراضيالوصف
jobs_jsonstringمطلوبمصفوفة JSON من سجلات البطاقات.
validatebooleanfalseيمرّر كل رابط عبر مدقق الروابط قبل الاستيراد.

ويعيد imported وskipped. وتُحتسب استجابة حد الطلبات أو حجب الروبوت كغير متحققة، فلا تثبت أن إعلانًا ميت.

render_report​

يعرض تقرير البطاقات بصيغة PDF من الجلسة الحالية.

المعاملالنوعالافتراضيالوصف
profile_stemstringnullمعرّف الملف التعريفي المستخدم لتحميل جلسة محفوظة.
results_dirstring"results"مجلد الإخراج الافتراضي والجلسة المحفوظة.
output_filenamestringnullمسار PDF صريح. ويجب أن يبقى داخل مساحة العمل.
playbookstring""ملاحظة استراتيجية بنص عادي. ويهرّب Sweepy الرمز & والأقواس الزاوية، ويعرض **bold** غامقًا. وتتحول الأسطر الجديدة إلى فواصل أسطر. ويحفظ Sweepy النص مع الجلسة، فيعيد استدعاء لاحق دون نص استخدام النص المحفوظ. والقيمة الفارغة دون نص محفوظ تولّد دليل استراتيجية حتميًا.

ويعيد pdf_report وpages وcard_count وplaybook_saved.

تأخذ الملفات التعريفية القيمة report.assessment: "agent" افتراضيًا، وهي تمنع العرض ما دامت أي بطاقة تحمل تداخل كلمات مفتاحية وحده. ويسرد الخطأ unassessed_job_ids وunassessed_titles ليعرف المساعد ما يجب تقييمه. اضبط report.assessment: "keyword" للسماح بتقارير مختلطة، أو SWEEPY_REQUIRE_JUDGMENTS=1 لتطبيق البوابة على كل ملف تعريفي وعلى export_report.

أدوات النتائج والسجل​

get_results​

يقرأ أحدث JSON للمسح من القرص. ولا يعيد تشغيل الاكتشاف أو الاحتساب قط.

المعاملالنوعالافتراضيالوصف
profile_stemstringnullمعرّف الملف التعريفي الذي يرشح ملفات النتائج. احذفه لقراءة أحدث ملف نتائج.
results_dirstring"results"المجلد الذي يحتوي ملفات النتائج.
limitinteger10عدد الوظائف الأولى المعادة. ويُقيَّد في النطاق من 1 إلى 100.

ويعيد result_file وpdf_report وcsv_report وtotal_roles وtop_roles. وتحتوي كل وظيفة على title وcompany وlocation وmatch_score وmatch_kind وresume_track وdomain وurl وplaybook.

والنتائج الموسومة بـ KEYWORD OVERLAP قيم حتمية في الجولة الأولى. واستخدم get_jobs وsubmit_judgments قبل أن تعرضها كتطابقات.

export_report​

يعيد بناء ملفات التقرير من JSON مسح قائم.

المعاملالنوعالافتراضيالوصف
json_sourcestringnullمسار JSON المسح. وله الأولوية على profile_stem.
profile_stemstringnullمعرّف الملف التعريفي المستخدم لإيجاد أحدث JSON مطابق.
results_dirstring"results"المجلد الذي يحتوي ملفات النتائج.
formatsstring array["pdf"]صيغ الإخراج: pdf أو png أو csv أو json.
candidate_namestring"Job Seeker"الاسم في ترويسة PDF.
output_dirstringnullمجلد الإخراج. والقيمة الافتراضية المجلد الذي يحتوي JSON المصدر.
job_trackingbooleannullيضيف أعمدة تتبع الوظائف إلى تصدير CSV. اتركه دون ضبط لاتباع إعداد export.tracking في الملف التعريفي.

ويعيد source_file وroles_exported وgenerated وerrors. ويحمل كائن generated القيم pdf وpdf_pages وpng وcsv وcsv_rows وjson عندما يتضمن الطلب تلك الصيغ. ويطلب PNG عرض PDF أولًا. ويخرّج JSON الملف {stem}_export.json، فلا يكتب فوق ملف المسح الذي يغذيه قط.

clear_history​

ينسى الإعلانات المُبلَّغ عنها ليستطيع المسح التالي الإبلاغ عنها مرة أخرى.

المعاملالنوعالافتراضيالوصف
profile_pathstringnullمسار الملف التعريفي بصيغة YAML.
profile_stemstringnullمعرّف الملف التعريفي، مثل pedro_writer.

ويعيد scope وcleared وremaining. والسجلات لكل ملف تعريفي. واستدعِ الأداة دون أي معامل بعد مسح لمسح سجل الملف التعريفي الذي استخدمه ذلك المسح. ويقرأ ذلك البديل حالة الخادم الجاري، فمرّر profile_path أو profile_stem بعد إعادة التشغيل.

أدوات تحويل المستندات​

convert_document​

يحوّل .docx أو .doc أو .txt أو .md أو .pdf إلى PDF. ويمر ملف PDF المصدر دون تغيير. وتحتاج ملفات .doc القديمة إلى Microsoft Word.

المعاملالنوعالافتراضيالوصف
document_pathstringمطلوبمسار الملف المراد تحويله.
pdf_pathstringnullمسار الإخراج. والقيمة الافتراضية مجلد المصدر.

ويعيد pdf_path وsource_path.

convert_docx​

يحوّل سيرة ذاتية بصيغة DOCX إلى PDF بـ python-docx وreportlab. وعندما يتوفر Microsoft Word، يعود إلى docx2pdf.

المعاملالنوعالافتراضيالوصف
docx_pathstringمطلوبمسار ملف .docx.
pdf_pathstringnullمسار الإخراج. والقيمة الافتراضية مجلد DOCX.

ويعيد pdf_path.

مسارات الكتابة​

تُبقي الأدوات التي تكتب مخرجاتها داخل مجلد Sweepy. ويفشل أي هدف خارج ذلك المجلد إلى أن تضبط SWEEPY_ALLOW_EXTERNAL_WRITES على 1. وتقبل القراءات أي مسار تستطيع العملية فتحه.