Career Compass MCP vs Dreamwork
A side-by-side look at the Career Compass MCP and Dreamwork MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Career Compass MCP for workplace & productivity work as a local process; choose Dreamwork for workplace & productivity over a hosted endpoint. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Career Compass MCP when
- You need dedicated capabilities in the Workplace & Productivity domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You want tools like
explore_opportunity, research_company, tailor_resume.
Choose Dreamwork when
- You need dedicated capabilities in the Workplace & Productivity domain.
- You prefer a remote HTTP/SSE transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
DREAMWORK_API_KEY, DREAMWORK_API_URL, DREAMWORK_UNREAD_NOTICES, DREAMWORK_TELEMETRY, DO_NOT_TRACK. - You want tools like
list_matches, get_job, save_job.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Workplace & Productivity | Workplace & Productivity |
| Quality signal | 65/100 · Great | 75/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | No auth required | API key required |
| Pricing | Free | Not declared |
| Required env vars | None listed | DREAMWORK_API_KEYDREAMWORK_API_URLDREAMWORK_UNREAD_NOTICESDREAMWORK_TELEMETRYDO_NOT_TRACK |
| Verified owner | Community listing | Community listing |
| GitHub stars | 6 | 12 |
| Directory activity | 0 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | 19 | 71 |
| Full listing | View Career Compass MCP | View Dreamwork |
Tools & capabilities
Career Compass MCP tools 19
explore_opportunityJudge how well the user fits one job posting, using their saved Career KB and stated preferences (salary floor, remote or relocation, notice period). Returns a verdict (Strong fit, Stretch, or Long shot) with a score, requirement-by-requirement evidence, the top gaps and how to address them, and talking points; if the user pastes the job board's own match label, it agrees or disagrees with it explicitly. Use it whenever the user pastes a posting and asks whether to apply. Before anything is saved, pass the résumé they pasted as `resume` and the verdict works from that. Writes nothing.research_companySet up a research brief on a company the user is applying to or interviewing with: what it does, stage, culture, interview process, and how it fits the user's target roles. The server does not browse; it returns the brief's outline plus the user's targets, and you fill it from web search when you have it, citing sources. Without web search, the brief becomes a checklist of what to look up and where. Use explore_opportunity instead to judge fit for a specific posting.tailor_resumeWrite a résumé tailored to one job posting from the user's saved Career KB: the posting's vocabulary, the most relevant real achievements first, nothing invented, and [confirm: ...] placeholders where a fact is missing. Returns the résumé text first, then a keyword match report. Use it when the user wants a résumé for a specific posting. Before anything is saved, pass the résumé they pasted as `resume` and it tailors from that. Use format_for_ats afterwards for a specific applicant system's fields. Writes nothing.generate_cover_letterDraft a cover letter in the user's voice from their saved Career KB, built on real achievements that match the role and quoting their saved narrative (why they're looking, a gap, a switch) word for word. Use it when the user asks for a letter. Works from a pasted posting, from an application already in the pipeline (its cached posting, role, and notes), or from just a company and role. Company claims come only from the posting or the user. Before anything is saved, pass the résumé they pasted as `resume`. Writes nothing.answer_applicationAnswer the questions on a job application form (why this company, years of experience with X, work authorization, salary expectation, start date, short essays) from the user's saved Career KB, each within its character or word limit. Eligibility answers come only from what the user saved or said; anything else is a [confirm: ...] placeholder, and a "years with X" the history can't support is flagged, never inflated. Use it whenever the user pastes application or screening questions. Before anything is saved, pass the résumé they pasted as `resume`. Writes nothing.format_for_atsReformat résumé text the user already has into clean, parse-safe plain text for an applicant tracking system (Workday, Greenhouse, Lever, LinkedIn, iCIMS, Taleo, SmartRecruiters, or generic): standard headings, consistent dates, sections ready to paste field by field, and long sections flagged (limits vary by employer). Use it when the user is about to paste a résumé into an application form. Reformats only, never rewrites content; use tailor_resume to change what the résumé says. Writes nothing.pipeline_viewRead the job application pipeline. action "next_actions" answers "what should I work on?" with a ranked digest led by one start-here move; "list" shows applications (filter by status or priority); "stats" gives funnel and response rates, plus any pattern the user's own numbers support; "get" fetches one application by id; "calendar" returns upcoming interviews, follow-up dates and offer deadlines as .ics text for the user to save and open in their calendar. Read-only: never modifies anything, and the .ics is returned, not written.pipeline_addAdd one job application to the pipeline. Writes one new record; never modifies an existing one. If the same company and role are already tracked, it writes nothing and returns the existing id instead (use pipeline_update to change that one). Use this when the user applies to, or wants to track, a role not yet on the board. On the very first application, the result carries Career Compass's one-time offer of a morning briefing; pass it on as one optional line.pipeline_updateUpdate one application already in the pipeline: change its status, add a note, set a follow-up date, record a contact, log an interview round and its outcome, record an offer and its answer deadline, or note which résumé version was sent. Writes: overwrites the fields you supply and leaves the rest untouched. Use after the user confirms the change.classify_emailRead a job-search email the user pasted (recruiter outreach, interview invite, assessment, rejection, offer) and extract its type, company, role, contact, dates, urgency, and next action, matched against applications already in the pipeline, with a short reply draft. Writes nothing: any pipeline change it suggests goes through pipeline_update after the user agrees.prepare_interviewPrep the user for one upcoming interview: an opening pitch, STAR stories (saved ones from their story bank first, skipping any this company or interviewer already heard), likely questions for that round, questions to ask, and the concerns to get ahead of, quoting their saved narrative where it applies. Finds the application by id or company name and uses its posting, rounds, and contacts. For a later round in a process already under way, call interview_arc too so the prep doesn't repeat ground covered. Before anything is saved, pass the résumé they pasted as `resume`. Writes nothing.interview_arcFor a user already partway through one company's interviews: reconstruct the process so far (rounds done, what each surfaced, threads left open, which saved stories each round already heard) from the pipeline, the journal, the story bank, and their notes, then project what the next round will probe and how to prepare without repeating covered ground. Use prepare_interview instead for a first interview. Writes nothing.- +7 more on the listing page
Dreamwork tools 71
list_matchesReturns the account's ranked live match pool with job id, its Dreamwork page url, title, company, location, remote terms, salary, dates, match percent and saved/applied state. Filters narrow that pool; nextCursor continues a page with identical filters, and null ends the walk. A page holds 10 jobs by default and limit accepts up to 50; the next page is the previous nextCursor, which keeps the page size it was issued with. addedAfter supports overlapping discovery windows because listings can become servable after first discovery. notes describe applied filters and coverage.get_jobReturns one saved or corpus role by id with full description, company, location and remote terms, salary, posted date, match score, saved state, board column, application id, material readiness and work-eligibility verdict. url is the Dreamwork listing page; sourceUrl is the employer's direct posting. eligible is true for an unrestricted role or a confirmed allowed country, false for a high-confidence restriction excluding confirmed countries, and null when eligibility is unknown. Only false blocks applying or Autopilot: null means eligibility is not yet known, so proceed with applying — the application itself surfaces any real restriction. whyItMatches may be empty when no matcher explanation is stored.save_jobSaves one role to the account's pipeline at SAVED as a bookmark. No application is submitted or queued until apply is called. Application materials may start preparing in the background. An already saved role returns a no-op receipt.dismiss_matchHides one role, every listing with the same employer and title in any location, from the account's match feed, job alerts and Autopilot until the account restores or saves it. The receipt offers undo for one minute; restore_match reverses it at any time and list_dismissed_matches lists dismissed listings. The supplied reason is not stored. It does not hide other roles from the same company and does not move or remove an existing pipeline card.restore_matchReverses the dismissal of a role, every listing with the same employer and title, so it can return to the account's match feed, job alerts and Autopilot. Restoring a listing that is not dismissed returns a no-op receipt. Restoring does not save the listing. A closed listing stays out of the feed.list_dismissed_matchesReturns the account's dismissed listings, newest first, with listing id, title, company, Dreamwork page url, dismissal time and whether the listing is still active. total counts all dismissed listings. limit defaults to 20 and accepts up to 50; nextOffset continues the list and null ends it.get_pipelineReturns saved and applied roles as board cards with column, application id and last-updated time. total and counts cover all matching records; complete identifies whether cards are truncated by limit. limit defaults to 50 cards and accepts up to 100; there is no next page, so when complete is false narrow the read with status. Column values describe board state and do not establish employer receipt or response.move_pipelineMoves one role's board card to the requested column using the account holder's reported state. No employer is contacted. APPLIED records an application rather than submitting one; INTERVIEWING creates a durable interview record. WITHDRAWN removes the card from the active board. Closing a role can remove its listing from the feed. A receipt offers undo only when reversible.mark_applied_offsiteRecords an application the account holder submitted outside Dreamwork. Exactly one of matchId, listingId or url names the role; a role not yet in the pipeline is added in Applied without generating materials, and an unlisted URL is imported in the background. appliedAt (YYYY-MM-DD or ISO 8601, not in the future) is the reported application date and defaults to now; repeating the call with a new appliedAt corrects it. attestation:true is required and represents the person's confirmation that submission occurred. Recorded roles are excluded from matches and Autopilot. Applications Dreamwork is still sending are refused. There is no undo. This call does not send an application.import_jobFetches a public job-posting URL and imports it as a private role in the account's pipeline. Extraction runs asynchronously and the card appears when it finishes. A posting already held by Dreamwork returns completed without another fetch.cancel_applyStops a queued or in-progress application when submission can still be prevented. Already submitted applications cannot be recalled; the receipt reports that boundary.generate_packQueues a tailored resume, cover letter and employer-question answers for one saved role. assets optionally selects a subset; omission requests all three. Each request spends one pack allowance, regardless of subset, and generation settles asynchronously. Existing materials can be overwritten by generation.- +59 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Career Compass MCP
{
"mcpServers": {
"career-compass-mcp": {
"command": "npx",
"args": [
"-y",
"career-compass-mcp"
]
}
}
}
Dreamwork
{
"mcpServers": {
"dreamwork-2": {
"command": "npx",
"args": [
"-y",
"@dreamworkhq/mcp"
],
"env": {
"DREAMWORK_API_KEY": "YOUR_DREAMWORK_API_KEY_HERE",
"DREAMWORK_API_URL": "YOUR_DREAMWORK_API_URL_HERE",
"DREAMWORK_UNREAD_NOTICES": "YOUR_DREAMWORK_UNREAD_NOTICES_HERE",
"DREAMWORK_TELEMETRY": "YOUR_DREAMWORK_TELEMETRY_HERE",
"DO_NOT_TRACK": "YOUR_DO_NOT_TRACK_HERE"
}
}
}
}
Frequently asked questions
Career Compass MCP is categorized under Workplace & Productivity and uses a local stdio subprocess. Dreamwork belongs to Workplace & Productivity and uses a remote HTTP/SSE transport. Pick Career Compass MCP for workplace & productivity work and Dreamwork for workplace & productivity.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Career Compass MCP is listed as free. Auth: no auth required. Dreamwork has no declared pricing — check the project's own site. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add career-compass-mcp and dreamwork-2 as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Career Compass MCP has a quality signal of 65/100 (Great) with 0 views, 0 installs and 6 GitHub stars. Dreamwork has 75/100 (Great) with 2 views, 0 installs and 12 GitHub stars.