mcpbeat Sign in

HopeHire MCP Server

answering

HopeHire is answering right now. Last checked 11 min ago. It exposes 168 tools.

Tailor resumes, score ATS fit, find hiring leads, and send cold outreach, from your agent.

Uptime history 10 days of history · worst day 94%
10 days agonow
95.6%
Uptime 24h
87 of 91 checks
168
Tools
read from the server
887 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 3

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 26 October 2026. No other catalogue keeps this.

28 Oct a tool appeared send_pending_auto_reply_now_api_auto_replies__reply_id__send_post
26 Oct 2 tools appeared apply_resume_theme_api_resume_apply_theme_post, list_themes_api_resume_themes_get

HopeHire does not always answer

Over the last week it answered 97.8% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add mcp --transport http https://hopehire.in/mcp
Settings → Connectors → Add custom connector, then paste this address
https://hopehire.in/mcp
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://hopehire.in/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://hopehire.in/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp": {
      "type": "http",
      "url": "https://hopehire.in/mcp"
    }
  }
}

Available tools 168

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

user
create_user_memory_api_user_memory__user_id__post
Create User Memory Create new user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
delete_user_memory_api_user_memory__user_id__delete
Delete User Memory Delete (deactivate) user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
get_user_config_api_config_user__user_id__get
Get User Config Get configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_user_credits_api_referrals_credits_get
Get User Credits Return the current user's credit balance, referral code, and total referrals. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_user_memory_api_user_memory__user_id__get
Get User Memory Get user memory by user ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
get_user_memory_history_api_user_memory__user_id__history_get
Get User Memory History Get user memory history (all versions) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "total": 1, "page": 1, "limit": 1 } ```
get_user_monitoring_status_api_multi_tenant_monitoring_users__user_id__status_get
Get User Monitoring Status Get monitoring status for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_user_config_api_config_user__user_id__put
Update User Config Update configuration for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_user_memory_api_user_memory__user_id__put
Update User Memory Update existing user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
update_user_monitoring_config_api_multi_tenant_monitoring_users__user_id__config_put
Update User Monitoring Config Update email monitoring configuration for a user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
user_memory_ai_chat_api_user_memory_ai_chat_post
User Memory Ai Chat ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send
send_cold_email_api_cold_email_post
Send Cold Email Send a cold email with a pre-generated message. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true } ```
send_cold_email_to_hr_api_cold_email_send_to_hr_post
Send Cold Email To Hr Send a cold email to a specific HR contact. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_email_via_pool_api_email_sender_pool_send_email_post
Send Email Via Pool Send an email using the email sender pool (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
send_manual_message_api_email_conversations__conversation_id__message_post
Send Manual Message Send a manual message in the conversation, overriding the AI. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_outreach_from_lead_api_linkedin_leads__lead_id__send_outreach_post
Send Outreach From Lead Generate and send a cold outreach email directly from a LinkedIn lead. Flow: 1. Fetch the lead — must have an email address. 2. Load the authenticated user's resume/profile from MongoDB. 3. Call send_and_track_cold_email() to generate (or use custom_message) and send the email via the user's connected Gmail. 4. Record the outreach status on the lead (status='sent') with a back- reference to the cold_email_id. 5. Sync the company HR contact (idempotent — already done on scrape, but update lastContactedAt now). Returns the cold_email_id so the frontend can link to the email thread. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_pending_auto_reply_now_api_auto_replies__reply_id__send_post
Send Pending Auto Reply Now Send a pending auto-reply now instead of waiting for tomorrow's 9:30 AM run. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_product_update_broadcast_api_newsletter_send_post
Send Product Update Broadcast Manually trigger a one-off product-update broadcast to all subscribed users. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_unified_cold_email_api_cold_email_unified_post
Send Unified Cold Email Unified cold email endpoint that handles: 1. Company creation if it doesn't exist 2. HR email auto-selection if not provided 3. HR contact addition to company 4. Email sending with tracking Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "cold_email": { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true }, "hr_email_used": "Hr Email Used", "company_created": true, "hr_added": true } ```
resume
create_resume_from_linkedin_api_resume_from_linkedin_post
Create Resume From Linkedin Create a resume from LinkedIn profile URL using Apify API. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
delete_resume_api_resume_delete
Delete Resume Delete the user's resume and cleanup associated resources. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_resume_api_resume_get
Get Resume Get the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
resume_ai_chat_api_resume_ai_chat_post
Resume Ai Chat Stream an AI response that helps the user interactively improve their resume. Body: user_id (str) — authenticated user's ID message (str) — latest user message conversation_history (list) — [{role: "user"|"assistant", content: str}] ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
resume_conversation_api_email_conversations__conversation_id__resume_post
Resume Conversation Resume a paused conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
resume_outreach_endpoint_api_autopilot_resume_outreach_post
Resume Outreach Endpoint User-initiated: clear the bounce circuit breaker's paused state. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
update_resume_manual_api_resume_put
Update Resume Manual Update a user's resume manually and trigger PDF generation. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
cold
get_cold_email_api_cold_email_get
Get Cold Email Get cold emails for a user with pagination. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "cold_emails": [ { "user_id": "User Id", "recruiter_email": "Recruiter Email", "company_name": "Company Name", "sent_at": "2023-01-01T00:00:00Z", "status": "Status", "followup_interval_hours": 1, "followup_count": 1, "replied": true, "message": "Message", "opened": true, "open_count": 1, "auto_draft_generated": true } ], "offset": 1, "pagination": 1, "has_more": true } ```
get_cold_email_replies_api_cold_email__cold_email_id__replies_get
Get Cold Email Replies Get replies for a specific cold email using its ID. This checks both the cold_emails collection and email_conversations collection. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_cold_email_replies_by_message_id_api_cold_email_message__message_id__replies_get
Get Cold Email Replies By Message Id Get replies for a cold email using its Gmail message_id. This is useful when you have the message_id from the cold email response. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
set_cold_email_resume_source_api_resume_cold_email_source_put
Set Cold Email Resume Source Set which resume file cold outreach should use: the originally uploaded file ("uploaded", the default) or HopeHire's RenderCV-generated PDF ("generated"). A lightweight sibling to the full manual-edit PUT above — this only flips one field and doesn't trigger PDF/YAML regeneration. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
email
get_email_analytics_report_api_reports__user_id___duration__get
Get Email Analytics Report Get email analytics report for a user over a specific duration. Duration options: - 7d: Last 7 days - 30d: Last 30 days - 90d: Last 90 days - 1y: Last year - all: All time ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_email_analytics_summary_api_reports__user_id__summary_get
Get Email Analytics Summary Get a quick summary of email analytics for the last 30 days. This is a lightweight endpoint for dashboard widgets. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_email_footer_api_email_footer__user_id__get
Get Email Footer Get email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_email_footer_api_email_footer__user_id__put
Update Email Footer Update email footer for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
generate
generate_complete_resume_api_resume_generate_complete_post
Generate Complete Resume Generate a complete, enhanced resume with additional relevant content using AI. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
generate_footer_from_resume_api_email_footer__user_id__generate_from_resume_post
Generate Footer From Resume Generate email footer from user's resume data. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
generate_linkedin_message_api_linkedin_leads__lead_id__generate_linkedin_message_post
Generate Linkedin Message Generate a short LinkedIn outreach message (≤280 chars) personalised to this lead. The frontend copies it to clipboard and opens the recruiter's LinkedIn profile so the user can paste-and-send in one step. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
generate_yaml_version_api_resume_generate_yaml_post
Generate Yaml Version Generate YAML version and RenderCV PDF for existing resume ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
outreach
create_outreach_batch_api_outreach_batches_post
Create Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_outreach_batch_api_outreach_batches__batch_id__get
Get Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_outreach_queue_api_outreach_queue_get
Get Outreach Queue Get pending outreach queue items for the current user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
update_outreach_status_api_linkedin_leads__lead_id__outreach_patch
Update Outreach Status Update the current user's outreach status for a given lead. Use this after sending a cold email so the lead is marked as contacted. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
preferences
create_preferences_api_job_preferences_post
Create Preferences Create the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
delete_preferences_api_job_preferences_delete
Delete Preferences Delete the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_preferences_api_job_preferences_get
Get Preferences Get the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
update_preferences_api_job_preferences_put
Update Preferences Update the user's job preferences Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
start
start_auto_apply_api_auto_apply_post
Start auto-apply process Launches an automated job application process that finds contacts, generates personalized messages, and sends emails with resume attachments. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
start_conversation_api_auto_apply_start_conversation_post
Start Conversation Start a new conversation using the shared auto-apply service logic. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
start_conversation_api_email_conversations_start_conversation_post
Start Conversation Start a new email conversation. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
start_job_matching_api_job_matches_start_post
Start Job Matching Start an asynchronous job matching process Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
all
get_all_campaign_configs_api_config_admin_campaigns_get
Get All Campaign Configs Get all campaign configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_all_leads_admin_api_linkedin_leads_all_get
Get All Leads Admin Admin view: return all leads regardless of outreach status. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_all_user_configs_api_config_admin_users_get
Get All User Configs Get all user configurations (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
apply
apply_memory_suggestion_api_user_memory_apply_suggestion_post
Apply Memory Suggestion Apply a specific memory update suggested by the AI. Body: { user_id, suggestion } ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
apply_resume_theme_api_resume_apply_theme_post
Apply Resume Theme Switch the design theme in a YAML document. Pure transform: no render, no save. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
apply_suggestions_api_resume_apply_suggestions_post
Apply Suggestions Apply improvement suggestions to YAML and regenerate PDF ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
auto
get_auto_apply_status_api_auto_apply__task_id__get
Check auto-apply status Retrieves the current status and results of an auto-apply task. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
get_auto_apply_status_by_task_id_api_auto_apply_status__task_id__get
Get Auto Apply Status By Task Id Get status of an auto-apply task by task_id (conversationId). Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "task_id": "Task Id", "status": "AutoApplyStatus" } ```
get_auto_apply_tasks_api_auto_apply_get
Get all auto-apply tasks for a user Get all auto-apply tasks for a given user. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
extension
extension_apply_api_extension_apply_post
Extension Apply Orchestrator called by the extension right after a user submits a job application: tracks the application, then immediately attempts the same credit-gated cold-outreach send the daily cron would eventually do, triggered on-demand instead. Outreach is best-effort: if there is no known contact for the company or the user is out of credits, the application is still tracked and the response says why outreach was skipped rather than failing the request. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_extension_settings_api_extension_settings_get
Get Extension Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "recruiter_comms_consent": true, "field_memory_consent": true, "credit_balance": 1 } ```
update_extension_settings_api_extension_settings_patch
Update Extension Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "recruiter_comms_consent": true, "field_memory_consent": true, "credit_balance": 1 } ```
lead
get_lead_api_linkedin_leads__lead_id__get
Get Lead Fetch a single lead by its ID. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_lead_outreach_history_api_linkedin_leads__lead_id__history_get
Get Lead Outreach History Return the outreach thread for this lead for the current user. Returns a chronological list of events: - type=sent — initial cold email - type=follow_up — follow-up email - type=reply — recruiter reply ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_lead_stats_api_linkedin_leads_stats_get
Get Lead Stats Return summary statistics for the lead database. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
mark
mark_all_notifications_as_read_api_notifications_read_all_post
Mark All Notifications As Read Mark every unread notification as read (not just the page the client loaded). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
mark_improvement_suggestions_invalid_api_resume_improvement_suggestions_mark_invalid_post
Mark Improvement Suggestions Invalid Replace improvement suggestions with the provided valid_suggestions list. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
mark_notification_as_read_api_notifications__notification_id__read_patch
Mark Notification As Read Mark a notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
account
add_account_api_linkedin_leads_accounts_post
Add Account Add a LinkedIn scraper account to the pool. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_account_status_api_linkedin_leads_accounts__account_id__status_patch
Update Account Status Update the status of a LinkedIn account (active / cooldown / banned). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
active
get_active_outreach_batch_api_outreach_batches_active_get
Get Active Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_active_users_api_multi_tenant_monitoring_users_active_get
Get Active Users Get list of active users with email monitoring enabled ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
application
create_application_api_applications_post
Create Application Track a newly-submitted job application (called by the extension after a user submits). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ```
update_application_status_api_applications__application_id__status_patch
Update Application Status Manually update an application's status (e.g. marking Interview/Offer/Rejected). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ```
available
get_available_leads_api_linkedin_leads_get
Get Available Leads Return leads for the authenticated user, filtered by outreach status. status=fresh — leads not yet contacted (default); AI-ranked status=queued — leads the user has queued for outreach status=contacted — leads the user has already emailed ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_available_senders_api_email_sender_pool_senders_get
Get Available Senders Get all available email senders (admin only — exposes other senders' PII and quotas) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
campaign
get_campaign_config_api_config_campaign__campaign_id__get
Get Campaign Config Get configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_campaign_config_api_config_campaign__campaign_id__put
Update Campaign Config Update configuration for a specific campaign ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
cancel
cancel_outreach_batch_api_outreach_batches__batch_id__cancel_post
Cancel Outreach Batch ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
cancel_pending_auto_reply_api_auto_replies__reply_id__delete
Cancel Pending Auto Reply Cancel a pending auto-reply before it fires. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
footer
get_my_footer_api_email_footer_me_get
Get My Footer Get the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
update_my_footer_api_email_footer_me_put
Update My Footer Update the footer for the currently authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
invites
create_invites_api_orgs_me_invites_post
Create Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
list_invites_api_orgs_me_invites_get
List Invites ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
job
get_job_detail_api_v1_jobs__job_id__get
Get Job Detail Get a detailed job listing by ID ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
get_job_details_api_v1_jobs_get
Get Job Details Get detailed job listings with advanced filters and pagination ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "personalized": true } ```
key
create_key_api_api_keys_post
Create Key Create a new API key. The raw key is only ever returned here -- store it now. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
delete_key_api_api_keys__key_id__delete
Delete Key ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
least
get_least_contacted_hr_api_cold_email_least_contacted_hr_get
Get Least Contacted Hr Get the least contacted HR email for a specific company. This endpoint uses the same logic as the unified email flow to select the best HR contact. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true, "hr_email": "Hr Email", "company_name": "Company Name", "total_contacts": 1 } ```
get_least_used_sender_api_email_sender_pool_least_used_sender_get
Get Least Used Sender Get the least used email sender for load balancing, considering company contact history (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
org
my_org_api_orgs_me_get
My Org ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
my_org_summary_api_orgs_me_summary_get
My Org Summary ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
preview
preview_cold_email_api_cold_email_preview_post
Preview Cold Email Generate a preview of a cold email without sending it. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "message": "Message", "subject": "Subject" } ```
preview_unified_cold_email_api_cold_email_unified_preview_post
Preview Unified Cold Email Generate a preview for unified cold email flow. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "message": "Message", "subject": "Subject" } ```
remembered
delete_remembered_field_answer_api_user_memory__user_id__remembered_field_delete
Delete Remembered Field Answer Forgets one remembered application-field answer (memory-bank UI delete action). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
update_remembered_field_answer_api_user_memory__user_id__remembered_field_put
Update Remembered Field Answer Edit one remembered application-field answer from the memory-bank UI. Same durable store the extension writes to (interaction_history, keyed by normalized label) - this just lets the user correct it directly instead of waiting to be asked the question again on some future form. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
rendercv
get_rendercv_pdf_api_resume_rendercv_pdf_get
Get Rendercv Pdf Get RenderCV PDF download URL for the user's resume. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_rendercv_pdf_download_api_resume_rendercv_pdf_download_get
Get Rendercv Pdf Download Return a presigned URL with Content-Disposition: attachment so the browser downloads the resume PDF instead of opening it inline. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
reset
reset_campaign_config_api_config_campaign__campaign_id__delete
Reset Campaign Config Reset campaign configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
reset_user_config_api_config_user__user_id__delete
Reset User Config Reset user configuration to defaults ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
trigger
trigger_scrape_api_linkedin_leads_trigger_post
Trigger Scrape Manually kick off a LinkedIn scrape run. Admin only: each run spends metered Apify credits and accepts arbitrary search queries. Strategy (tried in order): 1. Publish to the linkedin_scrape_queue via RabbitMQ (if running). 2. If RabbitMQ is unavailable or times out, run the scrape directly as a FastAPI BackgroundTask so this endpoint always returns fast. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
trigger_user_discovery_api_multi_tenant_monitoring_discovery_trigger_post
Trigger User Discovery Manually trigger user discovery process ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
accounts
list_accounts_api_linkedin_leads_accounts_get
List Accounts List all LinkedIn scraper accounts in the pool (passwords masked). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
agent
agent_step_api_extension_agent_step_post
Agent Step Tier 4: one step of an agentic fallback loop for pages where tiers 1-3 (coded adapters, universal field matcher, batched AI field-answering) found nothing to work with. The extension sends a snapshot of every visible interactive element on the page; this returns exactly one action to take next. Never raises on a bad/failed model response - degrades to "blocked" so the client loop just stops rather than crashing the fill. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "action": "Action" } ```
answer
answer_fields_api_extension_answer_fields_post
Answer Fields AI fallback for job-application form fields the extension's coded/heuristic fill pass could not confidently answer. Batched per application (not per field) to control latency and cost. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "answers": [ { "field_id": "Field Id", "confidence": "Confidence", "source": "Source" } ] } ```
apify
apify_webhook_api_linkedin_leads_webhook_apify_post
Apify Webhook Receives push notifications from Apify when a scraper run completes. No authentication required (Apify calls this endpoint). Apify includes a secret token in the URL for verification in production. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
applications
list_applications_api_applications_get
List Applications List the current user's tracked applications, most recent first. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "user_id": "User Id", "company_name": "Company Name", "job_title": "Job Title", "job_url": "Job Url", "platform": "Platform", "status": "ApplicationStatus", "applied_at": "2023-01-01T00:00:00Z", "status_history": [ { "status": "ApplicationStatus", "changed_at": "2023-01-01T00:00:00Z" } ], "source": "Source" } ] ```
approve
approve_outreach_item_api_outreach_queue__item_id__approve_post
Approve Outreach Item Approve a queue item and send the cold email. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
ats
get_ats_score_api_resume_ats_score_get
Get Ats Score Return the most recently calculated ATS score for the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
autopilot
get_autopilot_settings_api_autopilot_settings_get
Get Autopilot Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
bulk
bulk_send_outreach_api_linkedin_leads_bulk_outreach_post
Bulk Send Outreach Send outreach emails to multiple leads in one call. Each lead must have an email address. Leads without emails are skipped. Returns per-lead results so the frontend can show success/fail per contact. Rate-limited to 20 leads per request to protect Gmail sending quotas. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
claim
claim_referral_code_api_referrals_claim_post
Claim Referral Code Claim a referral code. Awards 10 credits to both the claimer and the referrer. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
clear
clear_job_matches_api_job_matches_delete
Clear Job Matches Clear all job matches for a user Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
companies
list_companies_api_companies_get
List Companies ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ] ```
company
create_company_endpoint_api_companies_post
Create Company Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "hrContacts": [ { "email": "Email" } ], "hrContactCount": 1 } ```
connection
get_connection_url_api_tools_connect__app_name__get
Get Connection Url Get the authorization URL for a specific Composio app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
connections
list_connections_api_tools_connections_get
List Connections List all active connections for the user in Composio. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
contact
add_hr_contact_endpoint_api_companies__company_id__hr_contacts_post
Add Hr Contact Endpoint ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "name": "Name" } ```
conversation
get_conversation_details_api_email_conversations__conversation_id__get
Get Conversation Details Get details of a specific conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "contact_email": "Contact Email", "status": "ConversationStatus", "intent": "ConversationIntent", "subject_line": "Subject Line", "message_count": 1, "last_updated": "2023-01-01T00:00:00Z", "messages": [ {} ], "context_data": {} } ```
conversations
get_conversations_api_email_conversations_get
Get Conversations Get all conversations for the authenticated user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "contact_email": "Contact Email", "status": "ConversationStatus", "intent": "ConversationIntent", "subject_line": "Subject Line", "message_count": 1, "last_updated": "2023-01-01T00:00:00Z" } ] ```
daily
update_daily_outreach_settings_api_autopilot_settings_patch
Update Daily Outreach Settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "daily_outreach_enabled": true, "outreach_timezone": "Outreach Timezone", "daily_outreach_batch_size": 1, "credit_balance": 1, "autopilot_enabled": true, "outreach_paused": true } ```
debug
debug_pdf_api_resume_debug_pdf_get
Debug Pdf Get debugging information about a PDF file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
default
get_default_config_api_config_defaults_get
Get Default Config Get default configuration values ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
disable
disable_user_monitoring_api_multi_tenant_monitoring_users__user_id__disable_post
Disable User Monitoring Disable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
disconnect
disconnect_app_api_tools_connect__app_name__delete
Disconnect App Revoke the user's Composio connection for a specific app. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
dismiss
dismiss_outreach_item_api_outreach_queue__item_id__delete
Dismiss Outreach Item Dismiss an outreach queue item. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
download
download_resume_api_resume_download_get
Download Resume Download the user's resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
effective
get_effective_config_api_config_effective__user_id__get
Get Effective Config Get effective configuration combining user and campaign settings ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
enable
enable_user_monitoring_api_multi_tenant_monitoring_users__user_id__enable_post
Enable User Monitoring Enable email monitoring for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
execute
execute_tool_api_tools_execute_post
Execute Tool Executes a tool by name with provided arguments. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
fallback
get_fallback_sender_api_email_sender_pool_fallback_sender_get
Get Fallback Sender Get a fallback email sender, excluding the specified user (admin only) ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
filtered
get_filtered_jobs_api_job_matches_get
Get Filtered Jobs Get filtered job matches for a user Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
formatted
get_formatted_footer_api_email_footer__user_id__formatted_get
Get Formatted Footer Get formatted footer string for a user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
integration
get_integration_status_api_tools_status_get
Get Integration Status Get the connection status for key integrations across all providers. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
interaction
add_ai_interaction_context_api_user_memory__user_id__context_post
Add Ai Interaction Context Add AI interaction context to user memory ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
invite
invite_info_api_orgs_invites__token__get
Invite Info Public (pre-login) details for the join page. Unknown, used and expired all look the same. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
keys
list_keys_api_api_keys_get
List Keys ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
legacy
update_legacy_autopilot_settings_api_autopilot_legacy_settings_patch
Update Legacy Autopilot Settings Legacy job-board autopilot — not available when daily outreach is enabled. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "autopilot_enabled": true, "autopilot_min_match_score": 1.0 } ```
match
match_score_api_extension_match_score_post
Match Score Ad-hoc resume<->job-description match score for a posting the extension is looking at, which isn't (and doesn't need to be) a job stored in the DB. Uses the pure heuristic matcher (no embeddings/DB lookups needed). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "match_score": 1.0, "summary": "Summary", "missing_skills": [ "string" ] } ```
notification
delete_notification_api_notifications__notification_id__delete
Delete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
notifications
get_notifications_api_notifications_get
Get Notifications Fetch notifications for the current user. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
pause
pause_conversation_api_email_conversations__conversation_id__pause_post
Pause Conversation Pause an ongoing conversation to stop automatic follow-ups. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
pending
get_pending_auto_replies_api_auto_replies_get
Get Pending Auto Replies List pending auto-replies the user can still cancel. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ {} ] ```
public
public_resume_api_resume_public_get
Public Resume Resume link embedded in cold emails: no login, but only links we signed will open. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
referral
get_referral_code_api_referrals_code_get
Get Referral Code Return the user's referral code, generating one if it doesn't exist yet. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
refresh
refresh_ats_score_api_resume_ats_score_refresh_post
Refresh Ats Score Recalculate the ATS score from the current resume and persist it. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
regenerate
regenerate_templates_api_email_templates_regenerate_post
Regenerate Templates Delete all existing templates and generate a fresh one via AI. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ] ```
remember
remember_field_answer_api_extension_remember_field_answer_post
Remember Field Answer Durable, cross-device, cross-site memory of one field answer the extension learned - either a confirmed AI answer or a user's correction, fired on every blur/selection of a field the extension filled. Grounds future /answer-fields calls (see get_remembered_field_answers above) so the same question doesn't need asking again on the next application, anywhere. Requires extension_field_memory_consent - the extension's own UI should already gate whether it ever sends this request, but a consent decision this sensitive (can include EEO/self-identification answers the user typed themselves) shouldn't rely on client-side gating alone. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
render
render_raw_yaml_api_resume_render_raw_yaml_post
Render Raw Yaml Hot-reload: Generate PDF from raw YAML content ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
resolve
resolve_protocol_api_email_conversations__conversation_id__resolve_post
Resolve Protocol Resolve a human-intervention protocol by sending a manual reply and marking the associated notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
revoke
revoke_invite_api_orgs_me_invites__invite_id__delete
Revoke Invite ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
save
save_resume_yaml_api_resume_save_yaml_post
Save Resume Yaml Save raw YAML content to the user's resume. YAML is treated as the source of truth: the structured resume fields (personalInfo, experience, education, projects, skills, certifications) are parsed from the YAML and written back to the database so that every other part of the application (resume overview, AI chat, job matching …) always reflects the latest YAML edits. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
scrape
list_scrape_runs_api_linkedin_leads_scrape_runs_get
List Scrape Runs List recent scrape run records for audit / dashboard (admin only: they hold platform-wide queries and volumes). ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
show
show_resume_api_resume__resume_id__get
Show Resume Show the resume via redirect to presigned S3 URL. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
student
remove_student_api_orgs_me_students__user_id__delete
Remove Student ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
students
my_students_api_orgs_me_students_get
My Students ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
submit
submit_feedback_api_feedback_post
Submit Feedback ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
system
get_system_stats_api_multi_tenant_monitoring_stats_get
Get System Stats Get overall system statistics ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "workers": [ {} ], "total_active_users": 1, "system_status": "System Status" } ```
tailor
tailor_resume_api_extension_tailor_resume_post
Tailor Resume Generates a one-off resume PDF reworded toward a specific job description, for the extension to swap into a file-upload field before submitting that one application. Never persisted to the user's profile/canonical resume. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "pdf_base64": "Pdf Base64", "file_name": "File Name" } ```
template
update_template_api_email_templates__template_id__put
Update Template Edit a template's subject, body, or name. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ```
templates
list_templates_api_email_templates_get
List Templates Return the user's email templates, generating them if none exist yet. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json [ { "id": "Id", "name": "Name", "subject": "Subject", "body": "Body", "usage_count": 1, "reply_count": 1, "reply_rate": 1.0 } ] ```
test
test_pdf_generation_api_resume_test_pdf_generation_get
Test Pdf Generation Test PDF generation to debug PDF issues. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
themes
list_themes_api_resume_themes_get
List Themes ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
tools
get_tools_schema_api_tools_schema_get
Get Tools Schema Returns the JSON schema for all available tools. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
tracking
tracking_pixel_api_tracking_pixel__email_id__png_get
Tracking Pixel Endpoint for the email tracking pixel. When loaded, it updates the corresponding email record as opened. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
unsubscribe
unsubscribe_api_newsletter_unsubscribe_get
Unsubscribe Public link clicked from a newsletter email - no auth, verified by HMAC signature. ### Responses: **200**: Successful Response (Success Response) Content-Type: text/html **Example Response:** ```json "string" ```
upload
upload_resume_api_resume_post
Upload Resume Upload and process a resume file. Requires authentication. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json **Example Response:** ```json { "success": true } ```
yaml
get_yaml_suggestions_api_resume_yaml_suggestions_post
Get Yaml Suggestions Generate YAML-based improvement suggestions ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

