Remote MCP
Career OS exposes a public Streamable HTTP MCP at /api/mcp with OAuth 2.1 (PKCE, dynamic client registration, CIMD).
Claude, ChatGPT, Cursor, VS Code / Copilot Chat, and other remote MCP clients can add that URL. After you Connect, every tool runs as your Career OS user.
Connector URL
/api/mcp
Use that HTTPS URL in any MCP host that speaks Streamable HTTP. Cloud agents call it — not your laptop. Short UI steps: /connectors.
Claude
- Open claude.ai → Customize → Connectors.
- Add custom connector (type Web if asked).
- Paste the MCP URL. Leave OAuth Client ID/Secret empty.
- Connect and sign in to Career OS. Enable the connector in a chat.
ChatGPT
Create a custom connector / developer connector, paste the MCP URL, then complete OAuth. Do not paste a static bearer token. Career OS issues tokens after you sign in.
Cursor
Settings → Tools & MCP, or MCP config:
{
"mcpServers": {
"career-os": {
"url": "https://your-host/api/mcp"
}
}
}
Replace the host with this origin: /api/mcp.
VS Code / GitHub Copilot
{
"servers": {
"career-os": {
"type": "http",
"url": "https://your-host/api/mcp"
}
}
}
Put that in .vscode/mcp.json or user MCP settings, then start the server from the MCP view.
Stdio-only hosts
Windsurf, Cline, and some CLI tools only spawn a local process. Point them at
npx -y mcp-remote plus the MCP URL, or use local stdio MCP
(bin/career-os-mcp.js) for Cursor, Claude Desktop, Gemini CLI, Amazon Q, Zed, and OpenCode.
What tools can do
- Read and overwrite the cloud resume (same row the editor uses) with
save_my_resume. - Generate the main PDF (DOCX → iLovePDF) when conversion keys are configured on the server.
- Normalize JSON, convert to Jake-style LaTeX, or compile LaTeX on the beta public compiler.
- Delete the cloud resume with
reset_my_resumeif a test row is stuck.
Remote MCP does not get login / logout. OAuth already signed you in. Full tool list: MCP tools.
Save behavior
- First save inserts. Later saves PATCH the existing
user_idrow. You can edit forever. generate_resume_pdfsaves provided JSON unless you passsaveToAccount: false.- Unknown header keys are rejected on save.
website/url/sitemap toportfoliowith a warning.
OAuth notes
- Protected resource:
/.well-known/oauth-protected-resourceand/.well-known/oauth-protected-resource/api/mcp. - Authorization server:
/.well-known/oauth-authorization-serverand/.well-known/oauth-authorization-server/api/mcp. - Authorize URL:
/oauth/authorize(unsigned-in users are sent to Career OS login). - Redirects are allowlisted (Claude, ChatGPT, VS Code, Cursor, loopback). Arbitrary HTTPS hosts are rejected even if a client registers them.
- The host must set
MCP_OAUTH_SECRETon the deployment.