Refine Job Search

co.getrefine/refine

Job search management: applications, interviews, offers, recruiter email, and company openings.

Yes, your AI can use this right now.Answered a live MCP handshake in 143 ms with no sign-in needed and exposes 55 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://mcp.getrefine.co/mcp

55 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
jobs.listread-only

List jobs in your journey

jobs.getread-only

Get details of a specific job

jobs.add

Add a new job to your journey

jobs.update

Update a job in your journey

jobs.deletecan modify

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.

jobs.refresh

Queue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state.

jobs.mark_appliedcan modify

Mark a job as applied

jobs.archive

Hide a job from the active board without recording a rejection or closing the application

jobs.unarchive

Restore an archived job to the active board

jobs.interviews.add

Log an interview for a job

jobs.interviews.update

Update an existing interview

jobs.interviews.deletecan modify

Permanently delete an interview from a job. Confirm with the user first; it cannot be undone.

jobs.offer.create

Record a job offer with compensation details

jobs.offer.update

Update the offer recorded for a job

jobs.offer.deletecan modify

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.

jobs.offer.acceptcan modify

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.

jobs.offer.declinecan modify

Decline the offer for a job, a major state change; confirm with the user first. It does not email the employer.

jobs.offer.add_negotiation

Log a negotiation event on an offer (counter-offer, update, etc.)

jobs.offer.delete_negotiationcan modify

Remove a negotiation event from an offer

signals.listread-only

List companies you are tracking

signals.track

Start tracking a company for new job openings

signals.update

Update filters on a tracked company

signals.untrackcan modify

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.

signals.pause

Pause tracking for a company

signals.resume

Resume tracking for a company

signals.openings.save

Save a matched opening returned by signals.openings.list to your job journey

signals.list_applied_jobsread-only

List jobs in your journey that came from a tracked company

signals.openings.listread-only

List signal notifications (new openings at tracked companies)

signals.openings.mark_read

Mark one opening notification returned by signals.openings.list as read

signals.openings.mark_all_read

Mark every unread opening notification as read after the user confirms the bulk action

inbox.listread-only

List email conversations Refine matched to your job search (applications, interviews, recruiter outreach)

inbox.getread-only

Get one inbox item with its related job and application

inbox.get_threadread-only

Fetch the full email thread for an inbox item

inbox.draft_replyread-only

Generate an AI reply draft for an inbox item. Returns HTML for review; it does not send anything.

inbox.send_replycan modify

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.

inbox.apply_suggestioncan modify

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.

inbox.undocan modify

Undo an auto-applied inbox action. This can delete a board record that the automatic action created, so confirm with the user first.

inbox.mark_read

Clear an inbox item's unread-reply flag

inbox.unsubscribecan modify

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.

inbox.dismisscan modify

Dismiss inbox items you are not acting on (also marks the mail read in Gmail)

inbox.acknowledgecan modify

Keep auto-applied inbox items as-is and finalize the automatic action. Confirm the specific items with the user first.

inbox.declinecan modify

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.

inbox.refresh

Check Gmail for new mail now; returns per-account sync status

inbox.sync_statusread-only

Per-account Gmail synchronization status, including current progress and last sync time

persona.getread-only

Get the user's persona: inferred job-search preferences and traits with an understanding score. Use it to tailor advice and searches.

signals.recommendations.listread-only

List companies recommended from one company you track. Get signal_id from signals.list.

signals.recommendations.getread-only

Get one recommended company with sources and persona fit

signals.recommendations.watch

Start tracking a recommended company (converts it into a signal)

signals.recommendations.dismiss

Dismiss a recommended company

signals.recommendations.block

Dismiss a recommended company and block it from future recommendations

signals.recommendations.restore

Restore a dismissed or blocked recommendation

signals.recommendations.feedback

Record why a recommendation was or was not a fit; this sharpens future recommendations and the persona

account.agendaread-only

Get upcoming interviews and action items

integrations.listread-only

List connected Google accounts and their grant status. To connect a new account, use integrations.connect_google.

integrations.connect_google

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.

Alternatives in Search & Research

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”