Skip to main content
Glama
andrewaws26

Claude Works

by andrewaws26

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JOBSEARCH_DATA_DIRNoDirectory holding the ledger, queue, and policy documents. Defaults to the package parent.
JOBSEARCH_COMP_FLOORNoBase compensation floor in USD per year.
JOBSEARCH_APPLY_EMAILNoContact email, read at submission time only.
JOBSEARCH_APPLY_PHONENoContact phone, read at submission time only.
JOBSEARCH_RESUMES_DIRNoDirectory holding the resume generator and render pipeline.
JOBSEARCH_APPLY_LOCATIONNoContact location, read at submission time only.
JOBSEARCH_APPLY_PASSWORDNoPortal credentials password, read from the environment only and never stored.
JOBSEARCH_APPLY_USERNAMENoPortal credentials username, read from the environment only and never stored.
JOBSEARCH_PURSUE_THRESHOLDNoThe 0 to 10 score at or above which a role is pursued.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
discover_jobsA

Find fresh roles from a discovery source, ranked by fit, de-duped by role.

Args: angle: a search lens from SEARCH_ANGLES.md (e.g. "FDE", "Overemployed", "IoT") to bias ranking toward that lane. Empty = the default FDE lane. source: which live sweep to run. One of "newsource" (Getro VC networks + Anthropic-customer ATS boards, highest yield), "getro", "anthropic", or "board_harvest" (curated Ashby/Greenhouse seed miner). limit: max roles to return.

Returns a list of job dicts (title, company, url, source, location, remote, ats, role_key). Network calls are made by the underlying repo scripts.

score_jobA

Score one role 0-10 against FIT_RUBRIC.md and return the pursue verdict.

Pass the JD text when available; titles under- and over-sell, so scoring on the JD is sharper. Returns value (0-10), pursue (bool, >= threshold and no hard cap), reasons (one line per signal), and hard_cap (set when a required-skill gap, over-level title, non-US-only, or excluded domain/company disqualifies it).

get_search_angleA

Look up one search angle (lens) by name or trigger from SEARCH_ANGLES.md.

Empty name returns the default (FDE / converting-profile) lane. Returns the angle's name, trigger phrase, definition, and target titles, or null if no angle matches.

list_search_anglesA

List every search angle defined in SEARCH_ANGLES.md (name, trigger, definition).

list_claim_fragmentsA

List the verified resume building blocks from _genlib.py (roles, bullets, projects).

Every fragment traces to CLAIMS_BANK.md. Build resumes only from these names (or text that traces to the claims bank); this is what keeps the output honest.

build_resumeA

Build a tailored one-page resume from verified fragments and run the static gates.

Args: name: output file stem (becomes ".html" in the resumes dir). tagline: the header tagline (mid-level; no over-level words). summary: the summary paragraph. experience: list of [role_key, [bullet, ...]] where role_key is one of bnb / twinspires / upwork / humana / tesla / dojo / lifespring, and each bullet is a fragment NAME (e.g. "BNB_AI") or text tracing to CLAIMS_BANK. projects: list of project fragment names (e.g. "P_CASEK") or verified HTML. skills: list of [label, text] rows for the Skills block.

Returns the resume with lint_ok / verify_ok and any findings. The 1-page render gate runs separately via render_resume (it needs Chrome).

render_resumeA

Render .html to PDF via _render.sh and report whether it is one page.

Returns the resume with one_page set and the pdf_path. Requires Google Chrome and qpdf. This is the first of the 4 gates.

verify_resumeA

Run the two static gates (lint + anti-fabrication verify) on a resume HTML.

Use this to check any resume on disk. Returns lint_ok, verify_ok, passed (their AND), and findings: every blocklist hit (C/C++, fabricated employer, model over-claim, ...) and style flag (banned words, em dashes, rule-of-three).

submit_applicationA

Build the fill-and-park submission plan for a role (no browser is driven here).

Returns a plan an agent executes with the Playwright MCP: the ATS, the action ("auto_submit" for Ashby/Greenhouse, "fill_and_park" for Lever/Workday/captcha walls, or "blocked" for a rail violation), the standard field values and honest screening answers, the single human_step left when parked, and ATS-specific gotcha notes. Identity PII and credentials are read from the environment, never stored. Report the real outcome afterward with record_application.

record_applicationA

Append one row to the application ledger (applications.json), de-duped by role.

Status mirrors the existing vocabulary ("submitted", "submitted-verified", "deferred-captcha", "skipped-overlevel", ...). Date defaults to today. Returns whether it was recorded (false if this company+role is already logged) and the new total.

list_queueA

List roles in the discovery queue (top300_jobs.json) by queue status.

Status is the queue's own field ("todo" by default). Returns up to limit job dicts. Use this to apply from the existing queue before running new discovery (the queue-first gate).

list_applicationsA

List ledger rows, optionally filtered by status. Empty status = all rows.

ledger_summaryA

Return a count of ledger rows by status (a one-glance system summary).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andrewaws26/claude-works'

If you have feedback or need assistance with the MCP directory API, please join our Discord server