_ registry / mcp http-sse · checked 55m ago

refine

https://mcp.getrefine.co

Registry code: b73ba9a6fa039b7e

api record

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

from a public catalogue that lists it, not from the operator

endpoint
https://mcp.getrefine.co/mcp
protocol
http-sse ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is refine live?
Yes — it answered the hub's last check (checked 55m ago). It answered 100% of checks over the last 30 days.
Is refine free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does refine have?
55 tools: jobs.get, inbox.refresh, jobs.interviews.add, jobs.interviews.delete, jobs.offer.accept, jobs.offer.decline, signals.list, signals.resume, ….
Is refine safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.6%

90 days 99.2%· all time 99.2%

latency
241ms

last good check

priced tools
0

of 55 tools

_ answered our checks, 90 days 509 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
_ what it is for
used for
  • track job applications
  • manage interviews and offers
  • reply to recruiter emails
  • track companies for new openings
takes → gives
text → data, text
tools
9 reads15 changes data1 sends messages
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 55 tools
55 auth-required 55 of 55 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • jobs.get auth-required 35d ago

    Get details of a specific job

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        }
      }
    }
    arguments 13 lines
  • inbox.refresh auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • jobs.interviews.add auth-required never probed

    Log an interview for a job

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Interview name, e.g. phone screen, technical, behavioral, onsite"
        },
        "notes": {
          "type": "string",
          "description": "Notes or debrief from the interview"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "location": {
          "type": "string",
          "description": "Location or meeting link"
        },
        "scheduled_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "description": "ISO 8601 date/time with timezone"
        }
      }
    }
    arguments 32 lines
  • jobs.interviews.delete changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "interview_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms permanent deletion"
        },
        "interview_id": {
          "type": "string",
          "description": "Interview id"
        }
      }
    }
    arguments 24 lines
  • jobs.offer.accept changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms accepting the offer"
        }
      }
    }
    arguments 19 lines
  • jobs.offer.decline auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms declining the offer"
        }
      }
    }
    arguments 19 lines
  • signals.list reads auth-required never probed

    List companies you are tracking

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 16 lines
  • signals.resume auth-required never probed

    Resume tracking for a company

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id"
      ],
      "properties": {
        "signal_id": {
          "type": "string",
          "description": "Signal (tracked company) id"
        }
      }
    }
    arguments 13 lines
  • signals.list_applied_jobs reads auth-required never probed

    List jobs in your journey that came from a tracked company

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id"
      ],
      "properties": {
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        },
        "signal_id": {
          "type": "string",
          "description": "Signal (tracked company) id"
        }
      }
    }
    arguments 23 lines
  • signals.openings.mark_all_read auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "confirmed"
      ],
      "properties": {
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms marking all openings read"
        }
      }
    }
    arguments 14 lines
  • signals.openings.mark_read changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "notification_id"
      ],
      "properties": {
        "notification_id": {
          "type": "string",
          "description": "Notification id from signals.openings.list"
        }
      }
    }
    arguments 13 lines
  • signals.recommendations.restore changes data auth-required never probed

    Restore a dismissed or blocked recommendation

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id"
      ],
      "properties": {
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        }
      }
    }
    arguments 13 lines
  • jobs.archive auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        }
      }
    }
    arguments 13 lines
  • jobs.list auth-required 45d ago

    List jobs in your journey

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 16 lines
  • jobs.add auth-required never probed

    Add a new job to your journey

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "title",
        "company"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the job posting"
        },
        "title": {
          "type": "string",
          "description": "Job title"
        },
        "source": {
          "type": "string",
          "description": "Where this job came from"
        },
        "company": {
          "type": "string",
          "description": "Company name"
        },
        "location": {
          "type": "string",
          "description": "Job location"
        },
        "description": {
          "type": "string",
          "description": "Job description"
        },
        "qualifications": {
          "type": "string",
          "description": "Job qualifications"
        },
        "compensation_text": {
          "type": "string",
          "description": "Compensation text from the posting"
        }
      }
    }
    arguments 43 lines
  • jobs.update auth-required never probed

    Update a job in your journey

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the job posting"
        },
        "notes": {
          "type": "string",
          "description": "Markdown notes about this application"
        },
        "title": {
          "type": "string",
          "description": "Job title"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "source": {
          "type": "string",
          "description": "Where this job came from"
        },
        "company": {
          "type": "string",
          "description": "Company name"
        },
        "location": {
          "type": "string",
          "description": "Job location"
        },
        "description": {
          "type": "string",
          "description": "Job description"
        },
        "qualifications": {
          "type": "string",
          "description": "Job qualifications"
        },
        "compensation_text": {
          "type": "string",
          "description": "Compensation text from the posting"
        }
      }
    }
    arguments 50 lines
  • jobs.delete changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms permanent deletion"
        }
      }
    }
    arguments 19 lines
  • jobs.unarchive changes data auth-required never probed

    Restore an archived job to the active board

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        }
      }
    }
    arguments 13 lines
  • jobs.interviews.update changes data auth-required never probed

    Update an existing interview

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "interview_id"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Interview name, e.g. phone screen, technical, onsite"
        },
        "notes": {
          "type": "string",
          "description": "Notes or debrief from the interview"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "rating": {
          "type": "integer",
          "maximum": 5,
          "minimum": 1,
          "description": "Your rating of the interview, 1 to 5"
        },
        "outcome": {
          "enum": [
            "passed",
            "didnt_pass",
            "pending_decision",
            "withdrew",
            "no_show",
            "other"
          ],
          "type": "string",
          "description": "Interview outcome"
        },
        "feedback": {
          "type": "string",
          "description": "Feedback received or given"
        },
        "location": {
          "type": "string",
          "description": "Location or meeting link"
        },
        "next_action": {
          "type": "string",
          "description": "The next step after this interview"
        },
        "cancelled_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "description": "ISO 8601 cancellation time with timezone"
        },
        "completed_at": {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "Completion date in YYYY-MM-DD format"
        },
        "interview_id": {
          "type": "string",
          "description": "Interview id"
        },
        "interviewers": {
          "type": "string",
          "description": "Names or roles of the interviewers"
        },
        "scheduled_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "description": "ISO 8601 date/time with timezone"
        },
        "cancelled_reason": {
          "type": "string",
          "description": "Why the interview was cancelled"
        }
      }
    }
    arguments 82 lines
  • jobs.offer.create auth-required never probed

    Record a job offer with compensation details

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "notes": {
          "type": "string",
          "description": "Notes about the offer"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "currency": {
          "enum": [
            "USD",
            "EUR",
            "GBP",
            "CAD",
            "AUD"
          ],
          "type": "string",
          "description": "Supported currency code"
        },
        "rsu_text": {
          "type": "string",
          "minLength": 1,
          "description": "RSU details as text"
        },
        "bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Bonus in cents"
        },
        "deadline_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "description": "ISO 8601 offer deadline with timezone"
        },
        "equity_text": {
          "type": "string",
          "minLength": 1,
          "description": "Equity details as text"
        },
        "next_action": {
          "type": "string",
          "description": "The next step on this offer"
        },
        "target_rsu_text": {
          "type": "string",
          "description": "The RSUs you are negotiating toward, as text"
        },
        "initial_rsu_text": {
          "type": "string",
          "description": "The originally offered RSUs as text"
        },
        "base_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Base salary in cents (e.g. 15000000 for $150k)"
        },
        "target_bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The bonus you are negotiating toward, in cents"
        },
        "target_equity_text": {
          "type": "string",
          "description": "The equity you are negotiating toward, as text"
        },
        "initial_bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The originally offered bonus in cents"
        },
        "initial_equity_text": {
          "type": "string",
          "description": "The originally offered equity as text"
        },
        "target_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The base salary you are negotiating toward, in cents"
        },
        "initial_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The originally offered base salary in cents"
        }
      }
    }
    arguments 100 lines
  • jobs.offer.update auth-required never probed

    Update the offer recorded for a job

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "notes": {
          "type": "string",
          "description": "Notes about the offer"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "currency": {
          "enum": [
            "USD",
            "EUR",
            "GBP",
            "CAD",
            "AUD"
          ],
          "type": "string",
          "description": "Supported currency code"
        },
        "rsu_text": {
          "type": "string",
          "minLength": 1,
          "description": "RSU details as text"
        },
        "bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Bonus in cents"
        },
        "deadline_at": {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "description": "ISO 8601 offer deadline with timezone"
        },
        "equity_text": {
          "type": "string",
          "minLength": 1,
          "description": "Equity details as text"
        },
        "next_action": {
          "type": "string",
          "description": "The next step on this offer"
        },
        "target_rsu_text": {
          "type": "string",
          "description": "The RSUs you are negotiating toward, as text"
        },
        "initial_rsu_text": {
          "type": "string",
          "description": "The originally offered RSUs as text"
        },
        "base_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Base salary in cents (e.g. 15000000 for $150k)"
        },
        "target_bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The bonus you are negotiating toward, in cents"
        },
        "target_equity_text": {
          "type": "string",
          "description": "The equity you are negotiating toward, as text"
        },
        "initial_bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The originally offered bonus in cents"
        },
        "initial_equity_text": {
          "type": "string",
          "description": "The originally offered equity as text"
        },
        "target_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The base salary you are negotiating toward, in cents"
        },
        "initial_salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "The originally offered base salary in cents"
        }
      }
    }
    arguments 100 lines
  • jobs.offer.delete changes data auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms permanent deletion"
        }
      }
    }
    arguments 19 lines
  • jobs.offer.add_negotiation changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "event_type"
      ],
      "properties": {
        "notes": {
          "type": "string",
          "description": "Notes about this negotiation event"
        },
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "event_date": {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "Event date in YYYY-MM-DD format"
        },
        "event_type": {
          "enum": [
            "offer",
            "counter"
          ],
          "type": "string",
          "description": "Whether the event records an employer offer or your counter"
        },
        "bonus_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Signing bonus in cents"
        },
        "equity_text": {
          "type": "string",
          "minLength": 1,
          "description": "Equity details (e.g. \"0.05% over 4 years\")"
        },
        "salary_cents": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0,
          "description": "Salary in cents (e.g. 15000000 for $150k)"
        }
      }
    }
    arguments 49 lines
  • jobs.offer.delete_negotiation auth-required never probed

    Remove a negotiation event from an offer

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id",
        "event_id",
        "confirmed"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        },
        "event_id": {
          "type": "integer",
          "maximum": 9007199254740991,
          "description": "Negotiation event id",
          "exclusiveMinimum": 0
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms deletion"
        }
      }
    }
    arguments 26 lines
  • signals.track changes data auth-required never probed

    Start tracking a company for new job openings

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "company_name",
        "careers_url"
      ],
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations to filter by; use \"remote\" for remote roles"
        },
        "careers_url": {
          "type": "string",
          "format": "uri",
          "description": "URL of the company careers page"
        },
        "departments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Departments to filter by"
        },
        "company_name": {
          "type": "string",
          "description": "Name of the company"
        },
        "sync_frequency": {
          "enum": [
            "weekly",
            "daily"
          ],
          "type": "string",
          "description": "How often Refine should refresh this company"
        },
        "exclude_keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords to exclude"
        },
        "include_keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords that must appear in the role"
        },
        "seniority_levels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Seniority levels to include"
        }
      }
    }
    arguments 62 lines
  • signals.update auth-required never probed

    Update filters on a tracked company

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id"
      ],
      "properties": {
        "locations": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Locations to filter by; use \"remote\" for remote roles"
        },
        "signal_id": {
          "type": "string",
          "description": "Signal (tracked company) id"
        },
        "departments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Departments to filter by"
        },
        "sync_frequency": {
          "enum": [
            "weekly",
            "daily"
          ],
          "type": "string",
          "description": "How often Refine should refresh this company"
        },
        "exclude_keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords to exclude"
        },
        "include_keywords": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Keywords that must appear in the role"
        },
        "seniority_levels": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Seniority levels to include"
        }
      }
    }
    arguments 56 lines
  • signals.untrack auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id",
        "confirmed"
      ],
      "properties": {
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms they want to stop tracking the company"
        },
        "signal_id": {
          "type": "string",
          "description": "Signal (tracked company) id"
        }
      }
    }
    arguments 19 lines
  • signals.openings.save auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "opening_id"
      ],
      "properties": {
        "opening_id": {
          "type": "string",
          "description": "Matched opening id from signals.openings.list"
        }
      }
    }
    arguments 13 lines
  • signals.openings.list auth-required never probed

    List signal notifications (new openings at tracked companies)

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "description": "Free-text search over opening titles"
        },
        "tab": {
          "enum": [
            "all",
            "new"
          ],
          "type": "string",
          "description": "Use new for unread notifications"
        },
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        },
        "matches": {
          "type": "boolean",
          "description": "Only openings that score as a match for your persona"
        },
        "location": {
          "type": "string",
          "description": "Exact location facet; use \"remote\" for remote roles"
        },
        "department": {
          "type": "string",
          "description": "Exact department facet"
        },
        "tracker_id": {
          "type": "string",
          "description": "Filter notifications to one signal tracker"
        }
      }
    }
    arguments 44 lines
  • inbox.list reads auth-required 45d ago

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "tab": {
          "enum": [
            "applications",
            "interviews",
            "outreach"
          ],
          "type": "string",
          "description": "Which inbox tab to list; defaults to applications"
        },
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        },
        "shelf": {
          "enum": [
            "low_signal"
          ],
          "type": "string",
          "description": "For the outreach tab: show the low-signal shelf instead of the main feed"
        },
        "status": {
          "enum": [
            "pending",
            "auto",
            "active",
            "handled"
          ],
          "type": "string",
          "description": "pending needs a decision, auto was auto-applied, active has an open conversation, handled is done"
        },
        "unread": {
          "type": "boolean",
          "description": "With status=active: only conversations with (or without) an unread reply"
        },
        "account": {
          "type": "string",
          "description": "Filter to one connected Google account id"
        }
      }
    }
    arguments 50 lines
  • inbox.apply_suggestion auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id",
        "confirmed"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms applying this suggestion"
        }
      }
    }
    arguments 19 lines
  • inbox.undo auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id",
        "confirmed"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms undoing the automatic action"
        }
      }
    }
    arguments 19 lines
  • inbox.mark_read auth-required never probed

    Clear an inbox item's unread-reply flag

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        }
      }
    }
    arguments 13 lines
  • inbox.unsubscribe auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id",
        "confirmed"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true, and only after the user explicitly approved unsubscribing from this sender"
        }
      }
    }
    arguments 19 lines
  • inbox.dismiss changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "ids",
        "confirmed"
      ],
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 200,
          "minItems": 1,
          "description": "Inbox item ids to dismiss"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms dismissing these items and marking their mail read"
        }
      }
    }
    arguments 24 lines
  • inbox.acknowledge changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "ids",
        "confirmed"
      ],
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 200,
          "minItems": 1,
          "description": "Inbox item ids to acknowledge"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true after the user confirms keeping these automatic actions"
        }
      }
    }
    arguments 24 lines
  • inbox.decline auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "ids",
        "confirmed"
      ],
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 200,
          "minItems": 1,
          "description": "Inbox item ids to decline"
        },
        "remember": {
          "type": "boolean",
          "description": "Save the preference for future declines"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true, and only after the user explicitly approved declining these conversations"
        },
        "preference": {
          "enum": [
            "always",
            "review",
            "never"
          ],
          "type": "string",
          "description": "Send preference to apply; omit to use the saved preference"
        }
      }
    }
    arguments 37 lines
  • inbox.sync_status reads auth-required 45d ago

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • signals.recommendations.list reads auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id"
      ],
      "properties": {
        "page": {
          "type": "string",
          "description": "Pagination cursor returned as meta.next_page"
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "description": "Maximum records to return",
          "exclusiveMinimum": 0
        },
        "signal_id": {
          "type": "string",
          "description": "Tracked-company id from signals.list"
        }
      }
    }
    arguments 23 lines
  • signals.recommendations.get auth-required never probed

    Get one recommended company with sources and persona fit

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id"
      ],
      "properties": {
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        }
      }
    }
    arguments 13 lines
  • signals.recommendations.watch auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id"
      ],
      "properties": {
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        }
      }
    }
    arguments 13 lines
  • signals.recommendations.dismiss changes data auth-required never probed

    Dismiss a recommended company

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "description": "Why it was dismissed; sharpens future recommendations"
        },
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        }
      }
    }
    arguments 17 lines
  • signals.recommendations.block changes data auth-required never probed

    Dismiss a recommended company and block it from future recommendations

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id"
      ],
      "properties": {
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        }
      }
    }
    arguments 13 lines
  • signals.recommendations.feedback auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "recommendation_id",
        "feedback_types"
      ],
      "properties": {
        "feedback_types": {
          "type": "array",
          "items": {
            "enum": [
              "watched",
              "dismissed",
              "more_like_this",
              "prefer_startups_growth",
              "prefer_public_companies",
              "too_similar",
              "too_different",
              "wrong_market",
              "wrong_industry",
              "wrong_role_fit",
              "already_know",
              "not_enough_signal",
              "not_interested"
            ],
            "type": "string"
          },
          "minItems": 1,
          "description": "One or more supported feedback tags"
        },
        "recommendation_id": {
          "type": "string",
          "description": "Recommendation id"
        },
        "interaction_source": {
          "type": "string",
          "description": "Where the feedback came from in the UI or agent flow"
        }
      }
    }
    arguments 41 lines
  • account.agenda reads auth-required 45d ago

    Get upcoming interviews and action items

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • inbox.get auth-required 35d ago

    Get one inbox item with its related job and application

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        }
      }
    }
    arguments 13 lines
  • inbox.get_thread auth-required 35d ago

    Fetch the full email thread for an inbox item

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id"
      ],
      "properties": {
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        }
      }
    }
    arguments 13 lines
  • inbox.send_reply sends messages auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id",
        "body",
        "confirmed"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "HTML body of the reply, exactly as approved by the user"
        },
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        },
        "confirmed": {
          "type": "boolean",
          "const": true,
          "description": "Must be true, and only after the user explicitly approved sending this exact message"
        },
        "draft_kind": {
          "enum": [
            "decline",
            "interested"
          ],
          "type": "string",
          "description": "Set when the body came from inbox.draft_reply"
        }
      }
    }
    arguments 32 lines
  • integrations.list reads auth-required 45d ago

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • jobs.mark_applied auth-required never probed

    Mark a job as applied

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        }
      }
    }
    arguments 13 lines
  • inbox.draft_reply reads auth-required 35d ago

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "item_id",
        "kind"
      ],
      "properties": {
        "kind": {
          "enum": [
            "decline",
            "interested"
          ],
          "type": "string",
          "description": "decline politely passes; interested asks to continue the conversation"
        },
        "item_id": {
          "type": "string",
          "description": "Inbox item id"
        }
      }
    }
    arguments 22 lines
  • jobs.refresh changes data auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "job_id"
      ],
      "properties": {
        "job_id": {
          "type": "string",
          "description": "Job id"
        }
      }
    }
    arguments 13 lines
  • signals.pause auth-required never probed

    Pause tracking for a company

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "signal_id"
      ],
      "properties": {
        "signal_id": {
          "type": "string",
          "description": "Signal (tracked company) id"
        }
      }
    }
    arguments 13 lines
  • persona.get auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • integrations.connect_google reads auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id b73ba9a6fa039b7e.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/b73ba9a6fa039b7e/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/b73ba9a6fa039b7e/badge.svg)](https://brick.blue/agent/b73ba9a6fa039b7e?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.