Skip to main content

Instaply MCP

Agentic job applications, running on your own machine, inside Claude Desktop, Claude Code, Codex, and other local MCP clients.

Zero servers to maintain. Zero accounts. Your profile, your saved answers, your application history all live in one SQLite file at ~/.instaply/data.db. If the original author disappears tomorrow, every install keeps working forever — there is no remote service it depends on.

Why local-first

  • No captcha walls. The worker runs in your real Chrome on your residential IP. hCaptcha and reCAPTCHA Enterprise almost never challenge normal users on residential traffic — the problem that breaks every cloud-hosted job-application bot just doesn't apply.
  • No rate limits. JobSpy, Greenhouse, Lever — none of them rate-limit residential traffic the way they hammer datacenter IPs.
  • No privacy trade-off. Your resume, profile, and answer vault never leave your machine. The MCP server doesn't even have a network egress for those.
  • No subscription. Pay once for the package (or take it MIT-licensed off GitHub), use it as long as you have a job to apply to.

Install

Claude Code

claude mcp add instaply uvx instaply-mcp

Codex

codex mcp add instaply uvx instaply-mcp

Claude Desktop

You can either:

  1. double-click the .mcpb bundle, or
  2. add the same command-based config manually:

Edit your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
    "mcpServers": {
      "instaply": {
        "command": "uvx",
        "args": ["instaply-mcp"]
      }
  }
}

Restart Claude Desktop. The Instaply tools appear in the tool tray.

Universal fallback

If a client prefers a raw Python module command instead of uvx, use:

python -m instaply_mcp

That works because the package now exposes a real __main__ entrypoint.

Tools

The v0.3.1 tools are local-only — no network, no hosted dependency:

Tool What it does
update_profile(patch) Sparse update of identity fields. Stored in ~/.instaply/data.db.
get_profile() Read the current profile as a flat dict.
save_answer(question, answer) Teach the agent an answer once; it reuses the value for normalized variants on future applications.
list_answers(limit?) Audit what the agent has learned.
delete_answer(answer_id) Forget a saved answer.
list_applications(status?, limit?) Local audit trail of jobs the agent has acted on.
get_status() Quick counts: applications by status, jobs cached, answers saved.
apply_to_job(apply_url, ...) Opens the URL in your local Chrome, fills the form via the Instaply rules engine + saved-answer reuse, leaves the browser open for you to solve any captcha and click Submit. Requires the [worker] extra (Playwright).
mark_complete(application_id) Mark an application submitted after you click Submit on the employer's page and see the confirmation.

Optional extras

pip install 'instaply-mcp[worker]'           # adds Playwright
python -m playwright install chromium        # one-time, ~150 MB cached

The base install (uvx instaply-mcp) gives you profile, answer vault, and audit trail. Add [worker] when you want apply_to_job to actually drive a browser.

What's coming next

  • search_jobs(query, location) — local JobSpy + Greenhouse + Lever scrape via the [search] extra.
  • Resume parser (PDF + DOCX, conservative prompt — never invents a background you don't have).
  • import_from_dashboard(token) — one-shot migration for users who already have data in the hosted product.
  • Auto post-submit detection so mark_complete becomes optional.

Storage layout

Single SQLite file:

~/.instaply/
└── data.db          # profile + answers + applications + jobs cache

Override with INSTAPLY_DATA_DIR env var if you want it elsewhere.

The schema is documented in instaply_mcp/db.py. It's stable; future versions will use ALTER TABLE migrations rather than rebuild.

License

MIT. Use it however you want. If you ship a commercial product on top of it, a "Powered by Instaply" link is appreciated but not required.

Hosted version (still maintained for now)

If you'd rather not run anything locally, the hosted product at instaply.asion.ai still works. It's the same engine; the local MCP and the hosted SaaS share the worker, the rules, and the answer-vault contract. Use whichever fits your taste.

Metadata

Release files for instaply-mcp 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for instaply-mcp 0.3.1
File Size Uploaded Provenance Actions
instaply_mcp-0.3.1.tar.gz 2.0 MB Without provenance Details for instaply_mcp-0.3.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for instaply-mcp 0.3.1
File Interpreter ABI Platform Actions
instaply_mcp-0.3.1-py3-none-any.whl Python 3 none any Details for instaply_mcp-0.3.1-py3-none-any.whl

Total release size: 2.1 MB

Release files / instaply_mcp-0.3.1.tar.gz

Download URL instaply_mcp-0.3.1.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
7063e6cd7a467298ecd4ce01d60df197f2363e60174b6389411898019537b73e
BLAKE2b-256 checksum
How to use checksums
9d29c0a614aefdfe28aaf4fc13461ae84390af279a773524f2a5a1079f74c708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / instaply_mcp-0.3.1-py3-none-any.whl

Download URL instaply_mcp-0.3.1-py3-none-any.whl
Size 59.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d1c77c012d279e3722d280a84596cf5c1cccf0c0fe4d15dcac6c3feb2c52066
BLAKE2b-256 checksum
How to use checksums
70dc2634fa725cdcc12bb32ef4980008a2981a69910afdfde8bf331f29c199ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Security for instaply-mcp 0.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page