co.getrefine/refine

MCPcommunitylive
v0.5.2co.getrefineUnknownUpdated 1mo ago

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

Endpoint healthlive
checked 9 days ago · 580ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
1mo agoLast update
Package
Authorco.getrefine
LicenseUnknown
Version0.5.2
Sourcemcp-registry
Trust Status
B
60/100Good
Hosted endpoint only: this assessment covers who publishes it and whether it answers, not the code behind it. No CVE, dependency or source analysis applies, so nothing here is a clean bill for that code.
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
✓Prompt-injection scan · clean+30/30
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface55 tools · none privileged
Security scan✓ Cleanvlive · 9d agoHow well does this scan work?
EvalsNone
IndexedAug 25, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

55 tools · none privileged
Observed live from the vendor's endpoint9d ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://mcp.getrefine.co/mcp55 tools · 580ms
jobs.listList jobs in your journey

List jobs in your journey

ParameterTypeDescription
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
jobs.getGet details of a specific job

Get details of a specific job

ParameterTypeDescription
job_id*stringJob id
jobs.addAdd a new job to your journey

Add a new job to your journey

ParameterTypeDescription
title*stringJob title
company*stringCompany name
urlstringURL of the job posting
locationstringJob location
sourcestringWhere this job came from
compensation_textstringCompensation text from the posting
descriptionstringJob description
qualificationsstringJob qualifications
jobs.updateUpdate a job in your journey

Update a job in your journey

ParameterTypeDescription
job_id*stringJob id
titlestringJob title
companystringCompany name
locationstringJob location
urlstringURL of the job posting
sourcestringWhere this job came from
compensation_textstringCompensation text from the posting
descriptionstringJob description
qualificationsstringJob qualifications
notesstringMarkdown notes about this application
jobs.deletePermanently 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.

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.

ParameterTypeDescription
job_id*stringJob id
confirmed*booleanMust be true after the user confirms permanent deletion
jobs.refreshQueue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state.

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

ParameterTypeDescription
job_id*stringJob id
jobs.mark_appliedMark a job as applied

Mark a job as applied

ParameterTypeDescription
job_id*stringJob id
jobs.archiveHide a job from the active board without recording a rejection or closing the application

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

ParameterTypeDescription
job_id*stringJob id
jobs.unarchiveRestore an archived job to the active board

Restore an archived job to the active board

ParameterTypeDescription
job_id*stringJob id
jobs.interviews.addLog an interview for a job

Log an interview for a job

ParameterTypeDescription
job_id*stringJob id
name*stringInterview name, e.g. phone screen, technical, behavioral, onsite
scheduled_atstringISO 8601 date/time with timezone
locationstringLocation or meeting link
notesstringNotes or debrief from the interview
jobs.interviews.updateUpdate an existing interview

Update an existing interview

ParameterTypeDescription
job_id*stringJob id
interview_id*stringInterview id
namestringInterview name, e.g. phone screen, technical, onsite
notesstringNotes or debrief from the interview
scheduled_atstringISO 8601 date/time with timezone
completed_atstringCompletion date in YYYY-MM-DD format
cancelled_atstringISO 8601 cancellation time with timezone
cancelled_reasonstringWhy the interview was cancelled
locationstringLocation or meeting link
outcomestringInterview outcome
ratingintegerYour rating of the interview, 1 to 5
next_actionstringThe next step after this interview
feedbackstringFeedback received or given
interviewersstringNames or roles of the interviewers
jobs.interviews.deletePermanently delete an interview from a job. Confirm with the user first; it cannot be undone.

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

ParameterTypeDescription
job_id*stringJob id
interview_id*stringInterview id
confirmed*booleanMust be true after the user confirms permanent deletion
jobs.offer.createRecord a job offer with compensation details

Record a job offer with compensation details

ParameterTypeDescription
job_id*stringJob id
base_salary_centsintegerBase salary in cents (e.g. 15000000 for $150k)
currencystringSupported currency code
rsu_textstringRSU details as text
equity_textstringEquity details as text
bonus_centsintegerBonus in cents
deadline_atstringISO 8601 offer deadline with timezone
next_actionstringThe next step on this offer
notesstringNotes about the offer
initial_salary_centsintegerThe originally offered base salary in cents
initial_equity_textstringThe originally offered equity as text
initial_rsu_textstringThe originally offered RSUs as text
initial_bonus_centsintegerThe originally offered bonus in cents
target_salary_centsintegerThe base salary you are negotiating toward, in cents
target_rsu_textstringThe RSUs you are negotiating toward, as text
target_equity_textstringThe equity you are negotiating toward, as text
target_bonus_centsintegerThe bonus you are negotiating toward, in cents
jobs.offer.updateUpdate the offer recorded for a job

Update the offer recorded for a job

