
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
- 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.
- 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.
- 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.
- 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 →
get_notifications_api_notifications_getGet 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_postMark 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_patchMark Notification As Read Mark a notification as read. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
delete_notification_api_notifications__notification_id__deleteDelete Notification Delete a notification. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
get_ats_score_api_resume_ats_score_getGet 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_postRefresh 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_postResume 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_invMark 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_postGenerate 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_postApply 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_postGet Yaml Suggestions Generate YAML-based improvement suggestions ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
generate_complete_resume_api_resume_generate_complete_postGenerate 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_postRender 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_getList Themes ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
apply_resume_theme_api_resume_apply_theme_postApply 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_postSave 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_postCreate 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_getGet 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_getGet 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_getTest 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_getDebug 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_getDownload 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_getPublic 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__getShow 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_getGet 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_postUpload 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_putUpdate 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_deleteDelete 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_putSet 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_getGet 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_postCreate 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_putUpdate 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_deleteDelete 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_postStart 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_getGet 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_deleteClear 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_postStart 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_postStart 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_getGet 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__getCheck 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__getGet 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_postStart Conversation Start a new email conversation. ### Responses: **201**: Successful Response (Success Response) Content-Type: application/json
get_conversations_api_email_conversations_getGet 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__getGet 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_postPause 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_postResume Conversation Resume a paused conversation. ### Responses: **200**: Successful Response (Success Response) Content-Type: application/json
send_manual_message_api_email_conversations__conversation_id__message_postSend 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_postResolve 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_getGet 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_getGet 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_postEnable 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_postDisable 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__configUpdate 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_postTrigger 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_geGet 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__getGet 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_getGet 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__getGet 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__postCreate 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__putUpdate 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/mcpclaude.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.
Cookies
Before we count this visit
Analytics and ad measurement tell us which pages and which of our ads do their job: Google Analytics and Google Ads, the Meta pixel, Yandex Metrica, and one first-party id of our own. Nothing is stored until you answer, and declining changes nothing about the site.