Adzuna Jobs MCP Server
Enables AI assistants to search jobs, analyze salary data, and research employers across 12 countries via the Adzuna API.
README
Adzuna Jobs MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with access to the Adzuna Job Search API. Search for jobs, analyze salary data, and research employers across 12 countries.
Features
- Job Search - Search millions of job listings with filters for location, salary, job type, and more
- Salary Analysis - Get salary histograms, regional comparisons, and historical trends
- Company Research - Find top employers by hiring volume
- Multi-Country Support - Access job markets in 12 countries with local currency support
Supported Countries
| Code | Country | Currency |
|---|---|---|
gb |
United Kingdom | GBP £ |
us |
United States | USD $ |
de |
Germany | EUR € |
fr |
France | EUR € |
au |
Australia | AUD $ |
nz |
New Zealand | NZD $ |
ca |
Canada | CAD $ |
in |
India | INR ₹ |
pl |
Poland | PLN zł |
br |
Brazil | BRL R$ |
at |
Austria | EUR € |
za |
South Africa | ZAR R |
Available Tools
The server provides several tools that AI assistants can use. Below is the complete list of tools and the parameters they accept:
1. search_jobs
Search for job listings across the supported countries. Parameters:
country(string, required): ISO 3166-1 alpha-2 country code (e.g., "gb", "us", "in").keywords(string, optional): Space-separated search terms (e.g., "frontend nextjs").location(string, optional): Geographic filter (city, region, or postal code).page(number, optional): Page number for pagination (starts at 1). Default: 1.results_per_page(number, optional): Number of results per page (max 50). Default: 10.salary_min(number, optional): Minimum annual salary in local currency.salary_max(number, optional): Maximum annual salary in local currency.full_time(boolean, optional): Set totrueto only show full-time jobs.part_time(boolean, optional): Set totrueto only show part-time jobs.contract(boolean, optional): Set totrueto only show contract/freelance jobs.permanent(boolean, optional): Set totrueto only show permanent positions.category(string, optional): Specific job category tag (useget_categoriesto find valid tags).sort_by(string, optional): Sort order. Options: "date", "salary", "relevance".max_days_old(number, optional): Maximum age of job listings in days.
2. get_categories
Get a list of valid job category tags for a specific country to be used in the category parameter.
Parameters:
country(string, required): ISO 3166-1 alpha-2 country code.
3. get_salary_histogram
Get a salary distribution histogram for jobs matching specific criteria to understand the typical market rates. Parameters:
country(string, required): ISO 3166-1 alpha-2 country code.keywords(string, optional): Search terms to filter jobs.location(string, optional): Location filter.category(string, optional): Category tag.
4. get_top_companies
Get a list of top employers currently hiring, ranked by the number of open positions. Parameters:
country(string, required): ISO 3166-1 alpha-2 country code.keywords(string, optional): Search terms to filter jobs.location(string, optional): Location filter.category(string, optional): Category tag.
5. get_geodata
Get salary and job count data broken down by geographic regions to compare different areas. Parameters:
country(string, required): ISO 3166-1 alpha-2 country code.keywords(string, optional): Search terms to filter jobs.location(string, optional): Focus region for sub-area breakdown.category(string, optional): Category tag.
6. get_salary_history
Analyze how average salaries have trended over time for specific roles. Parameters:
country(string, required): ISO 3166-1 alpha-2 country code.keywords(string, optional): Search terms to filter jobs.location(string, optional): Location filter.category(string, optional): Category tag.months(number, optional): Number of months of history to return (default: 12, max: ~24).
7. get_api_version
Fetch the current Adzuna API version. Parameters: None.
Prerequisites
- Bun installed locally
- Adzuna API credentials (free)
Getting Adzuna API Credentials
- Go to Adzuna Developer Portal
- Sign up for a free account
- Create a new application
- Copy your App ID and App Key
Installation
git clone https://github.com/jayesh-kr/adzuna-mcp.git
cd adzuna-mcp
bun install
Configure Environment Variables
Create a .env file with your Adzuna credentials:
ADZUNA_APP_ID=your_app_id_here
ADZUNA_APP_KEY=your_app_key_here
Usage
With Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"adzuna-jobs": {
"command": "bun",
"args": ["run", "/path/to/adzuna-mcp/src/index.ts"],
"env": {
"ADZUNA_APP_ID": "your_app_id",
"ADZUNA_APP_KEY": "your_app_key"
}
}
}
}
Restart Claude Desktop after updating the configuration.
With Cursor
Add to your Cursor MCP settings (.cursor/mcp.json in your project or global config):
{
"mcpServers": {
"adzuna-jobs": {
"command": "bun",
"args": ["run", "/path/to/adzuna-mcp/src/index.ts"],
"env": {
"ADZUNA_APP_ID": "your_app_id",
"ADZUNA_APP_KEY": "your_app_key"
}
}
}
}
Testing
Run tests locally with Bun:
bun test
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.