MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

M
MCP Job Search Agent

MCP server for Norwegian job search (NAV + optional FINN), application tracking (SQLite), and CV-based ranking.

Created 3/30/2026
Updated about 4 hours ago
Repository documentation and setup instructions

MCP Job Search Agent

An MCP (Model Context Protocol) server that lets MCP clients (Claude Code, Claude Desktop, etc.) search jobs and manage an application pipeline with SQLite.

Features

  • Multi-source search: NAV Arbeidsplassen + optional FINN.no (requires API key)
  • Deadline filtering: omit listings with deadlines in the past
  • Job details: fetch full NAV listing text
  • Application tracker: save/update/list/delete applications (SQLite)
  • CV matching: rank search results against a CV file (keyword-based, no external AI keys)

Install

Requirements

  • Python 3.11+

Setup (pip)

python -m venv .venv

Windows PowerShell:

.\.venv\Scripts\Activate.ps1

Install:

python -m pip install -e ".[dev]"

Use with Claude Code (VS Code extension)

Register the server (run from the project root; venv activated):

claude mcp add --transport stdio job-search -- .\.venv\Scripts\python.exe src\mcp_job_search\server.py

Verify health:

claude mcp list

If job-search is connected, open the Claude Code chat panel and use natural language prompts. Claude will call MCP tools automatically.

Tools

| Tool | Description | |------|-------------| | search_jobs | Search jobs across sources (nav, optional finn) | | get_job_details | Get full NAV listing details (and minimal source routing) | | track_application | Save a job to the tracker | | update_application_status | Update tracker status / notes / applied date | | list_applications | List tracked applications | | delete_application | Delete a tracked application | | match_cv | Search + rank results against a CV file (cv.txt) |

Example prompts

Search:

Search for software developer jobs in Oslo. Use sources nav and do not limit results.

Search + details (NAV):

Search for "backend developer" jobs in Oslo (nav). Pick one relevant result and fetch its full description with get_job_details.

Track:

Save the first result to my tracker and set notes: "High priority".

CV match:

Match my CV file cv.txt against "backend developer OR software engineer OR AI engineer OR ML engineer" jobs in Norway (sources nav). Show top 20.

CV file:

  • Create a local cv.txt (see cv.example.txt).
  • cv.txt is ignored by default via .gitignore.

Data sources

NAV Arbeidsplassen (default)

  • Uses NAV job feed API: pam-stilling-feed
  • Authentication uses NAV’s public token endpoint automatically

FINN.no (optional)

FINN search uses the official Search API and requires an API key.

Set environment variable:

$env:FINN_API_KEY = "YOUR_KEY"

Without FINN_API_KEY, search_jobs will skip Finn and include a note in the response.

Project layout

.
├── src/mcp_job_search/
│   ├── server.py
│   ├── nav_client.py
│   ├── finn_client.py
│   ├── tracker.py
│   ├── models.py
│   ├── cv_matcher.py
│   └── job_utils.py
├── tests/
├── Visualization.md
├── example-prompts.md
├── pyproject.toml
└── README.md

Development

python -m pytest
python -m ruff check src
python -m mypy src

License

MIT. See LICENSE.

Quick Setup
Installation guide for this server

Install Package (if required)

uvx mcp-job-search-agent

Cursor configuration (mcp.json)

{ "mcpServers": { "mmajidi1988-mcp-job-search-agent": { "command": "uvx", "args": [ "mcp-job-search-agent" ] } } }