Refine Job Search
by getrefine.co · remote · no sign-in to list tools · v0.5.2 · published by co.getrefine
Job search management: applications, interviews, offers, recruiter email, and company openings.
55 tools: 16 can delete or cancel things, 1 do something that can't be undone, 25 change things and 13 only read.
Scanned Oct 21, 2026
- Deletes or cancels16Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things25Claude Code: ask: see these tools
- Only reads13Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http refine https://mcp.getrefine.co/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnjobs.archive
The server marks "jobs.archive" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "jobs.archive" says "archive": a word for removing or ending something.
The server marks "inbox.draft_reply" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.draft_reply" says "reply": a word for sending, and what is sent cannot be taken back.
The server marks "inbox.sync_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.sync_status" says "sync": a word for a change.
The server marks "integrations.connect_google" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
55 tools
Deletes or cancels 16Claude Code: deny
inbox.acknowledgeKeep auto-applied inbox items as-is and finalize the automatic action.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Keep auto-applied inbox items as-is and finalize the automatic action. Confirm the specific items with the user first.
Annotations the server declares
- title: Acknowledge inbox items
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
inbox.apply_suggestionApply an inbox item's suggested action, such as adding an application to the board or recording a rejection.No findings
Why it is in this group
- The name "inbox.apply_suggestion" says "apply": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Apply an inbox item's suggested action, such as adding an application to the board or recording a rejection. Confirm the specific action with the user first.
Annotations the server declares
- title: Apply inbox suggestion
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
inbox.declineQueue decline replies to recruiter outreach.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Queue decline replies to recruiter outreach. Depending on the user's preference this SENDS email from their address. Only call after the user explicitly approved declining these specific conversations.
Annotations the server declares
- title: Decline conversations
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
inbox.dismissDismiss inbox items you are not acting on (also marks the mail read in Gmail)No findings
Why it is in this group
- The name "inbox.dismiss" says "dismiss": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Dismiss inbox items you are not acting on (also marks the mail read in Gmail)
Annotations the server declares
- title: Dismiss inbox items
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
inbox.send_replySend an email reply through the user's Gmail.No findings
Why it is in this group
- The name "inbox.send_reply" says "send": a word for sending, and what is sent cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Send an email reply through the user's Gmail. This emails a real person from the user's address. Only call after the user has seen the exact message body and explicitly approved sending it.
Annotations the server declares
- title: Send reply
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
inbox.undoUndo an auto-applied inbox action.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Undo an auto-applied inbox action. This can delete a board record that the automatic action created, so confirm with the user first.
Annotations the server declares
- title: Undo inbox action
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
inbox.unsubscribeUnsubscribe the user from this sender's mailing list via one-click list-unsubscribe.No findings
Why it is in this group
- The name "inbox.unsubscribe" says "unsubscribe": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Unsubscribe the user from this sender's mailing list via one-click list-unsubscribe. This changes the user's real email subscriptions; confirm with them before calling. Use it for unwanted bulk senders, not for a person you can simply decline.
Annotations the server declares
- title: Unsubscribe sender
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
jobs.archiveHide a job from the active board without recording a rejection or closing the application1 finding
Why it is in this group
- The name "jobs.archive" says "archive": a word for removing or ending something.
- The server marks it not destructive (destructiveHint: false), but an annotation never lowers a class.
Findings
- Warn
The server marks "jobs.archive" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "jobs.archive" says "archive": a word for removing or ending something.
Description, as the server wrote it Hide a job from the active board without recording a rejection or closing the application
Annotations the server declares
- title: Archive job
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.deletePermanently delete a job and its application from the board.No findings
Why it is in this group
- The name "jobs.delete" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete a job and its application from the board. Confirm with the user first; it cannot be undone. To hide a job without recording a rejection or closure, use jobs.archive instead.
Annotations the server declares
- title: Delete job
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.interviews.deletePermanently delete an interview from a job.No findings
Why it is in this group
- The name "jobs.interviews.delete" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete an interview from a job. Confirm with the user first; it cannot be undone.
Annotations the server declares
- title: Delete interview
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.mark_appliedMark a job as appliedNo findings
Why it is in this group
- The name "jobs.mark_applied" says "mark": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Mark a job as applied
Annotations the server declares
- title: Mark applied
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.offer.acceptAccept the offer for a job.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Accept the offer for a job. This is a major state change that closes out the search for this role; confirm with the user before calling. It does not email the employer.
Annotations the server declares
- title: Accept offer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.offer.declineDecline the offer for a job, a major state change; confirm with the user first.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Decline the offer for a job, a major state change; confirm with the user first. It does not email the employer.
Annotations the server declares
- title: Decline offer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.offer.deletePermanently delete the offer recorded for a job (the job stays).No findings
Why it is in this group
- The name "jobs.offer.delete" says "delete": a word for removing or ending something.
- The description says "Permanently delete".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Permanently delete the offer recorded for a job (the job stays). Use only to fix a mistake, and confirm with the user first; it cannot be undone.
Annotations the server declares
- title: Delete offer
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
jobs.offer.delete_negotiationRemove a negotiation event from an offerNo findings
Why it is in this group
- The name "jobs.offer.delete_negotiation" says "delete": a word for removing or ending something.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Remove a negotiation event from an offer
Annotations the server declares
- title: Delete negotiation event
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
signals.untrackStop tracking a company and delete its signal.No findings
Why it is in this group
- The description's first verb is "stop": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Stop tracking a company and delete its signal. Confirm with the user first; they stop getting new openings from it. To stop notifications temporarily instead, use signals.pause.
Annotations the server declares
- title: Untrack company
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Can't be undone 1Claude Code: ask
inbox.draft_replyGenerate an AI reply draft for an inbox item.1 finding
Why it is in this group
- The name "inbox.draft_reply" says "reply": a word for sending, and what is sent cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "inbox.draft_reply" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.draft_reply" says "reply": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Generate an AI reply draft for an inbox item. Returns HTML for review; it does not send anything.
Annotations the server declares
- title: Draft reply
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 25Claude Code: ask
inbox.mark_readClear an inbox item's unread-reply flagNo findings
Why it is in this group
- The name "inbox.mark_read" says "mark": a word for a change.
Description, as the server wrote it Clear an inbox item's unread-reply flag
Annotations the server declares
- title: Mark read
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
inbox.refreshCheck Gmail for new mail now; returns per-account sync statusNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check Gmail for new mail now; returns per-account sync status
Annotations the server declares
- title: Refresh inbox
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
inbox.sync_statusPer-account Gmail synchronization status, including current progress and last sync time1 finding
Why it is in this group
- The name "inbox.sync_status" says "sync": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "inbox.sync_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.sync_status" says "sync": a word for a change.
Description, as the server wrote it Per-account Gmail synchronization status, including current progress and last sync time
Annotations the server declares
- title: Inbox sync status
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
integrations.connect_googleGet a link for the user to connect Gmail to Refine or approve a missing Gmail permission.1 finding
Why it is in this group
- The description's first verb is "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "integrations.connect_google" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "get": a word for reading.
Description, as the server wrote it Get a link for the user to connect Gmail to Refine or approve a missing Gmail permission. Refine selects the permission needed for the connected account. The connection happens in the browser with no Refine sign-in required. Share the link only with the owner of this Refine account.
Annotations the server declares
- title: Connect Gmail
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
jobs.addAdd a new job to your journeyNo findings
Why it is in this group
- The name "jobs.add" says "add": a word for a change.
Description, as the server wrote it Add a new job to your journey
Annotations the server declares
- title: Add job
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
jobs.interviews.addLog an interview for a jobNo findings
Why it is in this group
- The name "jobs.interviews.add" says "add": a word for a change.
Description, as the server wrote it Log an interview for a job
Annotations the server declares
- title: Log interview
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
jobs.interviews.updateUpdate an existing interviewNo findings
Why it is in this group
- The name "jobs.interviews.update" says "update": a word for a change.
Description, as the server wrote it Update an existing interview
Annotations the server declares
- title: Update interview
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.offer.add_negotiationLog a negotiation event on an offer (counter-offer, update, etc.)No findings
Why it is in this group
- The name "jobs.offer.add_negotiation" says "add": a word for a change.
Description, as the server wrote it Log a negotiation event on an offer (counter-offer, update, etc.)
Annotations the server declares
- title: Log negotiation event
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
jobs.offer.createRecord a job offer with compensation detailsNo findings
Why it is in this group
- The name "jobs.offer.create" says "create": a word for a change.
Description, as the server wrote it Record a job offer with compensation details
Annotations the server declares
- title: Record offer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
jobs.offer.updateUpdate the offer recorded for a jobNo findings
Why it is in this group
- The name "jobs.offer.update" says "update": a word for a change.
Description, as the server wrote it Update the offer recorded for a job
Annotations the server declares
- title: Update offer
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.refreshQueue a job posting to be re-scraped.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Queue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state.
Annotations the server declares
- title: Re-scrape job
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
jobs.unarchiveRestore an archived job to the active boardNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Restore an archived job to the active board
Annotations the server declares
- title: Unarchive job
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.updateUpdate a job in your journeyNo findings
Why it is in this group
- The name "jobs.update" says "update": a word for a change.
Description, as the server wrote it Update a job in your journey
Annotations the server declares
- title: Update job
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
signals.openings.mark_all_readMark every unread opening notification as read after the user confirms the bulk actionNo findings
Why it is in this group
- The name "signals.openings.mark_all_read" says "mark": a word for a change.
Description, as the server wrote it Mark every unread opening notification as read after the user confirms the bulk action
Annotations the server declares
- title: Mark all openings read
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.openings.mark_readMark one opening notification returned by signals.openings.list as readNo findings
Why it is in this group
- The name "signals.openings.mark_read" says "mark": a word for a change.
Description, as the server wrote it Mark one opening notification returned by signals.openings.list as read
Annotations the server declares
- title: Mark opening read
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.openings.saveSave a matched opening returned by signals.openings.list to your job journeyNo findings
Why it is in this group
- The name "signals.openings.save" says "save": a word for a change.
Description, as the server wrote it Save a matched opening returned by signals.openings.list to your job journey
Annotations the server declares
- title: Save opening
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
signals.pausePause tracking for a companyNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Pause tracking for a company
Annotations the server declares
- title: Pause tracker
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.blockDismiss a recommended company and block it from future recommendationsNo findings
Why it is in this group
- The description's first verb is "dismiss": a word for a change.
Description, as the server wrote it Dismiss a recommended company and block it from future recommendations
Annotations the server declares
- title: Block recommendation
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.dismissDismiss a recommended companyNo findings
Why it is in this group
- The name "signals.recommendations.dismiss" says "dismiss": a word for a change.
Description, as the server wrote it Dismiss a recommended company
Annotations the server declares
- title: Dismiss recommendation
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.feedbackRecord why a recommendation was or was not a fit; this sharpens future recommendations and the personaNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Record why a recommendation was or was not a fit; this sharpens future recommendations and the persona
Annotations the server declares
- title: Recommendation feedback
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
signals.recommendations.restoreRestore a dismissed or blocked recommendationNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Restore a dismissed or blocked recommendation
Annotations the server declares
- title: Restore recommendation
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.watchStart tracking a recommended company (converts it into a signal)No findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start tracking a recommended company (converts it into a signal)
Annotations the server declares
- title: Track recommendation
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
signals.resumeResume tracking for a companyNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Resume tracking for a company
Annotations the server declares
- title: Resume tracker
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.trackStart tracking a company for new job openingsNo findings
Why it is in this group
- The description's first verb is "start": a word for a change.
Description, as the server wrote it Start tracking a company for new job openings
Annotations the server declares
- title: Track company
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
signals.updateUpdate filters on a tracked companyNo findings
Why it is in this group
- The name "signals.update" says "update": a word for a change.
Description, as the server wrote it Update filters on a tracked company
Annotations the server declares
- title: Update tracker
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 13Claude Code: allow
account.agendaGet upcoming interviews and action itemsNo findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get upcoming interviews and action items
Annotations the server declares
- title: Upcoming agenda
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
inbox.getGet one inbox item with its related job and applicationNo findings
Why it is in this group
- The name "inbox.get" says "get": a word for reading.
Description, as the server wrote it Get one inbox item with its related job and application
Annotations the server declares
- title: Inbox item
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
inbox.get_threadFetch the full email thread for an inbox itemNo findings
Why it is in this group
- The name "inbox.get_thread" says "get": a word for reading.
Description, as the server wrote it Fetch the full email thread for an inbox item
Annotations the server declares
- title: Email thread
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
inbox.listList email conversations Refine matched to your job search (applications, interviews, recruiter outreach)No findings
Why it is in this group
- The name "inbox.list" says "list": a word for reading.
Description, as the server wrote it List email conversations Refine matched to your job search (applications, interviews, recruiter outreach)
Annotations the server declares
- title: List inbox
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
integrations.listList connected Google accounts and their grant status.No findings
Why it is in this group
- The name "integrations.list" says "list": a word for reading.
Description, as the server wrote it List connected Google accounts and their grant status. To connect a new account, use integrations.connect_google.
Annotations the server declares
- title: Connected accounts
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.getGet details of a specific jobNo findings
Why it is in this group
- The name "jobs.get" says "get": a word for reading.
Description, as the server wrote it Get details of a specific job
Annotations the server declares
- title: Job details
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
jobs.listList jobs in your journeyNo findings
Why it is in this group
- The name "jobs.list" says "list": a word for reading.
Description, as the server wrote it List jobs in your journey
Annotations the server declares
- title: List jobs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
persona.getGet the user's persona: inferred job-search preferences and traits with an understanding score.No findings
Why it is in this group
- The name "persona.get" says "get": a word for reading.
Description, as the server wrote it Get the user's persona: inferred job-search preferences and traits with an understanding score. Use it to tailor advice and searches.
Annotations the server declares
- title: Get persona
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.listList companies you are trackingNo findings
Why it is in this group
- The name "signals.list" says "list": a word for reading.
Description, as the server wrote it List companies you are tracking
Annotations the server declares
- title: List tracked companies
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.list_applied_jobsList jobs in your journey that came from a tracked companyNo findings
Why it is in this group
- The name "signals.list_applied_jobs" says "list": a word for reading.
Description, as the server wrote it List jobs in your journey that came from a tracked company
Annotations the server declares
- title: Jobs from tracker
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.openings.listList signal notifications (new openings at tracked companies)No findings
Why it is in this group
- The name "signals.openings.list" says "list": a word for reading.
Description, as the server wrote it List signal notifications (new openings at tracked companies)
Annotations the server declares
- title: List notifications
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.getGet one recommended company with sources and persona fitNo findings
Why it is in this group
- The name "signals.recommendations.get" says "get": a word for reading.
Description, as the server wrote it Get one recommended company with sources and persona fit
Annotations the server declares
- title: Recommendation details
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
signals.recommendations.listList companies recommended from one company you track.No findings
Why it is in this group
- The name "signals.recommendations.list" says "list": a word for reading.
Description, as the server wrote it List companies recommended from one company you track. Get signal_id from signals.list.
Annotations the server declares
- title: List recommendations
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
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.
Install
Pinned to version 0.5.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http refine https://mcp.getrefine.co/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__refine__jobs_list",
"mcp__refine__jobs_get",
"mcp__refine__signals_list",
"mcp__refine__signals_list_applied_jobs",
"mcp__refine__signals_openings_list",
"mcp__refine__inbox_list",
"mcp__refine__inbox_get",
"mcp__refine__inbox_get_thread",
"mcp__refine__persona_get",
"mcp__refine__signals_recommendations_list",
"mcp__refine__signals_recommendations_get",
"mcp__refine__account_agenda",
"mcp__refine__integrations_list"
],
"ask": [
"mcp__refine__jobs_add",
"mcp__refine__jobs_update",
"mcp__refine__jobs_refresh",
"mcp__refine__jobs_unarchive",
"mcp__refine__jobs_interviews_add",
"mcp__refine__jobs_interviews_update",
"mcp__refine__jobs_offer_create",
"mcp__refine__jobs_offer_update",
"mcp__refine__jobs_offer_add_negotiation",
"mcp__refine__signals_track",
"mcp__refine__signals_update",
"mcp__refine__signals_pause",
"mcp__refine__signals_resume",
"mcp__refine__signals_openings_save",
"mcp__refine__signals_openings_mark_read",
"mcp__refine__signals_openings_mark_all_read",
"mcp__refine__inbox_draft_reply",
"mcp__refine__inbox_mark_read",
"mcp__refine__inbox_refresh",
"mcp__refine__inbox_sync_status",
"mcp__refine__signals_recommendations_watch",
"mcp__refine__signals_recommendations_dismiss",
"mcp__refine__signals_recommendations_block",
"mcp__refine__signals_recommendations_restore",
"mcp__refine__signals_recommendations_feedback",
"mcp__refine__integrations_connect_google"
],
"deny": [
"mcp__refine__jobs_delete",
"mcp__refine__jobs_mark_applied",
"mcp__refine__jobs_archive",
"mcp__refine__jobs_interviews_delete",
"mcp__refine__jobs_offer_delete",
"mcp__refine__jobs_offer_accept",
"mcp__refine__jobs_offer_decline",
"mcp__refine__jobs_offer_delete_negotiation",
"mcp__refine__signals_untrack",
"mcp__refine__inbox_send_reply",
"mcp__refine__inbox_apply_suggestion",
"mcp__refine__inbox_undo",
"mcp__refine__inbox_unsubscribe",
"mcp__refine__inbox_dismiss",
"mcp__refine__inbox_acknowledge",
"mcp__refine__inbox_decline"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as refine. Review it before you use it.