{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_x2qcyehzunf6","handle":"hopehire","url":"https://wellknown.network/agents/hopehire","links":{"self":"https://wellknown.network/agents/hopehire/record.json","html":"https://wellknown.network/agents/hopehire","markdown":"https://wellknown.network/agents/hopehire/record.md","api":"https://wellknown.network/api/v1/agents/hopehire","status":"https://wellknown.network/api/v1/agents/hopehire/status","claim":"https://wellknown.network/agents/hopehire/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hopehire/claim.json","badge":"https://wellknown.network/agents/hopehire/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hopehire/history","tools":"https://wellknown.network/api/v1/agents/hopehire/tools"},"ard":{"identifier":"urn:air:hopehire.in:server:hopehire","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"HopeHire","summary":"Tailor resumes, score ATS fit, find hiring leads, and send cold outreach, from your agent.","description":"Tailor resumes, score ATS fit, find hiring leads, and send cold outreach, from your agent.","publisher":{"name":"in.hopehire","url":null},"homepage":null,"repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://hopehire.in/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-23T18:59:14.546324Z","publishedAt":"2026-10-23T18:59:14.546324Z","registryName":"in.hopehire/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"code.debugging","name":"Debugging","confidence":1,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":1,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":1,"provenance":"derived"},{"slug":"knowledge.memory","name":"Agent Memory","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.859,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.583,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.583,"provenance":"derived"}],"categories":["analytics","code","communication","documents","knowledge","productivity","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 7h ago.","lastOkAt":"2026-10-26T02:24:16.607Z","lastProbedAt":"2026-10-26T02:24:16.607Z","statusComputedAt":"2026-10-26T02:27:33.754Z","reliability30d":{"probes":2,"successRate":1,"p50Ms":805,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":2,"ok":2,"authBoundaryOk":0,"serviceOk":2,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-26T02:24:16.607Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":799,"error":null,"detail":{"tools":[{"name":"get_notifications_api_notifications_get","description":"Get Notifications\n\nFetch notifications for the current user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**"},{"name":"mark_all_notifications_as_read_api_notifications_read_all_post","description":"Mark All Notifications As Read\n\nMark every unread notification as read (not just the page the client loaded).\n\n### Responses:\n\n**200**: Successful Response (Suc"},{"name":"mark_notification_as_read_api_notifications__notification_id__re","description":"Mark Notification As Read\n\nMark a notification as read.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"delete_notification_api_notifications__notification_id__delete","description":"Delete Notification\n\nDelete a notification.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_ats_score_api_resume_ats_score_get","description":"Get Ats Score\n\nReturn the most recently calculated ATS score for the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Typ"},{"name":"refresh_ats_score_api_resume_ats_score_refresh_post","description":"Refresh Ats Score\n\nRecalculate the ATS score from the current resume and persist it.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Ty"},{"name":"resume_ai_chat_api_resume_ai_chat_post","description":"Resume Ai Chat\n\nStream an AI response that helps the user interactively improve their resume.\n\nBody:\n    user_id             (str)  — authenticated user's ID\n  "},{"name":"mark_improvement_suggestions_invalid_api_resume_improvement_sugg","description":"Mark Improvement Suggestions Invalid\n\nReplace improvement suggestions with the provided valid_suggestions list.\nRequires authentication.\n\n### Responses:\n\n**200*"},{"name":"generate_yaml_version_api_resume_generate_yaml_post","description":"Generate Yaml Version\n\nGenerate YAML version and RenderCV PDF for existing resume\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"apply_suggestions_api_resume_apply_suggestions_post","description":"Apply Suggestions\n\nApply improvement suggestions to YAML and regenerate PDF\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_yaml_suggestions_api_resume_yaml_suggestions_post","description":"Get Yaml Suggestions\n\nGenerate YAML-based improvement suggestions\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"generate_complete_resume_api_resume_generate_complete_post","description":"Generate Complete Resume\n\nGenerate a complete, enhanced resume with additional relevant content using AI.\nRequires authentication.\n\n### Responses:\n\n**200**: Suc"},{"name":"render_raw_yaml_api_resume_render_raw_yaml_post","description":"Render Raw Yaml\n\nHot-reload: Generate PDF from raw YAML content\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"save_resume_yaml_api_resume_save_yaml_post","description":"Save Resume Yaml\n\nSave raw YAML content to the user's resume.\n\nYAML is treated as the source of truth: the structured resume fields\n(personalInfo, experience, e"},{"name":"create_resume_from_linkedin_api_resume_from_linkedin_post","description":"Create Resume From Linkedin\n\nCreate a resume from LinkedIn profile URL using Apify API.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response ("},{"name":"get_rendercv_pdf_api_resume_rendercv_pdf_get","description":"Get Rendercv Pdf\n\nGet RenderCV PDF download URL for the user's resume.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)"},{"name":"get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get","description":"Get Rendercv Pdf Download\n\nReturn a presigned URL with Content-Disposition: attachment so the browser\ndownloads the resume PDF instead of opening it inline.\n\n##"},{"name":"test_pdf_generation_api_resume_test_pdf_generation_get","description":"Test Pdf Generation\n\nTest PDF generation to debug PDF issues.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"debug_pdf_api_resume_debug_pdf_get","description":"Debug Pdf\n\nGet debugging information about a PDF file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"download_resume_api_resume_download_get","description":"Download Resume\n\nDownload the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response"},{"name":"public_resume_api_resume_public_get","description":"Public Resume\n\nResume link embedded in cold emails: no login, but only links we signed will open.\n\n### Responses:\n\n**200**: Successful Response (Success Respons"},{"name":"show_resume_api_resume__resume_id__get","description":"Show Resume\n\nShow the resume via redirect to presigned S3 URL.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n"},{"name":"get_resume_api_resume_get","description":"Get Resume\n\nGet the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:**\n```jso"},{"name":"upload_resume_api_resume_post","description":"Upload Resume\n\nUpload and process a resume file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"update_resume_manual_api_resume_put","description":"Update Resume Manual\n\nUpdate a user's resume manually and trigger PDF generation.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"delete_resume_api_resume_delete","description":"Delete Resume\n\nDelete the user's resume and cleanup associated resources.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Respon"},{"name":"set_cold_email_resume_source_api_resume_cold_email_source_put","description":"Set Cold Email Resume Source\n\nSet which resume file cold outreach should use: the originally uploaded\nfile (\"uploaded\", the default) or HopeHire's RenderCV-gene"},{"name":"get_preferences_api_job_preferences_get","description":"Get Preferences\n\nGet the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"create_preferences_api_job_preferences_post","description":"Create Preferences\n\nCreate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"update_preferences_api_job_preferences_put","description":"Update Preferences\n\nUpdate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"delete_preferences_api_job_preferences_delete","description":"Delete Preferences\n\nDelete the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"start_job_matching_api_job_matches_start_post","description":"Start Job Matching\n\nStart an asynchronous job matching process\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent"},{"name":"get_filtered_jobs_api_job_matches_get","description":"Get Filtered Jobs\n\nGet filtered job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"clear_job_matches_api_job_matches_delete","description":"Clear Job Matches\n\nClear all job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appl"},{"name":"start_conversation_api_auto_apply_start_conversation_post","description":"Start Conversation\n\nStart a new conversation using the shared auto-apply service logic.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent"},{"name":"start_auto_apply_api_auto_apply_post","description":"Start auto-apply process\n\nLaunches an automated job application process that finds contacts, generates personalized messages, and sends emails with resume attac"},{"name":"get_auto_apply_tasks_api_auto_apply_get","description":"Get all auto-apply tasks for a user\n\nGet all auto-apply tasks for a given user.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success "},{"name":"get_auto_apply_status_api_auto_apply__task_id__get","description":"Check auto-apply status\n\nRetrieves the current status and results of an auto-apply task.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nConten"},{"name":"get_auto_apply_status_by_task_id_api_auto_apply_status__task_id_","description":"Get Auto Apply Status By Task Id\n\nGet status of an auto-apply task by task_id (conversationId).\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Re"},{"name":"start_conversation_api_email_conversations_start_conversation_po","description":"Start Conversation\n\nStart a new email conversation.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_conversations_api_email_conversations_get","description":"Get Conversations\n\nGet all conversations for the authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"get_conversation_details_api_email_conversations__conversation_i","description":"Get Conversation Details\n\nGet details of a specific conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"pause_conversation_api_email_conversations__conversation_id__pau","description":"Pause Conversation\n\nPause an ongoing conversation to stop automatic follow-ups.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"resume_conversation_api_email_conversations__conversation_id__re","description":"Resume Conversation\n\nResume a paused conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"send_manual_message_api_email_conversations__conversation_id__me","description":"Send Manual Message\n\nSend a manual message in the conversation, overriding the AI.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type"},{"name":"resolve_protocol_api_email_conversations__conversation_id__resol","description":"Resolve Protocol\n\nResolve a human-intervention protocol by sending a manual reply \nand marking the associated notification as read.\n\n### Responses:\n\n**200**: Su"},{"name":"get_system_stats_api_multi_tenant_monitoring_stats_get","description":"Get System Stats\n\nGet overall system statistics\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"get_active_users_api_multi_tenant_monitoring_users_active_get","description":"Get Active Users\n\nGet list of active users with email monitoring enabled\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"enable_user_monitoring_api_multi_tenant_monitoring_users__user_i","description":"Enable User Monitoring\n\nEnable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"disable_user_monitoring_api_multi_tenant_monitoring_users__user_","description":"Disable User Monitoring\n\nDisable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_user_monitoring_config_api_multi_tenant_monitoring_users_","description":"Update User Monitoring Config\n\nUpdate email monitoring configuration for a user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"trigger_user_discovery_api_multi_tenant_monitoring_discovery_tri","description":"Trigger User Discovery\n\nManually trigger user discovery process\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_user_monitoring_status_api_multi_tenant_monitoring_users__us","description":"Get User Monitoring Status\n\nGet monitoring status for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"get_email_analytics_report_api_reports__user_id___duration__get","description":"Get Email Analytics Report\n\nGet email analytics report for a user over a specific duration.\n\nDuration options:\n- 7d: Last 7 days\n- 30d: Last 30 days\n- 90d: Last"},{"name":"get_email_analytics_summary_api_reports__user_id__summary_get","description":"Get Email Analytics Summary\n\nGet a quick summary of email analytics for the last 30 days.\nThis is a lightweight endpoint for dashboard widgets.\n\n### Responses:\n"},{"name":"get_user_memory_api_user_memory__user_id__get","description":"Get User Memory\n\nGet user memory by user ID\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:"},{"name":"create_user_memory_api_user_memory__user_id__post","description":"Create User Memory\n\nCreate new user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:*"},{"name":"update_user_memory_api_user_memory__user_id__put","description":"Update User Memory\n\nUpdate existing user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"delete_user_memory_api_user_memory__user_id__delete","description":"Delete User Memory\n\nDelete (deactivate) user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example R"},{"name":"get_user_memory_history_api_user_memory__user_id__history_get","description":"Get User Memory History\n\nGet user memory history (all versions)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n"},{"name":"add_ai_interaction_context_api_user_memory__user_id__context_pos","description":"Add Ai Interaction Context\n\nAdd AI interaction context to user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_remembered_field_answer_api_user_memory__user_id__remembe","description":"Update Remembered Field Answer\n\nEdit one remembered application-field answer from the memory-bank UI.\nSame durable store the extension writes to (interaction_hi"},{"name":"delete_remembered_field_answer_api_user_memory__user_id__remembe","description":"Delete Remembered Field Answer\n\nForgets one remembered application-field answer (memory-bank UI delete action).\n\n### Responses:\n\n**200**: Successful Response (S"},{"name":"apply_memory_suggestion_api_user_memory_apply_suggestion_post","description":"Apply Memory Suggestion\n\nApply a specific memory update suggested by the AI.\nBody: { user_id, suggestion }\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"user_memory_ai_chat_api_user_memory_ai_chat_post","description":"User Memory Ai Chat\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_available_senders_api_email_sender_pool_senders_get","description":"Get Available Senders\n\nGet all available email senders (admin only — exposes other senders' PII and quotas)\n\n### Responses:\n\n**200**: Successful Response (Succe"},{"name":"get_least_used_sender_api_email_sender_pool_least_used_sender_ge","description":"Get Least Used Sender\n\nGet the least used email sender for load balancing, considering company contact history (admin only)\n\n### Responses:\n\n**200**: Successful"},{"name":"get_fallback_sender_api_email_sender_pool_fallback_sender_get","description":"Get Fallback Sender\n\nGet a fallback email sender, excluding the specified user (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCon"},{"name":"send_email_via_pool_api_email_sender_pool_send_email_post","description":"Send Email Via Pool\n\nSend an email using the email sender pool (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_my_footer_api_email_footer_me_get","description":"Get My Footer\n\nGet the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"update_my_footer_api_email_footer_me_put","description":"Update My Footer\n\nUpdate the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"get_email_footer_api_email_footer__user_id__get","description":"Get Email Footer\n\nGet email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_email_footer_api_email_footer__user_id__put","description":"Update Email Footer\n\nUpdate email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_formatted_footer_api_email_footer__user_id__formatted_get","description":"Get Formatted Footer\n\nGet formatted footer string for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"generate_footer_from_resume_api_email_footer__user_id__generate_","description":"Generate Footer From Resume\n\nGenerate email footer from user's resume data.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_user_config_api_config_user__user_id__get","description":"Get User Config\n\nGet configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_user_config_api_config_user__user_id__put","description":"Update User Config\n\nUpdate configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"reset_user_config_api_config_user__user_id__delete","description":"Reset User Config\n\nReset user configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_campaign_config_api_config_campaign__campaign_id__get","description":"Get Campaign Config\n\nGet configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_campaign_config_api_config_campaign__campaign_id__put","description":"Update Campaign Config\n\nUpdate configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"reset_campaign_config_api_config_campaign__campaign_id__delete","description":"Reset Campaign Config\n\nReset campaign configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_effective_config_api_config_effective__user_id__get","description":"Get Effective Config\n\nGet effective configuration combining user and campaign settings\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"get_default_config_api_config_defaults_get","description":"Get Default Config\n\nGet default configuration values\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_user_configs_api_config_admin_users_get","description":"Get All User Configs\n\nGet all user configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_campaign_configs_api_config_admin_campaigns_get","description":"Get All Campaign Configs\n\nGet all campaign configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicatio"},{"name":"get_available_leads_api_linkedin_leads_get","description":"Get Available Leads\n\nReturn leads for the authenticated user, filtered by outreach status.\n\nstatus=fresh      — leads not yet contacted (default); AI-ranked\nsta"},{"name":"get_all_leads_admin_api_linkedin_leads_all_get","description":"Get All Leads Admin\n\nAdmin view: return all leads regardless of outreach status.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: "},{"name":"get_lead_stats_api_linkedin_leads_stats_get","description":"Get Lead Stats\n\nReturn summary statistics for the lead database.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"list_accounts_api_linkedin_leads_accounts_get","description":"List Accounts\n\nList all LinkedIn scraper accounts in the pool (passwords masked).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"add_account_api_linkedin_leads_accounts_post","description":"Add Account\n\nAdd a LinkedIn scraper account to the pool.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_account_status_api_linkedin_leads_accounts__account_id__s","description":"Update Account Status\n\nUpdate the status of a LinkedIn account (active / cooldown / banned).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCo"},{"name":"list_scrape_runs_api_linkedin_leads_scrape_runs_get","description":"List Scrape Runs\n\nList recent scrape run records for audit / dashboard (admin only: they hold platform-wide queries and volumes).\n\n### Responses:\n\n**200**: Succ"},{"name":"get_lead_outreach_history_api_linkedin_leads__lead_id__history_g","description":"Get Lead Outreach History\n\nReturn the outreach thread for this lead for the current user.\n\nReturns a chronological list of events:\n  - type=sent      — initial "},{"name":"get_lead_api_linkedin_leads__lead_id__get","description":"Get Lead\n\nFetch a single lead by its ID.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_outreach_status_api_linkedin_leads__lead_id__outreach_pat","description":"Update Outreach Status\n\nUpdate the current user's outreach status for a given lead.\nUse this after sending a cold email so the lead is marked as contacted.\n\n###"},{"name":"send_outreach_from_lead_api_linkedin_leads__lead_id__send_outrea","description":"Send Outreach From Lead\n\nGenerate and send a cold outreach email directly from a LinkedIn lead.\n\nFlow:\n  1. Fetch the lead — must have an email address.\n  2. Lo"},{"name":"generate_linkedin_message_api_linkedin_leads__lead_id__generate_","description":"Generate Linkedin Message\n\nGenerate a short LinkedIn outreach message (≤280 chars) personalised to\nthis lead. The frontend copies it to clipboard and opens the "},{"name":"bulk_send_outreach_api_linkedin_leads_bulk_outreach_post","description":"Bulk Send Outreach\n\nSend outreach emails to multiple leads in one call.\n\nEach lead must have an email address. Leads without emails are skipped.\nReturns per-lea"},{"name":"trigger_scrape_api_linkedin_leads_trigger_post","description":"Trigger Scrape\n\nManually kick off a LinkedIn scrape run. Admin only: each run spends metered Apify credits and\naccepts arbitrary search queries.\n\nStrategy (trie"},{"name":"apify_webhook_api_linkedin_leads_webhook_apify_post","description":"Apify Webhook\n\nReceives push notifications from Apify when a scraper run completes.\nNo authentication required (Apify calls this endpoint).\nApify includes a sec"}],"toolCount":165,"toolsHash":"533136f9f15acc7f55f3704b6bc88aa4a6da0abffd4053373d51f4f022402c1e","serverName":"HopeHire","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T18:28:18.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":811,"error":null,"detail":{"tools":[{"name":"get_notifications_api_notifications_get","description":"Get Notifications\n\nFetch notifications for the current user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**"},{"name":"mark_all_notifications_as_read_api_notifications_read_all_post","description":"Mark All Notifications As Read\n\nMark every unread notification as read (not just the page the client loaded).\n\n### Responses:\n\n**200**: Successful Response (Suc"},{"name":"mark_notification_as_read_api_notifications__notification_id__re","description":"Mark Notification As Read\n\nMark a notification as read.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"delete_notification_api_notifications__notification_id__delete","description":"Delete Notification\n\nDelete a notification.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_ats_score_api_resume_ats_score_get","description":"Get Ats Score\n\nReturn the most recently calculated ATS score for the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Typ"},{"name":"refresh_ats_score_api_resume_ats_score_refresh_post","description":"Refresh Ats Score\n\nRecalculate the ATS score from the current resume and persist it.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Ty"},{"name":"resume_ai_chat_api_resume_ai_chat_post","description":"Resume Ai Chat\n\nStream an AI response that helps the user interactively improve their resume.\n\nBody:\n    user_id             (str)  — authenticated user's ID\n  "},{"name":"mark_improvement_suggestions_invalid_api_resume_improvement_sugg","description":"Mark Improvement Suggestions Invalid\n\nReplace improvement suggestions with the provided valid_suggestions list.\nRequires authentication.\n\n### Responses:\n\n**200*"},{"name":"generate_yaml_version_api_resume_generate_yaml_post","description":"Generate Yaml Version\n\nGenerate YAML version and RenderCV PDF for existing resume\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"apply_suggestions_api_resume_apply_suggestions_post","description":"Apply Suggestions\n\nApply improvement suggestions to YAML and regenerate PDF\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_yaml_suggestions_api_resume_yaml_suggestions_post","description":"Get Yaml Suggestions\n\nGenerate YAML-based improvement suggestions\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"generate_complete_resume_api_resume_generate_complete_post","description":"Generate Complete Resume\n\nGenerate a complete, enhanced resume with additional relevant content using AI.\nRequires authentication.\n\n### Responses:\n\n**200**: Suc"},{"name":"render_raw_yaml_api_resume_render_raw_yaml_post","description":"Render Raw Yaml\n\nHot-reload: Generate PDF from raw YAML content\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"save_resume_yaml_api_resume_save_yaml_post","description":"Save Resume Yaml\n\nSave raw YAML content to the user's resume.\n\nYAML is treated as the source of truth: the structured resume fields\n(personalInfo, experience, e"},{"name":"create_resume_from_linkedin_api_resume_from_linkedin_post","description":"Create Resume From Linkedin\n\nCreate a resume from LinkedIn profile URL using Apify API.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response ("},{"name":"get_rendercv_pdf_api_resume_rendercv_pdf_get","description":"Get Rendercv Pdf\n\nGet RenderCV PDF download URL for the user's resume.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)"},{"name":"get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get","description":"Get Rendercv Pdf Download\n\nReturn a presigned URL with Content-Disposition: attachment so the browser\ndownloads the resume PDF instead of opening it inline.\n\n##"},{"name":"test_pdf_generation_api_resume_test_pdf_generation_get","description":"Test Pdf Generation\n\nTest PDF generation to debug PDF issues.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"debug_pdf_api_resume_debug_pdf_get","description":"Debug Pdf\n\nGet debugging information about a PDF file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"download_resume_api_resume_download_get","description":"Download Resume\n\nDownload the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response"},{"name":"public_resume_api_resume_public_get","description":"Public Resume\n\nResume link embedded in cold emails: no login, but only links we signed will open.\n\n### Responses:\n\n**200**: Successful Response (Success Respons"},{"name":"show_resume_api_resume__resume_id__get","description":"Show Resume\n\nShow the resume via redirect to presigned S3 URL.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n"},{"name":"get_resume_api_resume_get","description":"Get Resume\n\nGet the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:**\n```jso"},{"name":"upload_resume_api_resume_post","description":"Upload Resume\n\nUpload and process a resume file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"update_resume_manual_api_resume_put","description":"Update Resume Manual\n\nUpdate a user's resume manually and trigger PDF generation.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"delete_resume_api_resume_delete","description":"Delete Resume\n\nDelete the user's resume and cleanup associated resources.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Respon"},{"name":"set_cold_email_resume_source_api_resume_cold_email_source_put","description":"Set Cold Email Resume Source\n\nSet which resume file cold outreach should use: the originally uploaded\nfile (\"uploaded\", the default) or HopeHire's RenderCV-gene"},{"name":"get_preferences_api_job_preferences_get","description":"Get Preferences\n\nGet the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"create_preferences_api_job_preferences_post","description":"Create Preferences\n\nCreate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"update_preferences_api_job_preferences_put","description":"Update Preferences\n\nUpdate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"delete_preferences_api_job_preferences_delete","description":"Delete Preferences\n\nDelete the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"start_job_matching_api_job_matches_start_post","description":"Start Job Matching\n\nStart an asynchronous job matching process\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent"},{"name":"get_filtered_jobs_api_job_matches_get","description":"Get Filtered Jobs\n\nGet filtered job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"clear_job_matches_api_job_matches_delete","description":"Clear Job Matches\n\nClear all job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appl"},{"name":"start_conversation_api_auto_apply_start_conversation_post","description":"Start Conversation\n\nStart a new conversation using the shared auto-apply service logic.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent"},{"name":"start_auto_apply_api_auto_apply_post","description":"Start auto-apply process\n\nLaunches an automated job application process that finds contacts, generates personalized messages, and sends emails with resume attac"},{"name":"get_auto_apply_tasks_api_auto_apply_get","description":"Get all auto-apply tasks for a user\n\nGet all auto-apply tasks for a given user.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success "},{"name":"get_auto_apply_status_api_auto_apply__task_id__get","description":"Check auto-apply status\n\nRetrieves the current status and results of an auto-apply task.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nConten"},{"name":"get_auto_apply_status_by_task_id_api_auto_apply_status__task_id_","description":"Get Auto Apply Status By Task Id\n\nGet status of an auto-apply task by task_id (conversationId).\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Re"},{"name":"start_conversation_api_email_conversations_start_conversation_po","description":"Start Conversation\n\nStart a new email conversation.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_conversations_api_email_conversations_get","description":"Get Conversations\n\nGet all conversations for the authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"get_conversation_details_api_email_conversations__conversation_i","description":"Get Conversation Details\n\nGet details of a specific conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"pause_conversation_api_email_conversations__conversation_id__pau","description":"Pause Conversation\n\nPause an ongoing conversation to stop automatic follow-ups.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"resume_conversation_api_email_conversations__conversation_id__re","description":"Resume Conversation\n\nResume a paused conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"send_manual_message_api_email_conversations__conversation_id__me","description":"Send Manual Message\n\nSend a manual message in the conversation, overriding the AI.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type"},{"name":"resolve_protocol_api_email_conversations__conversation_id__resol","description":"Resolve Protocol\n\nResolve a human-intervention protocol by sending a manual reply \nand marking the associated notification as read.\n\n### Responses:\n\n**200**: Su"},{"name":"get_system_stats_api_multi_tenant_monitoring_stats_get","description":"Get System Stats\n\nGet overall system statistics\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"get_active_users_api_multi_tenant_monitoring_users_active_get","description":"Get Active Users\n\nGet list of active users with email monitoring enabled\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"enable_user_monitoring_api_multi_tenant_monitoring_users__user_i","description":"Enable User Monitoring\n\nEnable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"disable_user_monitoring_api_multi_tenant_monitoring_users__user_","description":"Disable User Monitoring\n\nDisable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_user_monitoring_config_api_multi_tenant_monitoring_users_","description":"Update User Monitoring Config\n\nUpdate email monitoring configuration for a user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"trigger_user_discovery_api_multi_tenant_monitoring_discovery_tri","description":"Trigger User Discovery\n\nManually trigger user discovery process\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_user_monitoring_status_api_multi_tenant_monitoring_users__us","description":"Get User Monitoring Status\n\nGet monitoring status for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"get_email_analytics_report_api_reports__user_id___duration__get","description":"Get Email Analytics Report\n\nGet email analytics report for a user over a specific duration.\n\nDuration options:\n- 7d: Last 7 days\n- 30d: Last 30 days\n- 90d: Last"},{"name":"get_email_analytics_summary_api_reports__user_id__summary_get","description":"Get Email Analytics Summary\n\nGet a quick summary of email analytics for the last 30 days.\nThis is a lightweight endpoint for dashboard widgets.\n\n### Responses:\n"},{"name":"get_user_memory_api_user_memory__user_id__get","description":"Get User Memory\n\nGet user memory by user ID\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:"},{"name":"create_user_memory_api_user_memory__user_id__post","description":"Create User Memory\n\nCreate new user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:*"},{"name":"update_user_memory_api_user_memory__user_id__put","description":"Update User Memory\n\nUpdate existing user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"delete_user_memory_api_user_memory__user_id__delete","description":"Delete User Memory\n\nDelete (deactivate) user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example R"},{"name":"get_user_memory_history_api_user_memory__user_id__history_get","description":"Get User Memory History\n\nGet user memory history (all versions)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n"},{"name":"add_ai_interaction_context_api_user_memory__user_id__context_pos","description":"Add Ai Interaction Context\n\nAdd AI interaction context to user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_remembered_field_answer_api_user_memory__user_id__remembe","description":"Update Remembered Field Answer\n\nEdit one remembered application-field answer from the memory-bank UI.\nSame durable store the extension writes to (interaction_hi"},{"name":"delete_remembered_field_answer_api_user_memory__user_id__remembe","description":"Delete Remembered Field Answer\n\nForgets one remembered application-field answer (memory-bank UI delete action).\n\n### Responses:\n\n**200**: Successful Response (S"},{"name":"apply_memory_suggestion_api_user_memory_apply_suggestion_post","description":"Apply Memory Suggestion\n\nApply a specific memory update suggested by the AI.\nBody: { user_id, suggestion }\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"user_memory_ai_chat_api_user_memory_ai_chat_post","description":"User Memory Ai Chat\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_available_senders_api_email_sender_pool_senders_get","description":"Get Available Senders\n\nGet all available email senders (admin only — exposes other senders' PII and quotas)\n\n### Responses:\n\n**200**: Successful Response (Succe"},{"name":"get_least_used_sender_api_email_sender_pool_least_used_sender_ge","description":"Get Least Used Sender\n\nGet the least used email sender for load balancing, considering company contact history (admin only)\n\n### Responses:\n\n**200**: Successful"},{"name":"get_fallback_sender_api_email_sender_pool_fallback_sender_get","description":"Get Fallback Sender\n\nGet a fallback email sender, excluding the specified user (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCon"},{"name":"send_email_via_pool_api_email_sender_pool_send_email_post","description":"Send Email Via Pool\n\nSend an email using the email sender pool (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_my_footer_api_email_footer_me_get","description":"Get My Footer\n\nGet the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"update_my_footer_api_email_footer_me_put","description":"Update My Footer\n\nUpdate the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"get_email_footer_api_email_footer__user_id__get","description":"Get Email Footer\n\nGet email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_email_footer_api_email_footer__user_id__put","description":"Update Email Footer\n\nUpdate email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_formatted_footer_api_email_footer__user_id__formatted_get","description":"Get Formatted Footer\n\nGet formatted footer string for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"generate_footer_from_resume_api_email_footer__user_id__generate_","description":"Generate Footer From Resume\n\nGenerate email footer from user's resume data.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_user_config_api_config_user__user_id__get","description":"Get User Config\n\nGet configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_user_config_api_config_user__user_id__put","description":"Update User Config\n\nUpdate configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"reset_user_config_api_config_user__user_id__delete","description":"Reset User Config\n\nReset user configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_campaign_config_api_config_campaign__campaign_id__get","description":"Get Campaign Config\n\nGet configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_campaign_config_api_config_campaign__campaign_id__put","description":"Update Campaign Config\n\nUpdate configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"reset_campaign_config_api_config_campaign__campaign_id__delete","description":"Reset Campaign Config\n\nReset campaign configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_effective_config_api_config_effective__user_id__get","description":"Get Effective Config\n\nGet effective configuration combining user and campaign settings\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"get_default_config_api_config_defaults_get","description":"Get Default Config\n\nGet default configuration values\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_user_configs_api_config_admin_users_get","description":"Get All User Configs\n\nGet all user configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_campaign_configs_api_config_admin_campaigns_get","description":"Get All Campaign Configs\n\nGet all campaign configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicatio"},{"name":"get_available_leads_api_linkedin_leads_get","description":"Get Available Leads\n\nReturn leads for the authenticated user, filtered by outreach status.\n\nstatus=fresh      — leads not yet contacted (default); AI-ranked\nsta"},{"name":"get_all_leads_admin_api_linkedin_leads_all_get","description":"Get All Leads Admin\n\nAdmin view: return all leads regardless of outreach status.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: "},{"name":"get_lead_stats_api_linkedin_leads_stats_get","description":"Get Lead Stats\n\nReturn summary statistics for the lead database.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"list_accounts_api_linkedin_leads_accounts_get","description":"List Accounts\n\nList all LinkedIn scraper accounts in the pool (passwords masked).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"add_account_api_linkedin_leads_accounts_post","description":"Add Account\n\nAdd a LinkedIn scraper account to the pool.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_account_status_api_linkedin_leads_accounts__account_id__s","description":"Update Account Status\n\nUpdate the status of a LinkedIn account (active / cooldown / banned).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCo"},{"name":"list_scrape_runs_api_linkedin_leads_scrape_runs_get","description":"List Scrape Runs\n\nList recent scrape run records for audit / dashboard (admin only: they hold platform-wide queries and volumes).\n\n### Responses:\n\n**200**: Succ"},{"name":"get_lead_outreach_history_api_linkedin_leads__lead_id__history_g","description":"Get Lead Outreach History\n\nReturn the outreach thread for this lead for the current user.\n\nReturns a chronological list of events:\n  - type=sent      — initial "},{"name":"get_lead_api_linkedin_leads__lead_id__get","description":"Get Lead\n\nFetch a single lead by its ID.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_outreach_status_api_linkedin_leads__lead_id__outreach_pat","description":"Update Outreach Status\n\nUpdate the current user's outreach status for a given lead.\nUse this after sending a cold email so the lead is marked as contacted.\n\n###"},{"name":"send_outreach_from_lead_api_linkedin_leads__lead_id__send_outrea","description":"Send Outreach From Lead\n\nGenerate and send a cold outreach email directly from a LinkedIn lead.\n\nFlow:\n  1. Fetch the lead — must have an email address.\n  2. Lo"},{"name":"generate_linkedin_message_api_linkedin_leads__lead_id__generate_","description":"Generate Linkedin Message\n\nGenerate a short LinkedIn outreach message (≤280 chars) personalised to\nthis lead. The frontend copies it to clipboard and opens the "},{"name":"bulk_send_outreach_api_linkedin_leads_bulk_outreach_post","description":"Bulk Send Outreach\n\nSend outreach emails to multiple leads in one call.\n\nEach lead must have an email address. Leads without emails are skipped.\nReturns per-lea"},{"name":"trigger_scrape_api_linkedin_leads_trigger_post","description":"Trigger Scrape\n\nManually kick off a LinkedIn scrape run. Admin only: each run spends metered Apify credits and\naccepts arbitrary search queries.\n\nStrategy (trie"},{"name":"apify_webhook_api_linkedin_leads_webhook_apify_post","description":"Apify Webhook\n\nReceives push notifications from Apify when a scraper run completes.\nNo authentication required (Apify calls this endpoint).\nApify includes a sec"}],"toolCount":165,"toolsHash":"533136f9f15acc7f55f3704b6bc88aa4a6da0abffd4053373d51f4f022402c1e","serverName":"HopeHire","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_notifications_api_notifications_get","description":"Get Notifications\n\nFetch notifications for the current user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**"},{"name":"mark_all_notifications_as_read_api_notifications_read_all_post","description":"Mark All Notifications As Read\n\nMark every unread notification as read (not just the page the client loaded).\n\n### Responses:\n\n**200**: Successful Response (Suc"},{"name":"mark_notification_as_read_api_notifications__notification_id__re","description":"Mark Notification As Read\n\nMark a notification as read.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"delete_notification_api_notifications__notification_id__delete","description":"Delete Notification\n\nDelete a notification.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_ats_score_api_resume_ats_score_get","description":"Get Ats Score\n\nReturn the most recently calculated ATS score for the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Typ"},{"name":"refresh_ats_score_api_resume_ats_score_refresh_post","description":"Refresh Ats Score\n\nRecalculate the ATS score from the current resume and persist it.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Ty"},{"name":"resume_ai_chat_api_resume_ai_chat_post","description":"Resume Ai Chat\n\nStream an AI response that helps the user interactively improve their resume.\n\nBody:\n    user_id             (str)  — authenticated user's ID\n  "},{"name":"mark_improvement_suggestions_invalid_api_resume_improvement_sugg","description":"Mark Improvement Suggestions Invalid\n\nReplace improvement suggestions with the provided valid_suggestions list.\nRequires authentication.\n\n### Responses:\n\n**200*"},{"name":"generate_yaml_version_api_resume_generate_yaml_post","description":"Generate Yaml Version\n\nGenerate YAML version and RenderCV PDF for existing resume\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"apply_suggestions_api_resume_apply_suggestions_post","description":"Apply Suggestions\n\nApply improvement suggestions to YAML and regenerate PDF\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_yaml_suggestions_api_resume_yaml_suggestions_post","description":"Get Yaml Suggestions\n\nGenerate YAML-based improvement suggestions\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"generate_complete_resume_api_resume_generate_complete_post","description":"Generate Complete Resume\n\nGenerate a complete, enhanced resume with additional relevant content using AI.\nRequires authentication.\n\n### Responses:\n\n**200**: Suc"},{"name":"render_raw_yaml_api_resume_render_raw_yaml_post","description":"Render Raw Yaml\n\nHot-reload: Generate PDF from raw YAML content\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"save_resume_yaml_api_resume_save_yaml_post","description":"Save Resume Yaml\n\nSave raw YAML content to the user's resume.\n\nYAML is treated as the source of truth: the structured resume fields\n(personalInfo, experience, e"},{"name":"create_resume_from_linkedin_api_resume_from_linkedin_post","description":"Create Resume From Linkedin\n\nCreate a resume from LinkedIn profile URL using Apify API.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response ("},{"name":"get_rendercv_pdf_api_resume_rendercv_pdf_get","description":"Get Rendercv Pdf\n\nGet RenderCV PDF download URL for the user's resume.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)"},{"name":"get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get","description":"Get Rendercv Pdf Download\n\nReturn a presigned URL with Content-Disposition: attachment so the browser\ndownloads the resume PDF instead of opening it inline.\n\n##"},{"name":"test_pdf_generation_api_resume_test_pdf_generation_get","description":"Test Pdf Generation\n\nTest PDF generation to debug PDF issues.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"debug_pdf_api_resume_debug_pdf_get","description":"Debug Pdf\n\nGet debugging information about a PDF file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"download_resume_api_resume_download_get","description":"Download Resume\n\nDownload the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response"},{"name":"public_resume_api_resume_public_get","description":"Public Resume\n\nResume link embedded in cold emails: no login, but only links we signed will open.\n\n### Responses:\n\n**200**: Successful Response (Success Respons"},{"name":"show_resume_api_resume__resume_id__get","description":"Show Resume\n\nShow the resume via redirect to presigned S3 URL.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n"},{"name":"get_resume_api_resume_get","description":"Get Resume\n\nGet the user's resume.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:**\n```jso"},{"name":"upload_resume_api_resume_post","description":"Upload Resume\n\nUpload and process a resume file.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"update_resume_manual_api_resume_put","description":"Update Resume Manual\n\nUpdate a user's resume manually and trigger PDF generation.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"delete_resume_api_resume_delete","description":"Delete Resume\n\nDelete the user's resume and cleanup associated resources.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Respon"},{"name":"set_cold_email_resume_source_api_resume_cold_email_source_put","description":"Set Cold Email Resume Source\n\nSet which resume file cold outreach should use: the originally uploaded\nfile (\"uploaded\", the default) or HopeHire's RenderCV-gene"},{"name":"get_preferences_api_job_preferences_get","description":"Get Preferences\n\nGet the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"create_preferences_api_job_preferences_post","description":"Create Preferences\n\nCreate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"update_preferences_api_job_preferences_put","description":"Update Preferences\n\nUpdate the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"delete_preferences_api_job_preferences_delete","description":"Delete Preferences\n\nDelete the user's job preferences\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: ap"},{"name":"start_job_matching_api_job_matches_start_post","description":"Start Job Matching\n\nStart an asynchronous job matching process\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent"},{"name":"get_filtered_jobs_api_job_matches_get","description":"Get Filtered Jobs\n\nGet filtered job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"clear_job_matches_api_job_matches_delete","description":"Clear Job Matches\n\nClear all job matches for a user\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appl"},{"name":"start_conversation_api_auto_apply_start_conversation_post","description":"Start Conversation\n\nStart a new conversation using the shared auto-apply service logic.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent"},{"name":"start_auto_apply_api_auto_apply_post","description":"Start auto-apply process\n\nLaunches an automated job application process that finds contacts, generates personalized messages, and sends emails with resume attac"},{"name":"get_auto_apply_tasks_api_auto_apply_get","description":"Get all auto-apply tasks for a user\n\nGet all auto-apply tasks for a given user.\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Response (Success "},{"name":"get_auto_apply_status_api_auto_apply__task_id__get","description":"Check auto-apply status\n\nRetrieves the current status and results of an auto-apply task.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nConten"},{"name":"get_auto_apply_status_by_task_id_api_auto_apply_status__task_id_","description":"Get Auto Apply Status By Task Id\n\nGet status of an auto-apply task by task_id (conversationId).\nRequires authentication.\n\n### Responses:\n\n**200**: Successful Re"},{"name":"start_conversation_api_email_conversations_start_conversation_po","description":"Start Conversation\n\nStart a new email conversation.\n\n### Responses:\n\n**201**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_conversations_api_email_conversations_get","description":"Get Conversations\n\nGet all conversations for the authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"get_conversation_details_api_email_conversations__conversation_i","description":"Get Conversation Details\n\nGet details of a specific conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/jso"},{"name":"pause_conversation_api_email_conversations__conversation_id__pau","description":"Pause Conversation\n\nPause an ongoing conversation to stop automatic follow-ups.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"resume_conversation_api_email_conversations__conversation_id__re","description":"Resume Conversation\n\nResume a paused conversation.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"send_manual_message_api_email_conversations__conversation_id__me","description":"Send Manual Message\n\nSend a manual message in the conversation, overriding the AI.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type"},{"name":"resolve_protocol_api_email_conversations__conversation_id__resol","description":"Resolve Protocol\n\nResolve a human-intervention protocol by sending a manual reply \nand marking the associated notification as read.\n\n### Responses:\n\n**200**: Su"},{"name":"get_system_stats_api_multi_tenant_monitoring_stats_get","description":"Get System Stats\n\nGet overall system statistics\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"get_active_users_api_multi_tenant_monitoring_users_active_get","description":"Get Active Users\n\nGet list of active users with email monitoring enabled\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicat"},{"name":"enable_user_monitoring_api_multi_tenant_monitoring_users__user_i","description":"Enable User Monitoring\n\nEnable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"disable_user_monitoring_api_multi_tenant_monitoring_users__user_","description":"Disable User Monitoring\n\nDisable email monitoring for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_user_monitoring_config_api_multi_tenant_monitoring_users_","description":"Update User Monitoring Config\n\nUpdate email monitoring configuration for a user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: a"},{"name":"trigger_user_discovery_api_multi_tenant_monitoring_discovery_tri","description":"Trigger User Discovery\n\nManually trigger user discovery process\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_user_monitoring_status_api_multi_tenant_monitoring_users__us","description":"Get User Monitoring Status\n\nGet monitoring status for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"get_email_analytics_report_api_reports__user_id___duration__get","description":"Get Email Analytics Report\n\nGet email analytics report for a user over a specific duration.\n\nDuration options:\n- 7d: Last 7 days\n- 30d: Last 30 days\n- 90d: Last"},{"name":"get_email_analytics_summary_api_reports__user_id__summary_get","description":"Get Email Analytics Summary\n\nGet a quick summary of email analytics for the last 30 days.\nThis is a lightweight endpoint for dashboard widgets.\n\n### Responses:\n"},{"name":"get_user_memory_api_user_memory__user_id__get","description":"Get User Memory\n\nGet user memory by user ID\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:"},{"name":"create_user_memory_api_user_memory__user_id__post","description":"Create User Memory\n\nCreate new user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Response:*"},{"name":"update_user_memory_api_user_memory__user_id__put","description":"Update User Memory\n\nUpdate existing user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example Respo"},{"name":"delete_user_memory_api_user_memory__user_id__delete","description":"Delete User Memory\n\nDelete (deactivate) user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n\n**Example R"},{"name":"get_user_memory_history_api_user_memory__user_id__history_get","description":"Get User Memory History\n\nGet user memory history (all versions)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json\n"},{"name":"add_ai_interaction_context_api_user_memory__user_id__context_pos","description":"Add Ai Interaction Context\n\nAdd AI interaction context to user memory\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application"},{"name":"update_remembered_field_answer_api_user_memory__user_id__remembe","description":"Update Remembered Field Answer\n\nEdit one remembered application-field answer from the memory-bank UI.\nSame durable store the extension writes to (interaction_hi"},{"name":"delete_remembered_field_answer_api_user_memory__user_id__remembe","description":"Delete Remembered Field Answer\n\nForgets one remembered application-field answer (memory-bank UI delete action).\n\n### Responses:\n\n**200**: Successful Response (S"},{"name":"apply_memory_suggestion_api_user_memory_apply_suggestion_post","description":"Apply Memory Suggestion\n\nApply a specific memory update suggested by the AI.\nBody: { user_id, suggestion }\n\n### Responses:\n\n**200**: Successful Response (Succes"},{"name":"user_memory_ai_chat_api_user_memory_ai_chat_post","description":"User Memory Ai Chat\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_available_senders_api_email_sender_pool_senders_get","description":"Get Available Senders\n\nGet all available email senders (admin only — exposes other senders' PII and quotas)\n\n### Responses:\n\n**200**: Successful Response (Succe"},{"name":"get_least_used_sender_api_email_sender_pool_least_used_sender_ge","description":"Get Least Used Sender\n\nGet the least used email sender for load balancing, considering company contact history (admin only)\n\n### Responses:\n\n**200**: Successful"},{"name":"get_fallback_sender_api_email_sender_pool_fallback_sender_get","description":"Get Fallback Sender\n\nGet a fallback email sender, excluding the specified user (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCon"},{"name":"send_email_via_pool_api_email_sender_pool_send_email_post","description":"Send Email Via Pool\n\nSend an email using the email sender pool (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_my_footer_api_email_footer_me_get","description":"Get My Footer\n\nGet the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/j"},{"name":"update_my_footer_api_email_footer_me_put","description":"Update My Footer\n\nUpdate the footer for the currently authenticated user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applica"},{"name":"get_email_footer_api_email_footer__user_id__get","description":"Get Email Footer\n\nGet email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_email_footer_api_email_footer__user_id__put","description":"Update Email Footer\n\nUpdate email footer for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_formatted_footer_api_email_footer__user_id__formatted_get","description":"Get Formatted Footer\n\nGet formatted footer string for a user.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"generate_footer_from_resume_api_email_footer__user_id__generate_","description":"Generate Footer From Resume\n\nGenerate email footer from user's resume data.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: appli"},{"name":"get_user_config_api_config_user__user_id__get","description":"Get User Config\n\nGet configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_user_config_api_config_user__user_id__put","description":"Update User Config\n\nUpdate configuration for a specific user\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"reset_user_config_api_config_user__user_id__delete","description":"Reset User Config\n\nReset user configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_campaign_config_api_config_campaign__campaign_id__get","description":"Get Campaign Config\n\nGet configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_campaign_config_api_config_campaign__campaign_id__put","description":"Update Campaign Config\n\nUpdate configuration for a specific campaign\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/"},{"name":"reset_campaign_config_api_config_campaign__campaign_id__delete","description":"Reset Campaign Config\n\nReset campaign configuration to defaults\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_effective_config_api_config_effective__user_id__get","description":"Get Effective Config\n\nGet effective configuration combining user and campaign settings\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-"},{"name":"get_default_config_api_config_defaults_get","description":"Get Default Config\n\nGet default configuration values\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_user_configs_api_config_admin_users_get","description":"Get All User Configs\n\nGet all user configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"get_all_campaign_configs_api_config_admin_campaigns_get","description":"Get All Campaign Configs\n\nGet all campaign configurations (admin only)\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: applicatio"},{"name":"get_available_leads_api_linkedin_leads_get","description":"Get Available Leads\n\nReturn leads for the authenticated user, filtered by outreach status.\n\nstatus=fresh      — leads not yet contacted (default); AI-ranked\nsta"},{"name":"get_all_leads_admin_api_linkedin_leads_all_get","description":"Get All Leads Admin\n\nAdmin view: return all leads regardless of outreach status.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: "},{"name":"get_lead_stats_api_linkedin_leads_stats_get","description":"Get Lead Stats\n\nReturn summary statistics for the lead database.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"list_accounts_api_linkedin_leads_accounts_get","description":"List Accounts\n\nList all LinkedIn scraper accounts in the pool (passwords masked).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type:"},{"name":"add_account_api_linkedin_leads_accounts_post","description":"Add Account\n\nAdd a LinkedIn scraper account to the pool.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_account_status_api_linkedin_leads_accounts__account_id__s","description":"Update Account Status\n\nUpdate the status of a LinkedIn account (active / cooldown / banned).\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nCo"},{"name":"list_scrape_runs_api_linkedin_leads_scrape_runs_get","description":"List Scrape Runs\n\nList recent scrape run records for audit / dashboard (admin only: they hold platform-wide queries and volumes).\n\n### Responses:\n\n**200**: Succ"},{"name":"get_lead_outreach_history_api_linkedin_leads__lead_id__history_g","description":"Get Lead Outreach History\n\nReturn the outreach thread for this lead for the current user.\n\nReturns a chronological list of events:\n  - type=sent      — initial "},{"name":"get_lead_api_linkedin_leads__lead_id__get","description":"Get Lead\n\nFetch a single lead by its ID.\n\n### Responses:\n\n**200**: Successful Response (Success Response)\nContent-Type: application/json"},{"name":"update_outreach_status_api_linkedin_leads__lead_id__outreach_pat","description":"Update Outreach Status\n\nUpdate the current user's outreach status for a given lead.\nUse this after sending a cold email so the lead is marked as contacted.\n\n###"},{"name":"send_outreach_from_lead_api_linkedin_leads__lead_id__send_outrea","description":"Send Outreach From Lead\n\nGenerate and send a cold outreach email directly from a LinkedIn lead.\n\nFlow:\n  1. Fetch the lead — must have an email address.\n  2. Lo"},{"name":"generate_linkedin_message_api_linkedin_leads__lead_id__generate_","description":"Generate Linkedin Message\n\nGenerate a short LinkedIn outreach message (≤280 chars) personalised to\nthis lead. The frontend copies it to clipboard and opens the "},{"name":"bulk_send_outreach_api_linkedin_leads_bulk_outreach_post","description":"Bulk Send Outreach\n\nSend outreach emails to multiple leads in one call.\n\nEach lead must have an email address. Leads without emails are skipped.\nReturns per-lea"},{"name":"trigger_scrape_api_linkedin_leads_trigger_post","description":"Trigger Scrape\n\nManually kick off a LinkedIn scrape run. Admin only: each run spends metered Apify credits and\naccepts arbitrary search queries.\n\nStrategy (trie"},{"name":"apify_webhook_api_linkedin_leads_webhook_apify_post","description":"Apify Webhook\n\nReceives push notifications from Apify when a scraper run completes.\nNo authentication required (Apify calls this endpoint).\nApify includes a sec"}],"package":null,"toolSurface":{"id":"ts_j6ck2aa8yze2","endpointId":"ep_2ycpvbrg2z3b","hash":"533136f9f15acc7f55f3704b6bc88aa4a6da0abffd4053373d51f4f022402c1e","toolCount":165,"serverName":"HopeHire","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-25T18:28:18.938Z","lastSeenAt":"2026-10-26T02:24:16.607Z","observations":2,"toolNames":["get_notifications_api_notifications_get","mark_all_notifications_as_read_api_notifications_read_all_post","mark_notification_as_read_api_notifications__notification_id__read_patch","delete_notification_api_notifications__notification_id__delete","get_ats_score_api_resume_ats_score_get","refresh_ats_score_api_resume_ats_score_refresh_post","resume_ai_chat_api_resume_ai_chat_post","mark_improvement_suggestions_invalid_api_resume_improvement_suggestions_mark_invalid_post","generate_yaml_version_api_resume_generate_yaml_post","apply_suggestions_api_resume_apply_suggestions_post","get_yaml_suggestions_api_resume_yaml_suggestions_post","generate_complete_resume_api_resume_generate_complete_post","render_raw_yaml_api_resume_render_raw_yaml_post","save_resume_yaml_api_resume_save_yaml_post","create_resume_from_linkedin_api_resume_from_linkedin_post","get_rendercv_pdf_api_resume_rendercv_pdf_get","get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get","test_pdf_generation_api_resume_test_pdf_generation_get","debug_pdf_api_resume_debug_pdf_get","download_resume_api_resume_download_get","public_resume_api_resume_public_get","show_resume_api_resume__resume_id__get","get_resume_api_resume_get","upload_resume_api_resume_post","update_resume_manual_api_resume_put","delete_resume_api_resume_delete","set_cold_email_resume_source_api_resume_cold_email_source_put","get_preferences_api_job_preferences_get","create_preferences_api_job_preferences_post","update_preferences_api_job_preferences_put","delete_preferences_api_job_preferences_delete","start_job_matching_api_job_matches_start_post","get_filtered_jobs_api_job_matches_get","clear_job_matches_api_job_matches_delete","start_conversation_api_auto_apply_start_conversation_post","start_auto_apply_api_auto_apply_post","get_auto_apply_tasks_api_auto_apply_get","get_auto_apply_status_api_auto_apply__task_id__get","get_auto_apply_status_by_task_id_api_auto_apply_status__task_id__get","start_conversation_api_email_conversations_start_conversation_post","get_conversations_api_email_conversations_get","get_conversation_details_api_email_conversations__conversation_id__get","pause_conversation_api_email_conversations__conversation_id__pause_post","resume_conversation_api_email_conversations__conversation_id__resume_post","send_manual_message_api_email_conversations__conversation_id__message_post","resolve_protocol_api_email_conversations__conversation_id__resolve_post","get_system_stats_api_multi_tenant_monitoring_stats_get","get_active_users_api_multi_tenant_monitoring_users_active_get","enable_user_monitoring_api_multi_tenant_monitoring_users__user_id__enable_post","disable_user_monitoring_api_multi_tenant_monitoring_users__user_id__disable_post","update_user_monitoring_config_api_multi_tenant_monitoring_users__user_id__config_put","trigger_user_discovery_api_multi_tenant_monitoring_discovery_trigger_post","get_user_monitoring_status_api_multi_tenant_monitoring_users__user_id__status_get","get_email_analytics_report_api_reports__user_id___duration__get","get_email_analytics_summary_api_reports__user_id__summary_get","get_user_memory_api_user_memory__user_id__get","create_user_memory_api_user_memory__user_id__post","update_user_memory_api_user_memory__user_id__put","delete_user_memory_api_user_memory__user_id__delete","get_user_memory_history_api_user_memory__user_id__history_get","add_ai_interaction_context_api_user_memory__user_id__context_post","update_remembered_field_answer_api_user_memory__user_id__remembered_field_put","delete_remembered_field_answer_api_user_memory__user_id__remembered_field_delete","apply_memory_suggestion_api_user_memory_apply_suggestion_post","user_memory_ai_chat_api_user_memory_ai_chat_post","get_available_senders_api_email_sender_pool_senders_get","get_least_used_sender_api_email_sender_pool_least_used_sender_get","get_fallback_sender_api_email_sender_pool_fallback_sender_get","send_email_via_pool_api_email_sender_pool_send_email_post","get_my_footer_api_email_footer_me_get","update_my_footer_api_email_footer_me_put","get_email_footer_api_email_footer__user_id__get","update_email_footer_api_email_footer__user_id__put","get_formatted_footer_api_email_footer__user_id__formatted_get","generate_footer_from_resume_api_email_footer__user_id__generate_from_resume_post","get_user_config_api_config_user__user_id__get","update_user_config_api_config_user__user_id__put","reset_user_config_api_config_user__user_id__delete","get_campaign_config_api_config_campaign__campaign_id__get","update_campaign_config_api_config_campaign__campaign_id__put","reset_campaign_config_api_config_campaign__campaign_id__delete","get_effective_config_api_config_effective__user_id__get","get_default_config_api_config_defaults_get","get_all_user_configs_api_config_admin_users_get","get_all_campaign_configs_api_config_admin_campaigns_get","get_available_leads_api_linkedin_leads_get","get_all_leads_admin_api_linkedin_leads_all_get","get_lead_stats_api_linkedin_leads_stats_get","list_accounts_api_linkedin_leads_accounts_get","add_account_api_linkedin_leads_accounts_post","update_account_status_api_linkedin_leads_accounts__account_id__status_patch","list_scrape_runs_api_linkedin_leads_scrape_runs_get","get_lead_outreach_history_api_linkedin_leads__lead_id__history_get","get_lead_api_linkedin_leads__lead_id__get","update_outreach_status_api_linkedin_leads__lead_id__outreach_patch","send_outreach_from_lead_api_linkedin_leads__lead_id__send_outreach_post","generate_linkedin_message_api_linkedin_leads__lead_id__generate_linkedin_message_post","bulk_send_outreach_api_linkedin_leads_bulk_outreach_post","trigger_scrape_api_linkedin_leads_trigger_post","apify_webhook_api_linkedin_leads_webhook_apify_post","list_templates_api_email_templates_get","update_template_api_email_templates__template_id__put","regenerate_templates_api_email_templates_regenerate_post","get_tools_schema_api_tools_schema_get","execute_tool_api_tools_execute_post","get_connection_url_api_tools_connect__app_name__get","disconnect_app_api_tools_connect__app_name__delete","list_connections_api_tools_connections_get","get_integration_status_api_tools_status_get","get_user_credits_api_referrals_credits_get","get_referral_code_api_referrals_code_get","claim_referral_code_api_referrals_claim_post","get_outreach_queue_api_outreach_queue_get","approve_outreach_item_api_outreach_queue__item_id__approve_post","dismiss_outreach_item_api_outreach_queue__item_id__delete","get_autopilot_settings_api_autopilot_settings_get","update_daily_outreach_settings_api_autopilot_settings_patch","resume_outreach_endpoint_api_autopilot_resume_outreach_post","update_legacy_autopilot_settings_api_autopilot_legacy_settings_patch","get_active_outreach_batch_api_outreach_batches_active_get","get_outreach_batch_api_outreach_batches__batch_id__get","create_outreach_batch_api_outreach_batches_post","cancel_outreach_batch_api_outreach_batches__batch_id__cancel_post","get_pending_auto_replies_api_auto_replies_get","cancel_pending_auto_reply_api_auto_replies__reply_id__delete","create_application_api_applications_post","list_applications_api_applications_get","update_application_status_api_applications__application_id__status_patch","answer_fields_api_extension_answer_fields_post","agent_step_api_extension_agent_step_post","remember_field_answer_api_extension_remember_field_answer_post","tailor_resume_api_extension_tailor_resume_post","match_score_api_extension_match_score_post","get_extension_settings_api_extension_settings_get","update_extension_settings_api_extension_settings_patch","extension_apply_api_extension_apply_post","send_product_update_broadcast_api_newsletter_send_post","unsubscribe_api_newsletter_unsubscribe_get","submit_feedback_api_feedback_post","list_keys_api_api_keys_get","create_key_api_api_keys_post","delete_key_api_api_keys__key_id__delete","invite_info_api_orgs_invites__token__get","my_org_api_orgs_me_get","my_org_summary_api_orgs_me_summary_get","my_students_api_orgs_me_students_get","remove_student_api_orgs_me_students__user_id__delete","create_invites_api_orgs_me_invites_post","list_invites_api_orgs_me_invites_get","revoke_invite_api_orgs_me_invites__invite_id__delete","get_least_contacted_hr_api_cold_email_least_contacted_hr_get","get_cold_email_api_cold_email_get","send_cold_email_api_cold_email_post","preview_cold_email_api_cold_email_preview_post","send_cold_email_to_hr_api_cold_email_send_to_hr_post","send_unified_cold_email_api_cold_email_unified_post","preview_unified_cold_email_api_cold_email_unified_preview_post","get_cold_email_replies_api_cold_email__cold_email_id__replies_get","get_cold_email_replies_by_message_id_api_cold_email_message__message_id__replies_get","list_companies_api_companies_get","create_company_endpoint_api_companies_post","add_hr_contact_endpoint_api_companies__company_id__hr_contacts_post","tracking_pixel_api_tracking_pixel__email_id__png_get","get_job_details_api_v1_jobs_get","get_job_detail_api_v1_jobs__job_id__get"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"in.hopehire/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/in.hopehire%2Fmcp","firstSeenAt":"2026-10-25T17:19:14.745Z","fetchedAt":"2026-10-25T17:19:14.745Z","normalizedAt":"2026-10-25T17:19:14.745Z"}]},"firstSeenAt":"2026-10-25T17:19:14.745Z","updatedAt":"2026-10-26T02:28:20.618Z"}