Homerun MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.3.4 · published by io.usefulapi
Read Homerun vacancies, applications, notes and tags; move an application to a stage or add a note.
9 tools: 1 can delete or cancel things, 1 change things and 7 only read.
Scanned Oct 22, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads7Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http homerun https://homerun.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Deletes or cancels 1Claude Code: deny
homerun_move_application_to_stageWRITE: move ONE application to another hiring stage of its vacancy (PATCH with only the stage id; nothing else on the application changes).Reads text others writeNo findings
Why it is in this group
- The name "homerun_move_application_to_stage" says "move": a word for a change.
- The server marks it destructive (destructiveHint: true).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: Move application to a stage
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 1Claude Code: ask
homerun_add_noteWRITE: add ONE note (1-2000 characters) to one application.Reads text others writeNo findings
Why it is in this group
- The name "homerun_add_note" says "add": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: Add a note to an application
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 7Claude Code: allow
homerun_get_applicationOne 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_li…Reads private dataReads text others writeNo findings
Why it is in this group
- The name "homerun_get_application" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "contact": it reads contacts.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "mail": it reads inbound email, which other people can write.
Description, as the server wrote it 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).
Annotations the server declares
- title: Get application
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_get_vacancyOne vacancy by id with description, location, department, hiring stages (id + name), salary indication, candidate count and the public job and application-form URLs.Reads text others writeNo findings
Why it is in this group
- The name "homerun_get_vacancy" says "get": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: Get vacancy
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_list_application_tagsThe tags attached to one application.Reads text others writeNo findings
Why it is in this group
- The name "homerun_list_application_tags" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it The tags attached to one application. GET /job-applications/{job_application_id}/tags (scope job-application-tags:read).
Annotations the server declares
- title: List an application's tags
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_list_applicationsList job applications, newest page first as the API orders them.Reads text others writeNo findings
Why it is in this group
- The name "homerun_list_applications" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: List applications
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_list_notesList the notes on one application: id, author display name, text, sensitive flag and timestamps.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "homerun_list_notes" says "list": a word for reading.
What it can reach
- private-dataThe name "homerun_list_notes" says "list" and "note": it reads notes.
- private-dataThe description's first sentence says "list" and "note": it reads notes.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: List application notes
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_list_tagsList the company's candidate tags (id + name).Reads text others writeNo findings
Why it is in this group
- The name "homerun_list_tags" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it List the company's candidate tags (id + name). GET /tags (scope tags:read).
Annotations the server declares
- title: List tags
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
homerun_list_vacanciesList job vacancies (draft, private, public, ...) with title, status, type, location type and expiry.Reads text others writeNo findings
Why it is in this group
- The name "homerun_list_vacancies" says "list": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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).
Annotations the server declares
- title: List vacancies
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.
- Reads private data2
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write9
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out0
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Install
Pinned to version 1.3.4. Values in angle brackets are yours to fill in.
claude mcp add --transport http homerun https://homerun.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__homerun__homerun_list_vacancies",
"mcp__homerun__homerun_get_vacancy",
"mcp__homerun__homerun_list_applications",
"mcp__homerun__homerun_get_application",
"mcp__homerun__homerun_list_notes",
"mcp__homerun__homerun_list_tags",
"mcp__homerun__homerun_list_application_tags"
],
"ask": [
"mcp__homerun__homerun_add_note"
],
"deny": [
"mcp__homerun__homerun_move_application_to_stage"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as homerun. Review it before you use it.
Capability tags behind 9 rules
- mcp__homerun__homerun_list_vacancies untrusted-input
- mcp__homerun__homerun_get_vacancy untrusted-input
- mcp__homerun__homerun_list_applications untrusted-input
- mcp__homerun__homerun_get_application private-data, untrusted-input
- mcp__homerun__homerun_list_notes private-data, untrusted-input
- mcp__homerun__homerun_list_tags untrusted-input
- mcp__homerun__homerun_list_application_tags untrusted-input
- mcp__homerun__homerun_move_application_to_stage untrusted-input
- mcp__homerun__homerun_add_note untrusted-input