ParameterTypeDescription
job_id*stringJob id
base_salary_centsintegerBase salary in cents (e.g. 15000000 for $150k)
currencystringSupported currency code
rsu_textstringRSU details as text
equity_textstringEquity details as text
bonus_centsintegerBonus in cents
deadline_atstringISO 8601 offer deadline with timezone
next_actionstringThe next step on this offer
notesstringNotes about the offer
initial_salary_centsintegerThe originally offered base salary in cents
initial_equity_textstringThe originally offered equity as text
initial_rsu_textstringThe originally offered RSUs as text
initial_bonus_centsintegerThe originally offered bonus in cents
target_salary_centsintegerThe base salary you are negotiating toward, in cents
target_rsu_textstringThe RSUs you are negotiating toward, as text
target_equity_textstringThe equity you are negotiating toward, as text
target_bonus_centsintegerThe bonus you are negotiating toward, in cents
jobs.offer.deletePermanently 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.

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.

ParameterTypeDescription
job_id*stringJob id
confirmed*booleanMust be true after the user confirms permanent deletion
jobs.offer.acceptAccept 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.

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.

ParameterTypeDescription
job_id*stringJob id
confirmed*booleanMust be true after the user confirms accepting the offer
jobs.offer.declineDecline the offer for a job, a major state change; confirm with the user first. It does not email the employer.

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

ParameterTypeDescription
job_id*stringJob id
confirmed*booleanMust be true after the user confirms declining the offer
jobs.offer.add_negotiationLog a negotiation event on an offer (counter-offer, update, etc.)

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

ParameterTypeDescription
job_id*stringJob id
event_type*stringWhether the event records an employer offer or your counter
event_datestringEvent date in YYYY-MM-DD format
salary_centsintegerSalary in cents (e.g. 15000000 for $150k)
equity_textstringEquity details (e.g. "0.05% over 4 years")
bonus_centsintegerSigning bonus in cents
notesstringNotes about this negotiation event
jobs.offer.delete_negotiationRemove a negotiation event from an offer

Remove a negotiation event from an offer

ParameterTypeDescription
job_id*stringJob id
event_id*integerNegotiation event id
confirmed*booleanMust be true after the user confirms deletion
signals.listList companies you are tracking

List companies you are tracking

ParameterTypeDescription
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
signals.trackStart tracking a company for new job openings

Start tracking a company for new job openings

ParameterTypeDescription
company_name*stringName of the company
careers_url*stringURL of the company careers page
departmentsarrayDepartments to filter by
locationsarrayLocations to filter by; use "remote" for remote roles
include_keywordsarrayKeywords that must appear in the role
exclude_keywordsarrayKeywords to exclude
seniority_levelsarraySeniority levels to include
sync_frequencystringHow often Refine should refresh this company
signals.updateUpdate filters on a tracked company

Update filters on a tracked company

ParameterTypeDescription
signal_id*stringSignal (tracked company) id
departmentsarrayDepartments to filter by
locationsarrayLocations to filter by; use "remote" for remote roles
include_keywordsarrayKeywords that must appear in the role
exclude_keywordsarrayKeywords to exclude
seniority_levelsarraySeniority levels to include
sync_frequencystringHow often Refine should refresh this company
signals.untrackStop 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.

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.

ParameterTypeDescription
signal_id*stringSignal (tracked company) id
confirmed*booleanMust be true after the user confirms they want to stop tracking the company
signals.pausePause tracking for a company

Pause tracking for a company

ParameterTypeDescription
signal_id*stringSignal (tracked company) id
signals.resumeResume tracking for a company

Resume tracking for a company

ParameterTypeDescription
signal_id*stringSignal (tracked company) id
signals.openings.saveSave a matched opening returned by signals.openings.list to your job journey

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

ParameterTypeDescription
opening_id*stringMatched opening id from signals.openings.list
signals.list_applied_jobsList jobs in your journey that came from a tracked company

List jobs in your journey that came from a tracked company

ParameterTypeDescription
signal_id*stringSignal (tracked company) id
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
signals.openings.listList signal notifications (new openings at tracked companies)

List signal notifications (new openings at tracked companies)

ParameterTypeDescription
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
tabstringUse new for unread notifications
tracker_idstringFilter notifications to one signal tracker
qstringFree-text search over opening titles
locationstringExact location facet; use "remote" for remote roles
departmentstringExact department facet
matchesbooleanOnly openings that score as a match for your persona
signals.openings.mark_readMark one opening notification returned by signals.openings.list as read

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

ParameterTypeDescription
notification_id*stringNotification id from signals.openings.list
signals.openings.mark_all_readMark every unread opening notification as read after the user confirms the bulk action

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

ParameterTypeDescription
confirmed*booleanMust be true after the user confirms marking all openings read
inbox.listList email conversations Refine matched to your job search (applications, interviews, recruiter outreach)

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

