Homerun MCP by usefulapi

Read Homerun vacancies, applications, notes and tags; move an application to a stage or add a note.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
97%
命名质量
78%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

发现(1)

  • LOWTool 'homerun_move_application_to_stage' name length outside 3-30 range在 homerun_move_application_to_stage 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,251token 数(工具定义)
~1.6 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.76%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "homerun": {
      "url": "https://homerun.usefulapi.io/mcp"
    }
  }
}

远程端点

https://homerun.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(9)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢homerun_list_vacancies(status, include, page, perPage)

List job vacancies (draft, private, public, ...) with title, status, type, location type and expiry. Optionally include location, department, hiring stages (their ids are what homerun_move_application_to_stage needs), salary indication and the candidate count. GET /vacancies (scope vacancies:read).

输入模式

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only vacancies in these statuses, e.g. [\"public\",\"private\"] or [\"draft\"].",
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[a-z_]{2,30}$"
      }
    },
    "include": {
      "description": "Extra data to include. Use stages to see the hiring stage ids.",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "location",
          "department",
          "stages",
          "salaryIndication",
          "total_candidate_count"
        ]
      }
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perPage": {
      "description": "Results per page, 1-100 (default 15).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_get_vacancy(vacancy_id)

One vacancy by id with description, location, department, hiring stages (id + name), salary indication, candidate count and the public job and application-form URLs. GET /vacancies/{vacancy_id} (scope vacancies:read).

输入模式

{
  "type": "object",
  "properties": {
    "vacancy_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Vacancy id, e.g. job_SnhUsAg1QwTRFIRNUfM6."
    }
  },
  "required": [
    "vacancy_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_list_applications(vacancy_id, stage, disqualified, hired_after, include_sources, ...)

List job applications, newest page first as the API orders them. Each item has name, e-mail, vacancy id, current stage (id + name), rating, created/hired dates and disqualified flag. Personal data: no phone number, date of birth, photo or files are returned here; ask for one application with homerun_get_application. Filter by vacancy, stage name or disqualified state and page through; do not use it to export all candidates. GET /job-applications (scope job-applications:read).

输入模式

{
  "type": "object",
  "properties": {
    "vacancy_id": {
      "description": "Only applications of these vacancy ids (filter[vacancy_id]).",
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{1,64}$",
        "description": "Vacancy id"
      }
    },
    "stage": {
      "description": "Only applications in the hiring stage with this name (stage names belong to a vacancy, so combine with vacancy_id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "disqualified": {
      "description": "true = only disqualified, false = only not disqualified.",
      "type": "boolean"
    },
    "hired_after": {
      "description": "Only applicants hired after this date, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "include_sources": {
      "description": "Also return the sources (e.g. Homerun Career Page, Indeed) of each application.",
      "type": "boolean"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perPage": {
      "description": "Results per page, 1-100 (default 15).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_get_application(job_application_id, include_answers)

One job application in full: contact details (name, e-mail, phone, city, country), links, experience/education, current stage, rating, sources and file names (notes: use homerun_list_notes). Date of birth, photo URL and file download links are never returned. Optionally include the answers to the application-form questions. Personal data: fetch only the candidate you need. GET /job-applications/{job_application_id} (scope job-applications:read).

输入模式

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Application id, e.g. ap_D3kCkoClbG6n6KlqD0ob."
    },
    "include_answers": {
      "description": "Also return the application-form questions and the candidate's answers.",
      "type": "boolean"
    }
  },
  "required": [
    "job_application_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_list_notes(job_application_id, page, perPage)

List the notes on one application: id, author display name, text, sensitive flag and timestamps. GET /job-applications/{job_application_id}/notes (scope job-application-notes:read).

输入模式

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Application id."
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perPage": {
      "description": "Results per page, 1-100 (default 15).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "job_application_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_list_tags(page, perPage)

List the company's candidate tags (id + name). GET /tags (scope tags:read).

输入模式

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perPage": {
      "description": "Results per page, 1-100 (default 15).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢homerun_list_application_tags(job_application_id, page, perPage)

The tags attached to one application. GET /job-applications/{job_application_id}/tags (scope job-application-tags:read).

输入模式

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Application id."
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "perPage": {
      "description": "Results per page, 1-100 (default 15).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "job_application_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴homerun_move_application_to_stage(job_application_id, stage_id)

WRITE: move ONE application to another hiring stage of its vacancy (PATCH with only the stage id; nothing else on the application changes). Get stage ids from homerun_get_vacancy. Homerun's own automations for that stage may run (for example automatic e-mails configured in Homerun); this tool sends no e-mail itself and does not reject or delete anyone. PATCH /job-applications/{job_application_id} (scope job-applications:write).

输入模式

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Application id."
    },
    "stage_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Hiring stage id from the vacancy's stages (homerun_get_vacancy)."
    }
  },
  "required": [
    "job_application_id",
    "stage_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡homerun_add_note(job_application_id, note, display_name, is_sensitive)

WRITE: add ONE note (1-2000 characters) to one application. It becomes visible to the hiring team in Homerun and cannot be removed with this server. display_name is free text shown as the author. Nothing is sent to the candidate. POST /job-applications/{job_application_id}/notes (scope job-application-notes:write).

输入模式

{
  "type": "object",
  "properties": {
    "job_application_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Application id."
    },
    "note": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "The note text, 1-2000 characters."
    },
    "display_name": {
      "description": "Author name shown on the note (default \"AI assistant\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 192
    },
    "is_sensitive": {
      "description": "Mark the note as sensitive (restricts who can read it in Homerun).",
      "type": "boolean"
    }
  },
  "required": [
    "job_application_id",
    "note"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本9 个工具