esinecan

instaffo-mcp-server

Community esinecan
Updated

MCP server for your own Instaffo candidate account: read profile and job suggestions, perform reversible writes, via your own logged-in session. Personal, local job-search tooling.

instaffo-mcp-server

An MCP server that gives an AI assistant access to your ownInstaffo candidate account, authenticated with yourown browser session. Personal job-search tooling. Runs fully local.

Instaffo is a two-sided recruiting marketplace (candidates are matched withcompanies). This server exposes the candidate side: read your profile and jobsuggestions, read conversations, and perform reversible write actions, from anMCP client.

How it works

Instaffo has no public candidate API, so the server authenticates with a reallogged-in session. Its candidate web app talks to a clean JSON API underapp.instaffo.com/candidate/api/v1/*, authenticated purely by the sessioncookie (no bearer token). So the server is a thin cookie-authenticated httpxclient, not a scraper. A browser (via patchright) is used only once, to mintthe session at login.

MCP client ── stdio ──> instaffo-mcp-server ──cookie──> app.instaffo.com JSON API
                              │
                     storage-state.json  (cookies, written 0600, git-ignored)
                              ▲
                     instaffo-mcp --login  (one-time browser sign-in)

Setup

uv sync
uv run patchright install chromium     # one-time, for login only
uv run instaffo-mcp --login            # opens a browser; sign in once
uv run instaffo-mcp --auth-status      # confirm the session is stored

Register it with your MCP client (stdio):

{
  "command": "uv",
  "args": ["run", "--directory", "/path/to/instaffo-mcp-server", "instaffo-mcp"]
}

Tools

Reads (no side effects):

Tool What it returns
instaffo_whoami your identity (name, email, job title)
instaffo_get_profile your profile: seniority, location, skills, CV summary
instaffo_list_job_suggestions your current matches, with counters
instaffo_get_job_suggestion one role in full: description, requirements, salary, screening questions
instaffo_list_conversations company requests (inbound interest) and your applications
instaffo_auth_status is a session present (--deep validates it live)

Writes (every write tool takes confirm; without it you get a preview andnothing changes):

Tool Effect Endpoint
instaffo_save_job bookmark a suggestion (reversible) POST .../job_suggestions/{uuid}/favorite
instaffo_unsave_job remove a bookmark DELETE .../job_suggestions/{uuid}/favorite
instaffo_set_skill_experience set your years per skill on your profile POST .../experience_durations/bulk_save

All endpoints above are verified against the live API.

Supervised, on purpose: apply and message

Two actions are intentionally not implemented as fire-and-forget tools:applying to a job, and messaging a recruiter.

Applying is not one request. It is a multi-step wizard that writes lastingself-representations to your real profile before it submits:

  1. a skill self-assessment (year sliders per required skill, e.g. 0-5), whichauto-saves to your profile via experience_durations/bulk_save,
  2. your salary expectation (pre-filled from your profile),
  3. an "AI tools you use" and "AI skills" multi-select,
  4. a final submit that creates the application and opens a chat with therecruiter.

Because those are real, outward-facing choices about how you present yourself,and the final submit endpoint only appears once the whole flow is completed, theapply and message tools are left for a supervised session where the accountowner approves the inputs. They are not built against a guessed endpoint. Theobserved sub-steps and wizard shape are recorded here so that session is quick.

Commands

instaffo-mcp                 # run the MCP server (stdio)
instaffo-mcp --login         # headed manual login, persist the session
instaffo-mcp --capture       # record app API traffic to a JSONL (diagnostics)
instaffo-mcp --auth-status [--deep]

Security and privacy

  • Session material (profile/, storage-state.json, captures/, .env) livesunder ~/.instaffo-mcp, is written 0600, and is git-ignored. It is nevercommitted.
  • Write tools are confirm-gated and only touch reversible surfaces.
  • This is a personal, local tool for your own account. It stores no one else'sdata and talks only to Instaffo with your own session.

Prior art

The session-capture and browser patterns are adapted in spirit fromstickerdaniel/linkedin-mcp-server(Apache-2.0), which authenticates a personal LinkedIn session the same way.

MCP Server · Populars

MCP Server · New

    bibinprathap

    veritasgraph

    VeritasGraph — open-source Knowledge Graph & GraphRAG framework on GitHub. Build multi-hop reasoning, ontology-aware retrieval, and verifiable attribution over your own data. Nodes, edges, RDF, linked-data — runs locally or in the cloud.

    Community bibinprathap
    sher1096

    KLinePic MCP Server and Agent API Examples

    MCP server and OpenAPI examples for AI agents that turn broker and exchange fills into annotated KLinePic trade-review charts

    Community sher1096
    zerx-lab

    FluxDown

    Rust 驱动的多协议下载管理器,支持 HTTP/FTP/BitTorrent 磁力链接及 HLS/DASH 流媒体,智能多线程加速与浏览器无缝集成。精美界面,极致性能,永久免费,零广告。

    Community zerx-lab
    MasihMoafi

    Project Elpis:

    You put an agent into an Elpis, and it becomes Elpis; Be Elpis my friend.

    Community MasihMoafi
    ROCTUP

    1C Metacode MCP Server

    MCP сервер с встроенным AI агентом для поиска по графу метаданных и кода конфигураций 1С

    Community ROCTUP