Homerun MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
97%
Qualität der Benennung
78%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'homerun_move_application_to_stage' name length outside 3-30 rangein homerun_move_application_to_stage

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,251Tokens (Tool-Definitionen)
~1.6 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.76% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (9)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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).

Eingabe-Schema

{
  "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"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet9 Tools