Resume tailoring, cover letters, PDF export, and job search via the Laddro Career API
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
MCP server for the Laddro Career API. Gives AI agents access to resume tailoring, cover letter generation, PDF export, and template browsing.
Add to your claude_desktop_config.json:
Set the environment variable LADDRO_API_KEY before running.
Use the hosted Streamable HTTP endpoint:
Send your Laddro API key on the MCP initialize request:
or:
| Tool | Description |
|---|---|
laddro.templates.list | Browse all 22 resume templates |
laddro.templates.get | Get template colors and fonts |
laddro.fonts.list | All available font families |
laddro.languages.list | All 14 supported locales |
laddro.models.list | AI providers for BYOK |
laddro.resumes.list | User's resumes |
laddro.resumes.get | Resume metadata |
laddro.resumes.render | Re-render with new template settings |
laddro.resumes.tailor | AI-tailor resume for a job |
laddro.resumes.export | Export as PDF |
laddro.coverLetters.list | User's cover letters |
laddro.coverLetters.get | Cover letter metadata |
laddro.coverLetters.create | Create manually |
laddro.coverLetters.generate | AI-generate from resume + job |
laddro.coverLetters.render | Render with template settings |
laddro.settings.get | Current AI provider config |
laddro.settings.updateModel | Set BYOK provider |
laddro.settings.deleteModel | Remove BYOK config |
Behind the MCP_CONNECTOR_ENABLED flag (default off). When enabled and a request
carries Authorization: Bearer lad_at_* (a Laddro OAuth access token), the server
runs an OAuth connector session that forwards the token to laddro-backend
(service.laddro.com) instead of career-api. It also serves
GET /.well-known/oauth-protected-resource (RFC 9728) and answers unauthenticated
/mcp calls with 401 + WWW-Authenticate: Bearer resource_metadata=... so OAuth
clients can discover the authorization server. With the flag off, behaviour is
unchanged (no discovery route, no 401 enforcement, all 18 tools via career-api).
Connector tools (OAuth sessions only): "You write the content. Laddro stores it and renders the PDF."
| Tool | Scope | Description |
|---|---|---|
laddro.resume.schema | β | JSON Schema for resume content |
laddro.resume.create | resumes:write | Create a resume, returns { resumeId } |
laddro.resume.update | resumes:write | Full-replace a resume, returns { resumeId, updatedAt } |
laddro.coverLetter.schema | β | JSON Schema for cover-letter content |
| Variable | Required | Description |
|---|---|---|
LADDRO_API_KEY | Yes for stdio; optional fallback for HTTP | Your Laddro API key |
LADDRO_BASE_URL | No | Override API URL (default: https://api.laddro.com) |
MCP_CONNECTOR_ENABLED | No | true enables OAuth connector mode (default off) |
LADDRO_BACKEND_URL | No | Backend base URL for connector tools (default: https://service.laddro.com) |
MCP_PUBLIC_URL | No | This server's public URL for OAuth metadata (else derived from forwarded headers) |
npm test builds the TypeScript package and runs MCP contract tests for auth handling, tool metadata, and handler routing.
This package uses Changesets and SemVer.
Every PR that changes the published package should include a changeset:
After the PR merges to main, GitHub Actions opens a release PR with the version bump and changelog. Merging that release PR publishes the package to npm and creates the GitHub release. The Cloud Run deploy workflow also runs on main, so hosted MCP updates automatically after release merges.
This server is listed in the official MCP registry as com.laddro/career. server.json is the registry manifest; scripts/sync-version-metadata.mjs keeps its version in sync with the npm package on every release.
Publishing is automated: .github/workflows/publish-registry.yml runs whenever a release changes server.json on main and pushes the new version to the registry. Auth is DNS-based β the Ed25519 public key lives in the laddro.com TXT record, and the matching private key (hex) is stored as the MCP_PUBLISHER_ED25519_KEY repo secret.
To publish (or catch up) manually:
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/laddro-career)<a href="https://allmcps.com/mcp/laddro-career"><img src="https://allmcps.com/api/badge/laddro-career?style=directory" alt="Laddro Career on AllMCPs" /></a>