Skip to content

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.

Deletes · 16Final · 1Changes · 25

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

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/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "jobs.archive" not destructive (destructiveHint: false), and its own name, description or input give the class "destructive".

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "jobs.archive" says "archive": a word for removing or ending something.

    What this check looks for
  • The server marks "inbox.draft_reply" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched 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.

    What this check looks for
  • The server marks "inbox.sync_status" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.sync_status" says "sync": a word for a change.

    What this check looks for
  • The server marks "integrations.connect_google" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "get": a word for reading.

    What this check looks for

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

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "jobs.archive" says "archive": a word for removing or ending something.

      What this check looks for
    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".

      Matched 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.

      What this check looks for
    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".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "inbox.sync_status" says "sync": a word for a change.

      What this check looks for
    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.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "get": a word for reading.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.