556HarishAgarwal

naukri-mcp

Community 556HarishAgarwal
Updated

Local MCP server for your own Naukri.com account: job search, applications, messages and profile.

naukri-mcp

A local MCP server for your ownNaukri.com account: search jobs, view job details, save/apply to jobs, checkapplied jobs, read your profile, and read recruiter messages — from ClaudeDesktop (or any MCP-compatible client). Built onpatchright (astealth-patched Playwright) driving a real Chromium browser with apersistent, logged-in profile, so you authenticate once by hand and everytool call afterward reuses that session headlessly.

Not affiliated with, endorsed by, or supported by Naukri.com / Info Edge(India) Ltd. "Naukri" is a trademark of its respective owner, used hereonly to describe interoperability.

Read this before you install

  • This automates your own Naukri account, under your own login. Itdoesn't bypass authentication or access anything you couldn't already seeyourself — it drives a real browser session as you.
  • Naukri's Terms of Service, like most job sites, restrict automated / botaccess to accounts. Using this is a judgment call about your ownaccount. Keep call volume reasonable — don't loop search_jobs, don'tmass-apply — to avoid tripping anti-bot defenses or a manual accountreview. This project claims no responsibility for actions taken with it;you are responsible for how you use it and for complying with Naukri'sterms.
  • This never sees or handles your password. naukri_login opens a real,visible Chrome window and you log in (including any OTP) yourself; thetool only watches for the session cookie that appears afterward.
  • Selectors will drift. Naukri redesigns its markup periodically, likeany large site. extract.py tries a few known selector variants and fallsback to raw page text rather than crashing, but expect the occasional PRto fix a broken selector after a Naukri redesign. Confirmed workingend-to-end (login + get_my_profile) as of the version in this repo — seecommit history / releases for what's been verified since.

Requirements

  • macOS or Linux, Python 3.10+
  • Xcode Command Line Tools on macOS if you don't already have them(xcode-select --install) — python3 -m venv needs them
  • ~200MB free for the Chromium build patchright downloads

1. Install

git clone https://github.com/<you>/naukri-mcp.git
cd naukri-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip   # old pip can't do editable installs from pyproject.toml alone
pip install -e .
python3 -m patchright install chromium

2. Register it with your MCP client

For Claude Desktop, add an entry to~/Library/Application Support/Claude/claude_desktop_config.json (macOS) orthe equivalent config on your platform:

{
  "mcpServers": {
    "naukri": {
      "command": "/absolute/path/to/naukri-mcp/.venv/bin/naukri-mcp",
      "args": []
    }
  }
}

Get the absolute path with which naukri-mcp (venv activated). Restart yourMCP client afterward so it picks up the new server.

3. First login

Call the naukri_login tool. A real, visible Chrome window opens atNaukri's login page; log in there yourself (including any OTP/captcha). Thetool polls for up to 5 minutes and saves your session to ~/.naukri-mcp/once it detects you're logged in. After that, naukri_session_statusreports logged_in: true and every other tool runs headless.

Tool list

Tool What it does
naukri_login Interactive login handoff
naukri_session_status Check if the saved session is still valid
naukri_close_session Close the browser to free resources
search_jobs Search listings by keywords / location / experience
get_job_details Full JD for one job URL
get_recommended_jobs Naukri's "recommended for you" list
save_job Bookmark a job
get_saved_jobs List bookmarked jobs
apply_to_job Apply using your existing profile/resume
get_applied_jobs List jobs you've applied to
get_my_profile Headline, key skills, resume status
get_profile_views Who's viewed your profile recently
get_inbox Recent recruiter conversations
get_conversation Read one conversation's messages
send_message Reply to a recruiter
search_companies Search the company directory
get_company_profile One company's overview/ratings/open roles

Naukri doesn't have a real equivalent of LinkedIn's social graph (feed,connections, employee lists), so this isn't a 1:1 port of a LinkedIn-styleMCP server — apply_to_job / get_applied_jobs / save_job /get_saved_jobs reflect Naukri's actual core value (the job pipelineitself) instead.

Troubleshooting

ModuleNotFoundError: No module named 'mcp.server.fastmcp' — you havemcp 2.x, which renamed that module to mcp.server.mcpserver(MCPServer replaces FastMCP, same .tool() / .run() API). This repoalready targets 2.x; if you still hit this, check pip show mcp.

A tool returns raw_text or a note instead of structured data — aselector didn't match. Open an issue with the raw_text snippet (redactanything personal) or send a PR against extract.py / tools_*.py.

License

MIT — see LICENSE.

MCP Server · Populars

MCP Server · New

    weed33834

    🛡️ AgentSeed

    AgentSeed - anti-hallucination guardrails for AI coding agents: hybrid Skill + MCP plugin (Agent Plugins 1.0.0) that forces spec-driven development and verifies code before it is marked done.

    Community weed33834
    geolens-io

    GeoLens

    Self-hosted geospatial data catalog with semantic search (pgvector), OGC/STAC APIs, and map builder. Built on FastAPI, PostGIS, React, and MapLibre.

    Community geolens-io
    leonardosepulvedat

    MCP n8n Server

    Complete n8n API integration for Claude Desktop and Cursor - 100 workflow templates with intelligent matching

    Community leonardosepulvedat
    maximhq

    Bifrost AI Gateway

    The Fastest LLM Gateway with built in OTel observability and MCP gateway

    Community maximhq
    crisnahine

    rails-ai-context

    45 MCP tools that give AI coding agents ground truth about your Rails app: schema, models, routes, controllers, views, jobs, conventions. Works with Claude Code, Cursor, GitHub Copilot, OpenCode and Codex CLI. MCP or CLI, in-Gemfile or standalone, and it still answers when the app can't boot.

    Community crisnahine