@dreamworkhq/mcp
MCP server for Dreamwork — the AI job-search agent. Gives any MCP client (Claude Desktop, Cursor, the MCP Inspector, etc.) tools to browse listings, manage a job pipeline, tailor resumes, and auto-apply.
This server is a thin gateway: it calls the Dreamwork API over HTTPS and holds no database access of its own. Transport is stdio — stdout carries only JSON-RPC frames.
Install
No install step is required — MCP clients run it on demand with npx. The examples below use npx -y @dreamworkhq/mcp.
Configure
Claude Desktop
Add an entry to your claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"dreamwork": {
"command": "npx",
"args": ["-y", "@dreamworkhq/mcp"],
"env": {
"DREAMWORK_API_KEY": "sk_..."
}
}
}
}
Restart Claude Desktop after editing. Put credentials in the env block — don't
wrap command in a shell or an env-loader (dotenvx run -- …, etc.): on a stdio
server any banner such a wrapper prints to stdout will corrupt the JSON-RPC
stream and hang tool calls.
Other clients
Any stdio MCP client works. Point the command at npx -y @dreamworkhq/mcp and
pass DREAMWORK_API_KEY in the environment. To sanity-check with the Inspector:
DREAMWORK_API_KEY=sk_... npx @modelcontextprotocol/inspector npx -y @dreamworkhq/mcp
Authentication
Get an API key from dreamworkhq.com → Settings → API Access, then set it as DREAMWORK_API_KEY (format sk_...).
Guest mode: with no key set, the server still starts and exposes the public,
read-only tools (browse_listings, get_listing, get_stats,
get_platform_context). Account tools return a short "login required" message
until a key is provided.
Environment variables
DREAMWORK_API_KEY | For account tools | — | Agent API key (sk_...). Unlocks pipeline, resume, apply, outreach, profile, interviews. |
DREAMWORK_API_URL | No | https://api.dreamworkhq.com | Override the API endpoint (local dev / self-host). |
Tools
Public (no key):
get_platform_context, browse_listings, get_listing, get_stats
Pipeline & applications:
search_jobs, get_job, import_job, add_jobs, apply_to_job, skip_job,
list_applications, add_listing_to_pipeline
Resume & materials:
upload_resume, generate_resume, get_generated_resumes
Outreach & contacts:
add_contact, list_contacts, generate_outreach, send_outreach
Profile, interviews & escalations:
get_profile, update_profile, list_interviews, list_escalations,
resolve_escalation
Call get_platform_context first — it describes what Dreamwork can do so the
agent picks the right workflow.
Troubleshooting
- Tool calls hang / time out, but the handshake succeeds. Something is
writing non-JSON-RPC bytes to stdout. Make sure
command isn't wrapped in an
env-loader or shell that prints a banner, and update to the latest version
(npx -y @dreamworkhq/mcp@latest; clear the npx cache with rm -rf ~/.npm/_npx
if an old build is cached). stdout must carry only protocol frames — all server
logging goes to stderr.
- Every account tool says "login required".
DREAMWORK_API_KEY isn't
reaching the process. Confirm it's in the env block of your client config.
Development
pnpm --filter @dreamworkhq/mcp check
pnpm --filter @dreamworkhq/mcp build
pnpm --filter @dreamworkhq/mcp test
The stdio entrypoint is src/stdio.ts; tool definitions live in
src/mcp.ts; the HTTP API client is src/client.ts.
License
MIT