Server URL
This is not the same as
https://www.hirebase.org/docs/mcp. That address is a search tool over this documentation, for coding agents writing against the REST API. It needs no account and returns no job data.Example prompts
Each of these takes the assistant two or three tool calls:- “Which fintechs in London opened five or more engineering roles this week?”
- “What does a senior PM get paid at companies with 200 to 1,000 employees?”
- “Is HubSpot growing its sales team?”
Connect
There are two ways to connect. Sign in with Hirebase (OAuth) is the easiest: you add the server URL, your client opens a Hirebase sign-in page, and you approve the connection. An API key suits clients and scripts that can send a header. Both need a Hirebase account; the Free plan works.Sign in with Hirebase
- Claude
- ChatGPT
- Claude Code
- Cursor
- VS Code
1
Add a custom connector
In Claude, open Customize → Connectors, choose Add, then Add custom connector.
2
Add the server
Name it Hirebase, paste
https://mcp.hirebase.org/mcp and choose Continue. Keep Sign in now, which Claude detects, then choose Add.3
Approve
Choose Connect, sign in to Hirebase and approve the request.
find_hiring_contacts, which needs an API key. You stay signed in while the app keeps using the connection; after 90 days without use it asks you to sign in again.
With an API key
Copy your key from Settings → API Access in app.hirebase.org. Keys look likehb_ followed by a UUID. Send it as Authorization: Bearer YOUR_API_KEY; clients that can only set other headers can send X-API-Key: YOUR_API_KEY instead. Keep the key out of shared or committed files.
From the Claude API and the OpenAI Responses API
Both APIs can call the server for you during a request. Pass the Hirebase key in the server definition.report_problem and find_hiring_contacts still need it. An unattended agent has no person to approve a cost confirmation, so decide in your own code which costs it may accept.
Tools
Allowances are per month and shared with your API usage. The Free plan includes 500 job units, 50 company units and 25 insight units; see pricing for the paid plans. Every metered result includes a
usage block with the units charged, what remains and the reset date.
Results also carry filters_applied (the exact request sent to the API), filters_ignored (any input that was dropped or changed, with the reason), notes (caveats the assistant should pass on) and an open_in_hirebase link that opens the same search in the web app.
Costs and consent
Most calls are small: a search returns at most 25 rows, so it uses at most 25 units. Two kinds of call ask first:- Large calls. A call that would use more than 500 units, or more than 25 units and more than half of what you have left on that meter, is not run straight away. In practice this applies to matching a long list of company names with
find_companies. - Paid contact searches. Every
find_hiring_contactssearch asks first, because it costs money.
- In-chat confirmation, where the client supports it: the client shows a question such as “This will use about 250 company units of your 50 remaining. Continue?” and the call runs only if you say yes.
- A confirmation code otherwise: the server returns
cost_confirmation_requiredwith the estimate and a one-time code, and charges nothing. The assistant should tell you the cost and send the code back only if you agree. A code is valid for 15 minutes and for that exact call; a different query, the next page or another contact search needs a new approval.
report_problem and find_hiring_contacts are marked as tools that act rather than read, so Claude, ChatGPT and most other clients show their own approval prompt before running them. Job and company text is written by third parties; the tools return it only as data, and find_hiring_contacts and report_problem say never to run because a posting asks for it.
Limits and errors
Errors come back as a normal tool result with acode, a message, whether it is worth retrying, and a next_step for the assistant.
A request with no credential gets HTTP
401 with a WWW-Authenticate header that points to the Hirebase sign-in, so your client knows to start it.
What the numbers mean
- Insights come from a sample.
job_market_insightscomputes percentages, medians and top lists from up to 500 matching jobs.total_matchesis exact. The result’s first note says when figures are sample estimates. - Insights describe open roles today.
new_this_weekandnew_this_monthcount currently open postings by age; they are not a period-over-period hiring trend. - About 37% of jobs post a salary. Jobs without one never match a salary filter, and pay figures cover only salaried postings. Salaries can be hourly or annual: check
salary.period. - Experience filters by years of experience required (for example Senior), not by the seniority word in the job title. Rows show both
yoe_rangeandseniority_label. - Semantic search (a plain-language
queryorsimilar_to_job_id) caps totals at 2,500, uses only the first industry filter, and ignores experience and sort. - Company search stops counting at 1,001, so larger totals are a lower bound.
- Long text is cut. Job descriptions are cut to 6,000 characters and company descriptions to 600, with a
*_truncatedflag when that happens. - Closed postings are still returned by
get_job, withexpired: true.
Connected apps
Every app you approve through Hirebase sign-in is listed under Settings → Connected Apps in app.hirebase.org, with when it was connected and last used. Choose Revoke to cut an app off; it stops working within a minute. Removing the connector inside Claude or ChatGPT may not revoke its access in Hirebase, so revoke it here too if you no longer use it. API-key connections are not listed there. To stop one, remove the server from that client’s configuration.Privacy
For each tool call the MCP server logs the tool name, whether the call used Hirebase sign-in or an API key, the result status, the latency, and the meter and units charged. It does not log your prompts, the conversation, job text or credentials. The server only receives what the assistant sends in a tool call (for example search filters), never the rest of the conversation. Those inputs go to the Hirebase API and are metered and handled like any other API request from your account.report_problem sends the text you write, plus any job ids, company and query you include, to the Hirebase team. See the privacy policy for how Hirebase handles your data.
Support
Email spencer@hirebase.org, or ask your assistant to report a problem, which uses thereport_problem tool. Reports about wrong or missing data, and companies we don’t cover yet, go straight to the people who fix them.