Skip to main content
Glama
krishnananbu

Naukri MCP Server

by krishnananbu
README.md
# Naukri MCP Server šŸš€

A Python MCP (Model Context Protocol) server that provides job-search tools, designed to connect with **Gemini Spark** as a custom Connected App.

## Architecture

```
Gemini Spark (gemini.google.com)
       │
       │  MCP protocol over HTTP
       ā–¼
Your MCP Server (deployed on Render)
       │
       │  (future: scraping / API)
       ā–¼
   Naukri.com
```

## Available Tools

| Tool | Description |
|------|-------------|
| `search_jobs` | Search for job listings by role, location, and experience level |
| `get_job_details` | Get detailed information about a specific job |
| `get_trending_roles` | See trending/in-demand roles in a city |
| `get_my_profile_summary` | View your Naukri profile summary |

> **Note**: Currently uses demo data. Real Naukri integration can be added later.

---

## Quick Start (Local)

### 1. Create a virtual environment

```bash
python -m venv venv

# Windows
venv\Scripts\activate

# macOS/Linux
source venv/bin/activate
```

### 2. Install dependencies

```bash
pip install -r requirements.txt
```

### 3. Run the server

```bash
python server.py
```

The server starts at: **http://localhost:8000/mcp**

### 4. Test with the MCP CLI (optional)

```bash
# In a separate terminal
mcp client http://localhost:8000/mcp
```

Then try calling a tool:
```
> call search_jobs {"query": "Data Analyst", "location": "Chennai"}
```

---

## Deploy to Render

### Option A: One-click deploy (Blueprint)

1. Push this repo to GitHub
2. Go to [Render Dashboard](https://dashboard.render.com/) → **New** → **Blueprint**
3. Connect your GitHub repo
4. Render will detect `render.yaml` and set everything up automatically
5. Your MCP URL will be: `https://naukri-mcp-server.onrender.com/mcp`

### Option B: Manual setup

1. Push this repo to GitHub
2. Go to [Render Dashboard](https://dashboard.render.com/) → **New** → **Web Service**
3. Connect your GitHub repo
4. Configure:
   - **Build Command**: `pip install -r requirements.txt`
   - **Start Command**: `python server.py`
   - **Plan**: Free
5. Deploy!

> āš ļø Free tier services spin down after inactivity. The first request after idle may take ~30 seconds.

---

## Connect to Gemini Spark

Once deployed, connect your MCP server to Gemini:

1. Open [gemini.google.com](https://gemini.google.com) on a computer
2. Go to **Settings** → **Connected Apps** (or **Personal Intelligence**)
3. Look for **"Custom apps for Spark"** or **"Other apps"**
4. Click **"Add a custom app"**
5. Enter:
   - **Name**: `Naukri Job Search`
   - **MCP Server URL**: `https://naukri-mcp-server.onrender.com/mcp`
6. Save and start chatting!

### Example prompts

> "Find Data Analyst jobs in Chennai for freshers"

> "What are the trending tech roles in Bangalore right now?"

> "Show me details for job JOB-123456"

> "Review my Naukri profile and suggest improvements"

---

## Project Structure

```
naukri_mcp/
ā”œā”€ā”€ server.py            # Main MCP server with tools
ā”œā”€ā”€ requirements.txt     # Python dependencies
ā”œā”€ā”€ Procfile             # Start command for Render
ā”œā”€ā”€ render.yaml          # Render deployment blueprint
ā”œā”€ā”€ .gitignore           # Git ignore rules
└── README.md            # This file
```

## Tech Stack

- **[MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)** — FastMCP with Streamable HTTP transport
- **[Render](https://render.com)** — Free-tier cloud deployment
- **Python 3.12+**

---

## Roadmap

- [x] Demo MCP server with mock data
- [ ] Real Naukri job search (web scraping)
- [ ] Profile sync from Naukri
- [ ] Job application tracking
- [ ] Resume analysis tool
- [ ] Interview prep tool

## License

MIT