ParameterTypeDescription
tabstringWhich inbox tab to list; defaults to applications
statusstringpending needs a decision, auto was auto-applied, active has an open conversation, handled is done
unreadbooleanWith status=active: only conversations with (or without) an unread reply
accountstringFilter to one connected Google account id
shelfstringFor the outreach tab: show the low-signal shelf instead of the main feed
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
inbox.getGet one inbox item with its related job and application

Get one inbox item with its related job and application

ParameterTypeDescription
item_id*stringInbox item id
inbox.get_threadFetch the full email thread for an inbox item

Fetch the full email thread for an inbox item

ParameterTypeDescription
item_id*stringInbox item id
inbox.draft_replyGenerate an AI reply draft for an inbox item. Returns HTML for review; it does not send anything.

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

ParameterTypeDescription
item_id*stringInbox item id
kind*stringdecline politely passes; interested asks to continue the conversation
inbox.send_replySend 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.

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.

ParameterTypeDescription
item_id*stringInbox item id
body*stringHTML body of the reply, exactly as approved by the user
draft_kindstringSet when the body came from inbox.draft_reply
confirmed*booleanMust be true, and only after the user explicitly approved sending this exact message
inbox.apply_suggestionApply 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.

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.

ParameterTypeDescription
item_id*stringInbox item id
confirmed*booleanMust be true after the user confirms applying this suggestion
inbox.undoUndo an auto-applied inbox action. This can delete a board record that the automatic action created, so confirm with the user first.

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

ParameterTypeDescription
item_id*stringInbox item id
confirmed*booleanMust be true after the user confirms undoing the automatic action
inbox.mark_readClear an inbox item's unread-reply flag

Clear an inbox item's unread-reply flag

ParameterTypeDescription
item_id*stringInbox item id
inbox.unsubscribeUnsubscribe 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.

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.

ParameterTypeDescription
item_id*stringInbox item id
confirmed*booleanMust be true, and only after the user explicitly approved unsubscribing from this sender
inbox.dismissDismiss inbox items you are not acting on (also marks the mail read in Gmail)

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

ParameterTypeDescription
ids*arrayInbox item ids to dismiss
confirmed*booleanMust be true after the user confirms dismissing these items and marking their mail read
inbox.acknowledgeKeep auto-applied inbox items as-is and finalize the automatic action. Confirm the specific items with the user first.

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

ParameterTypeDescription
ids*arrayInbox item ids to acknowledge
confirmed*booleanMust be true after the user confirms keeping these automatic actions
inbox.declineQueue 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.

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.

ParameterTypeDescription
ids*arrayInbox item ids to decline
preferencestringSend preference to apply; omit to use the saved preference
rememberbooleanSave the preference for future declines
confirmed*booleanMust be true, and only after the user explicitly approved declining these conversations
inbox.refreshCheck Gmail for new mail now; returns per-account sync status

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

No input schema was published for this tool.

inbox.sync_statusPer-account Gmail synchronization status, including current progress and last sync time

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

No input schema was published for this tool.

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

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

No input schema was published for this tool.

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

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

ParameterTypeDescription
signal_id*stringTracked-company id from signals.list
pagestringPagination cursor returned as meta.next_page
limitintegerMaximum records to return
signals.recommendations.getGet one recommended company with sources and persona fit

Get one recommended company with sources and persona fit

ParameterTypeDescription
recommendation_id*stringRecommendation id
signals.recommendations.watchStart tracking a recommended company (converts it into a signal)

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

ParameterTypeDescription
recommendation_id*stringRecommendation id
signals.recommendations.dismissDismiss a recommended company

Dismiss a recommended company

ParameterTypeDescription
recommendation_id*stringRecommendation id
reasonstringWhy it was dismissed; sharpens future recommendations
signals.recommendations.blockDismiss a recommended company and block it from future recommendations

Dismiss a recommended company and block it from future recommendations

ParameterTypeDescription
recommendation_id*stringRecommendation id
signals.recommendations.restoreRestore a dismissed or blocked recommendation

Restore a dismissed or blocked recommendation

ParameterTypeDescription
recommendation_id*stringRecommendation id
signals.recommendations.feedbackRecord why a recommendation was or was not a fit; this sharpens future recommendations and the persona

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

ParameterTypeDescription
recommendation_id*stringRecommendation id
feedback_types*arrayOne or more supported feedback tags
interaction_sourcestringWhere the feedback came from in the UI or agent flow
account.agendaGet upcoming interviews and action items

Get upcoming interviews and action items

No input schema was published for this tool.

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

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

No input schema was published for this tool.

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

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.

No input schema was published for this tool.

55 of 55 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

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

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.

Topics

Related in search & retrieval