MCP server and tools
Careers Orbit's MCP server for AI assistants: its address, how assistants sign in with OAuth, every tool with its arguments, and what is recorded.
Reference4 min read
Careers Orbit has an MCP server, so AI assistants such as Claude, ChatGPT, Cursor or VS Code can work with jobs and applications for the person who connects them. It is listed in the MCP Registry as com.bifrostorbit/careers. To connect an assistant without the details below, see Connect an AI assistant.
Address and sign-in
https://app.bifrostorbit.com/careers/mcp, Streamable HTTP, answers as JSONhttps://app.bifrostorbit.com/careers/.well-known/oauth-protected-resource/mcphttps://app.bifrostorbit.com/careers/.well-known/oauth-authorization-servercareers| Server | https://app.bifrostorbit.com/careers/mcp, Streamable HTTP, answers as JSON |
| Resource metadata | https://app.bifrostorbit.com/careers/.well-known/oauth-protected-resource/mcp |
| Authorisation server | https://app.bifrostorbit.com/careers/.well-known/oauth-authorization-server |
| Scope | careers |
Assistants sign in with OAuth 2.1: they register themselves at /careers/oauth/register, send the person to /careers/oauth/authorize to sign in to Orbit and choose the organisation, and exchange the code with PKCE at /careers/oauth/token. There is no key to copy.
- Access tokens start with
careers_ag_and last an hour. - Refresh tokens start with
careers_agr_and last 30 days. Assistants renew access tokens with them. /careers/oauth/revokerevokes a token. People disconnect assistants under AI assistants.
A request without a valid token gets 401 with a WWW-Authenticate header that points at the resource metadata. Requests may be at most 1 MB.
Who the assistant is
An assistant acts for the person who connected it, with that person's Careers role. A hiring manager's assistant sees only their own jobs' candidates. It stops at once when the person loses Careers Orbit in Orbit.
Tools
list_jobsstatus (open, draft, published, internal, closed or all; open by default), queryget_jobjob, localecreate_job_drafttitle, summary, description, seoTitle, seoDescription, localeupdate_job_draftjob, locale, and the text fields to changetranslate_job_draftjob, locale, title, description, summary, seoTitle, seoDescriptionlist_applicationsjob, status (active, rejected, withdrawn, hired or all; active by default), limit (up to 100, 25 by default)search_candidatesquery (part of a name)summarise_applicationapplicationadd_noteapplication, text (up to 4,000 characters)| Tool | Arguments | What it does | Changes anything |
|---|---|---|---|
list_jobs | status (open, draft, published, internal, closed or all; open by default), query | Jobs with their id, status and languages, the person's role and whether they may write jobs | No |
get_job | job, locale | One job ad's text in one language, its employment type and workplace, and its interview kits | No |
create_job_draft | title, summary, description, seoTitle, seoDescription, locale | Adds a new draft job marked Drafted by AI | Adds a draft |
update_job_draft | job, locale, and the text fields to change | Changes a draft job ad's text in one language | Changes a draft |
translate_job_draft | job, locale, title, description, summary, seoTitle, seoDescription | Saves a translation of a draft job ad into one of the career site's other languages | Changes a draft |
list_applications | job, status (active, rejected, withdrawn, hired or all; active by default), limit (up to 100, 25 by default) | Applications with the candidate's name, job, stage, status, source and whether screening answers don't fit | No |
search_candidates | query (part of a name) | Candidates and their applications | No |
summarise_application | application | The job, answers, notes and the scorecards the person may see, for a neutral summary | No |
add_note | application, text (up to 4,000 characters) | Leaves a note on the candidate marked Drafted by AI. It never mentions or notifies anyone. | Adds a note |
job and application are 24-character ids from list_jobs, list_applications or search_candidates. locale is a language code such as de; leave it out for the main language. description takes plain text with blank lines between paragraphs, or simple HTML (p, h2, h3, strong, em, ul, ol, li, a). Titles are up to 160 characters, summaries 600, SEO titles 70 and SEO descriptions 160.
Every tool answers with JSON as text. A tool that fails answers with isError and a sentence saying why, such as Assistants only write in draft job ads. Live, closed and reviewed job ads change only when a person edits them in Careers Orbit. Use create_job_draft to propose a new version.
What the server never offers
There are no tools to publish, close or change a live job, to move, reject or hire candidates, to rank or score them, to email anyone, or to erase or export data. Contact details (email, phone and links) are never in any answer. See AI in Careers Orbit for why.
What is recorded
Every read about candidates and every change is in the audit trail as the assistant and the person, such as "Claude for Ingrid Berg". Reading and listing jobs is recorded too.
Was this page helpful?