Endpoints

URLTransportStateLatencyChecked
https://hopehire.in/mcp streamable-http answering 584 ms 11 min ago

Alternatives to HopeHire

same job, measured the same way
Juicedresume
by juicedresume

Score, tailor, and export resumes from any MCP client — 60+ ATS checks and JD tailoring.

74 installs/wk local only
Qampi
by shivasingh9927

LinkedIn outreach from your agent: find prospects, add leads, run campaigns, read results.

42 installs/wk local only
LinkedNav
by linglistack

Run LinkedIn outreach from your AI chat: find leads, launch campaigns, send, and reply.

answering
JobZero
by jobzero

Score job fit, tailor grounded resumes, and prefill applications from your JobZero account.

answering
maxcv — CV tailoring
by maxcv

Score and tailor your CV/resume against a job posting — for AI agents and humans, no-login trial.

2 tools answering
Litos
by mehek-builds

Find jobs, tailor your resume to each one, and fill applications you review before they're sent.

answering
Campaignstack
by campaignstack

Run B2B outreach from your AI agent: 250+ tools for campaigns, leads, LinkedIn and email workflows.

answering
Leporis WhatsApp
by admin-rstechie

Send and read WhatsApp messages on your Leporis account from AI coding agents, via your own API key.

answering

HopeHire — questions

Answers built from our own checks of this server.

What can HopeHire do?
It exposes 168 tools, read directly from the server on our last check. Among them: add_account_api_linkedin_leads_accounts_post, add_ai_interaction_context_api_user_memory__user_id__context_post, add_hr_contact_endpoint_api_companies__company_id__hr_contacts_post, agent_step_api_extension_agent_step_post, answer_fields_api_extension_answer_fields_post, apify_webhook_api_linkedin_leads_webhook_apify_post and 162 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is HopeHire mostly used for?
Its tools cluster around user, send and resume. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is HopeHire working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 87 of 91 checks got a reply (95.6%), average response time 887 ms. The bar chart above shows every period we have measured.
How do I connect HopeHire?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does HopeHire need an API key?
No. HopeHire completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 168 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is HopeHire?
It answers our handshake in 887 ms on average, which is faster than 9% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.