AxiomCode
Verifiable intelligence for AI software engineering. Everything starts with a formally grounded code graph.
Fills job application forms in any language from your local profile. Optional AI for custom questions via MCP.
PluginsJavaScript · CSSGitHub @MIt9OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Chrome extension + MCP server that fills job application forms (Ashby, Greenhouse, Lever, Workable, LinkedIn) from your local profile. 0 tokens for standard fields, never auto-submits.
Loading the full README.
Read the full README ↗Fill job application forms (Ashby, Greenhouse, Lever, Workable, LinkedIn Easy Apply, Djinni and others) from your own local profile, in any language. Optionally let your AI assistant (Claude Code, Claude Desktop) answer only the custom questions.
Click the preview to watch the 25-second demo with voiceover.
Why it exists: handing a raw DOM or screenshots to an AI for every form burns tokens. Job Form Filler splits fields into tiers:
The final Submit button is never clicked automatically. You review and send.
chrome://extensions → Developer mode → Load unpacked → pick the extension/ folder.Your profile and resume stay in chrome.storage.local. Nothing is sent anywhere.
The MCP server lets Claude read the form, answer custom questions from your resume, and fill them in.
Claude Desktop (one click): download job-form-filler-<version>.mcpb from the latest MCP release and double-click it. No Node.js install or config editing needed. You can optionally pick a folder with role-specific resumes in the extension settings.
Claude Desktop asks for approval on every tool call by default. In the extension's settings you can safely switch the read-only tools (Get active job form, Get form state, Get candidate profile) and Autofill static fields to "Always allow". There is no submit tool: you always press Submit yourself.
Claude Code:
claude mcp add job-form-filler -- npx -y job-form-filler
Other MCP clients, add to the MCP config:
{
"mcpServers": {
"job-form-filler": { "command": "npx", "args": ["-y", "job-form-filler"] }
}
}
Requires Node.js 18+ (not for the Claude Desktop bundle). The popup's Settings tab shows whether the bridge is connected.
| Variable | Purpose |
|---|---|
RESUME_REPO_PATH | Folder with role-specific resumes (<repo>/resume/<role>/*.md, *.pdf or <repo>/<role>/...). Enables role variants, PDF upload and saving applications. Off by default. |
BRIDGE_PORT | Bridge port, default 8765. |
JFF_DATA_DIR | Where saved answers live, default ~/.job-form-filler. |
JFF_EXTENSION_IDS | Extra extension IDs the bridge accepts (comma-separated). The Chrome Web Store build is always allowed; add the ID of a "Load unpacked" build here. |
JFF_ALLOW_ANY_EXTENSION | Set to 1 to accept any extension. Local development only. |
Env vars go into the env block of your MCP config, e.g. "env": { "RESUME_REPO_PATH": "/path/to/resumes" }.
Several MCP clients (Claude Desktop, Claude Code) share one bridge: the first one started owns the port and its settings apply, so give them all the same RESUME_REPO_PATH. When the owner quits, the next tool call from another client takes the port over.
The extension asks only for the ATS domains above plus localhost for the optional bridge. Work on any website (Settings tab) is an opt-in extra permission for custom company career pages. See docs/PRIVACY.md.
git clone https://github.com/MIt9/job-form-filler && cd job-form-filler
npm install
npm test
npm run bridge # http://127.0.0.1:8765
More detail (profile format, MCP tools, workflow, safety model) in README.uk.md.
MIT