Skip to content
HopeHire logo

HopeHire MCP server

Which MCP servers are HopeHire's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-28

← Back to HopeHire

Whose server it is
  • Registry namein.hopehire/mcpverified in the MCP registry

The registry name sits under hopehire.in. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-28
  • Stateanswerschecked 2026-10-28
  • Tools167
  • Server calls itselfHopeHire
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-28 the server answered initialize and tools/list without a sign-in. First answer in 332 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 1 of the 7 days it takes to judge reliability.

Once connected

  • delete_notification_api_notifications__notification_id__delete, create_resume_from_linkedin_api_resume_from_linkedin_post, upload_resume_api_resume_post, update_resume_manual_api_resume_put, delete_resume_api_resume_delete change data without a sign-in: anyone with the address can call them.
  • Its definitions take about 32733 tokens of context: enable only the tools a task needs.
  • Parameters are untyped or undescribed in 102 of 168 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-10-28
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer375 ms
  • Space in an agent's context≈ 32,733 tokensthe definitions of all its tools (168), which an agent carries on every turn
  • Tool definitionsC · 73 of 100
  • Typed results0 of 168 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a description: in 102 of 168
  • Not saying whether it only reads or can destroy: 168 of 168

Worth a look

  • Tools that change data, on a server that answers without a sign-in: delete_notification_api_notifications__notification_id__delete, create_resume_from_linkedin_api_resume_from_linkedin_post, upload_resume_api_resume_post, update_resume_manual_api_resume_put, delete_resume_api_resume_delete

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers167 tools · read 2026-10-28
  • 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 [ {} ] ```

  • 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_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

  • delete_notification_api_notifications__notification_id__delete

    Delete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

  • 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

  • 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

  • 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"…

  • mark_improvement_suggestions_invalid_api_resume_improvement_suggestions_mark_inv

    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

  • 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

  • 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

  • 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

  • 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

  • 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

  • list_themes_api_resume_themes_get

    List Themes ### 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

  • 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…

  • 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 {…

  • 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…

  • 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

  • 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

  • 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 } ```

  • 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

  • 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 } ```

  • 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 } ```

  • 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 } ```

  • 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 {…

  • 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

  • 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…

  • 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 } ```

  • 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 } ```

  • 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 } ```

  • 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

  • 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

  • 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 } ```

  • 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

  • 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_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)…

  • 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

  • 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"…

  • 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:**…

  • 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

  • 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…

  • 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"…

  • 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

  • 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

  • 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

  • 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

  • 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"…

  • 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 [ {} ] ```

  • 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

  • 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

  • update_user_monitoring_config_api_multi_tenant_monitoring_users__user_id__config

    Update User Monitoring Config Update email monitoring configuration for a user ### 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

  • get_user_monitoring_status_api_multi_tenant_monitoring_users__user_id__status_ge

    Get User Monitoring Status Get monitoring status for a specific user ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json

  • 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…

  • 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_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 } ```

  • 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 } ```

  • 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 } ```

The first 60 of 167, as the server listed them.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "hopehire": {
      "type": "http",
      "url": "https://hopehire.in/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http hopehire https://hopehire.in/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://hopehire.in/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.