{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_adzuna-adzuna-job-search-mcp","slug":"adzuna-adzuna-job-search-mcp","name":"adzuna-job-search-mcp","type":"mcp","url":"https://github.com/folathecoder/adzuna-job-search-mcp","page_url":"https://unfragile.ai/adzuna-adzuna-job-search-mcp","categories":["mcp-servers","documentation","app-builders","testing-quality"],"tags":["mcp","model-context-protocol","smithery:adzuna/adzuna-job-search-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_0","uri":"capability://search.retrieval.multi.country.job.search.with.contextual.filtering","name":"multi-country job search with contextual filtering","description":"Executes structured queries against the Adzuna Job Search API across 12 countries, supporting keyword matching, location-based filtering, salary range constraints, job type classification (full-time/part-time/contract/permanent), category tags, and relevance/date/salary sorting. The MCP server translates natural language search intents into parameterized API calls with country-specific currency handling and pagination support (up to 50 results per page), enabling AI assistants to discover job listings without direct API credential exposure.","intents":["Find software engineer jobs in a specific city with minimum salary requirements","Search for remote positions across multiple job types in a given country","Discover recent job postings in a particular industry category","Compare job availability across different locations within a country"],"best_for":["AI assistants helping job seekers research opportunities across multiple markets","Recruitment platforms integrating Adzuna data without building direct API clients","Career coaches analyzing job market trends for clients in supported countries"],"limitations":["Many job listings lack salary data — salary filters will exclude unlisted positions, reducing result set","Adzuna free tier has rate limits — high-volume searches may hit throttling","Search results limited to 50 per page maximum — deep pagination requires multiple API calls","Category tags are country-specific — must call get_categories first to validate tags"],"requires":["Python 3.10+","Adzuna API credentials (App ID and App Key from developer portal)","Valid country code from supported list (gb, us, de, fr, au, nz, ca, in, pl, br, at, za)"],"input_types":["text (keywords, location, country code)","structured parameters (salary_min, salary_max, job type flags)"],"output_types":["JSON array of job listings with title, company, location, salary, posting date, URL"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_1","uri":"capability://data.processing.analysis.salary.distribution.analysis.with.histogram.generation","name":"salary distribution analysis with histogram generation","description":"Retrieves salary histogram data from Adzuna API showing the distribution of compensation across job listings, bucketed by salary ranges. Supports filtering by keywords, location, and category to narrow the salary distribution context. Returns structured histogram data (salary ranges and frequency counts) enabling AI assistants to understand typical compensation bands, identify outliers, and advise users on market-competitive salary expectations without requiring statistical computation.","intents":["Understand typical salary ranges for a specific job role in a given location","Identify how salaries vary across different experience levels or specializations","Determine if a job offer is competitive relative to market data","Analyze salary distribution patterns to spot high-paying vs entry-level positions"],"best_for":["Career counselors advising clients on salary negotiations","Job seekers evaluating offer competitiveness","Recruiters benchmarking compensation packages against market data"],"limitations":["Histogram data only includes jobs with listed salaries — unlisted positions are excluded, potentially skewing distribution toward higher-paying roles","Salary data is annual amounts only — no hourly or contract-rate breakdowns","Histogram granularity (bucket size) is determined by Adzuna API — cannot customize bucket ranges","Historical salary trends require separate API call (get_salary_history) — histogram is point-in-time snapshot"],"requires":["Python 3.10+","Adzuna API credentials","Valid country code","Optional: keywords, location, or category filters for narrowed results"],"input_types":["text (country code, optional keywords, location, category)"],"output_types":["JSON object with salary ranges as keys and frequency counts as values"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_10","uri":"capability://safety.moderation.environment.variable.based.credential.management","name":"environment variable-based credential management","description":"Manages Adzuna API credentials (App ID and App Key) via environment variables (ADZUNA_APP_ID and ADZUNA_APP_KEY) rather than hardcoding or prompting at runtime. The MCP server reads credentials from the environment at startup and uses them for all subsequent API requests. This pattern is compatible with MCP client configuration files (Claude Desktop, Cursor) that allow environment variables to be specified per MCP server instance, enabling secure credential isolation without exposing secrets in code or configuration files.","intents":["Securely manage API credentials without hardcoding them in code","Configure different credentials for different MCP client instances","Enable credential rotation without code changes"],"best_for":["Developers deploying MCP servers in production environments","Teams managing multiple MCP server instances with different credentials","Users who want to keep API keys out of version control"],"limitations":["Credentials must be set in environment before server startup; no runtime credential updates","Environment variables are visible to all processes running under the same user; not suitable for multi-user systems","No credential validation at startup; invalid credentials are only discovered when the first API call fails",".env files are not automatically loaded; users must manually set environment variables or use a .env loader"],"requires":["Environment variables ADZUNA_APP_ID and ADZUNA_APP_KEY set before server startup","Valid Adzuna API credentials from developer.adzuna.com"],"input_types":["environment variables (strings)"],"output_types":["none (credentials are used internally for API authentication)"],"categories":["safety-moderation","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_11","uri":"capability://automation.workflow.fastmcp.development.mode.with.interactive.tool.testing","name":"fastmcp development mode with interactive tool testing","description":"Provides a development mode (fastmcp dev) that launches an interactive browser-based UI for testing MCP tools without requiring a full MCP client setup. The development mode allows developers to invoke tools, inspect parameters, and view results in real-time, accelerating the development and debugging cycle. This is useful for testing tool schemas, validating API responses, and experimenting with filter combinations before deploying to production MCP clients.","intents":["Test MCP tools during development without setting up Claude Desktop or Cursor","Validate tool schemas and parameter types interactively","Debug API integration issues by inspecting request/response payloads","Experiment with filter combinations to understand API behavior"],"best_for":["Developers building or extending MCP servers","QA engineers testing MCP tool functionality","Debugging API integration issues"],"limitations":["Development mode is not suitable for production use; it lacks authentication and security hardening","Browser-based UI may have latency issues for large result sets","Development mode does not test MCP protocol compliance; only tool invocation works","No persistent state or history; each session starts fresh"],"requires":["Python 3.10+","FastMCP framework installed","Modern web browser for interactive UI","Adzuna API credentials configured"],"input_types":["interactive UI input (text fields, dropdowns, buttons)"],"output_types":["browser-rendered JSON (tool results)","text (error messages and logs)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_2","uri":"capability://data.processing.analysis.geographic.salary.comparison.across.regions","name":"geographic salary comparison across regions","description":"Queries Adzuna's geodata endpoint to retrieve salary statistics broken down by geographic regions (cities, states, or postal areas) within a country. Enables comparative analysis of compensation across locations by filtering on keywords, location focus, and category. Returns structured geographic data with salary metrics per region, allowing AI assistants to help users understand regional salary variations and cost-of-living adjusted compensation differences.","intents":["Compare software engineer salaries between London and Manchester","Identify highest-paying regions for a specific job type","Understand how relocation impacts salary expectations","Analyze regional hiring concentration and compensation patterns"],"best_for":["Remote workers evaluating relocation impact on salary","Recruiters benchmarking regional compensation strategies","Career advisors helping clients choose job markets by region"],"limitations":["Geographic granularity varies by country — some regions may have limited data coverage","Salary data excludes unlisted positions — regional averages may skew toward higher-paying jobs","Regional boundaries are defined by Adzuna — cannot customize geographic divisions","Does not account for cost-of-living differences — raw salary comparison without purchasing power adjustment"],"requires":["Python 3.10+","Adzuna API credentials","Valid country code","Optional: keywords, location focus, or category filters"],"input_types":["text (country code, optional keywords, location, category)"],"output_types":["JSON object mapping regions to salary statistics (min, max, average, median)"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_3","uri":"capability://data.processing.analysis.historical.salary.trend.analysis.with.time.series.data","name":"historical salary trend analysis with time-series data","description":"Retrieves historical salary trend data from Adzuna API showing how compensation has evolved over time (up to ~24 months of history). Supports filtering by keywords, location, and category to track salary trends for specific job markets. Returns time-series data with salary metrics per month, enabling AI assistants to identify salary growth patterns, seasonal variations, and long-term market compensation trends.","intents":["Determine if salaries for a role are increasing or decreasing over time","Identify seasonal salary fluctuations in a job market","Forecast future salary expectations based on historical trends","Analyze how market disruptions (e.g., tech layoffs) impact compensation"],"best_for":["Career strategists planning long-term salary growth expectations","Job seekers timing their market entry for optimal compensation","Recruiters understanding compensation trend direction for budget planning"],"limitations":["Historical data limited to ~24 months — cannot analyze longer-term trends","Salary data excludes unlisted positions — trends may not represent full market","Monthly granularity only — cannot identify weekly or daily salary fluctuations","Trends reflect aggregate market data, not individual company salary progression"],"requires":["Python 3.10+","Adzuna API credentials","Valid country code","Optional: keywords, location, category filters; months parameter (default 12, max ~24)"],"input_types":["text (country code, optional keywords, location, category, months)"],"output_types":["JSON array of time-series data points with month/year and salary metrics"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_4","uri":"capability://search.retrieval.top.employer.discovery.by.hiring.volume","name":"top employer discovery by hiring volume","description":"Queries Adzuna API to identify and rank companies by number of open job positions within a country, with optional filtering by keywords, location, and category. Returns structured company data including company name and open position count, enabling AI assistants to identify major employers, understand hiring concentration, and help users target high-growth companies.","intents":["Find which companies are actively hiring for a specific role","Identify the largest employers in a geographic region","Understand hiring concentration in an industry","Discover growth-stage companies with high hiring velocity"],"best_for":["Job seekers targeting companies with active hiring","Recruiters identifying competitor hiring patterns","Career advisors analyzing employer landscape in a market"],"limitations":["Ranking based solely on open position count — does not reflect company size, growth rate, or hiring quality","Data reflects current snapshot — does not show hiring trends over time","Only includes companies with active listings on Adzuna — smaller employers may be underrepresented","Position count does not indicate salary levels or job quality"],"requires":["Python 3.10+","Adzuna API credentials","Valid country code","Optional: keywords, location, category filters"],"input_types":["text (country code, optional keywords, location, category)"],"output_types":["JSON array of companies ranked by open position count"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_5","uri":"capability://search.retrieval.job.category.enumeration.and.validation","name":"job category enumeration and validation","description":"Retrieves the complete set of valid job category tags for a specific country from Adzuna API. Returns structured category data (category IDs and labels) enabling AI assistants to validate category filters before executing job searches. This is a prerequisite capability — categories must be fetched first to ensure search queries use valid category tags, preventing failed searches due to invalid category parameters.","intents":["Discover what job categories are available in a specific country","Validate category tags before using them in job searches","Understand how Adzuna categorizes jobs in a market","Build dynamic category selection for search interfaces"],"best_for":["AI assistants building dynamic search interfaces with category filters","Developers integrating Adzuna data and needing category validation","Job search platforms localizing category taxonomies by country"],"limitations":["Categories are country-specific — a category valid in UK may not exist in US","Category taxonomy is defined by Adzuna — cannot customize or extend categories","Categories are static snapshots — changes to Adzuna's taxonomy require re-fetching"],"requires":["Python 3.10+","Adzuna API credentials","Valid country code"],"input_types":["text (country code)"],"output_types":["JSON array of category objects with ID and label"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_6","uri":"capability://tool.use.integration.mcp.protocol.server.with.stdio.transport.and.credential.isolation","name":"mcp protocol server with stdio transport and credential isolation","description":"Implements a Model Context Protocol (MCP) server using FastMCP framework that exposes Adzuna job search tools via stdio-based transport. The server handles credential management through environment variables (ADZUNA_APP_ID, ADZUNA_APP_KEY), automatically generates tool schemas from Python function signatures, and manages the request-response lifecycle for AI assistant tool invocations. Supports multiple client configurations (Claude Desktop, Cursor, generic MCP clients) through standardized MCP server interface.","intents":["Enable Claude Desktop or Cursor to access Adzuna job search without direct API integration","Isolate API credentials from AI assistant prompts and logs","Provide standardized tool interface for job search across different AI platforms","Deploy job search capabilities as a managed MCP server"],"best_for":["AI assistant users wanting to add job search without API credential exposure","Teams deploying MCP servers for centralized tool management","Developers building AI applications requiring job market data access"],"limitations":["Stdio transport adds ~50-100ms latency per tool invocation compared to direct API calls","Server must be running as separate process — requires process management and monitoring","Credential management via environment variables — no built-in secret rotation or expiration","No built-in rate limiting or request queuing — high-volume requests may exceed Adzuna API limits"],"requires":["Python 3.10+","FastMCP framework (installed via pip)","Adzuna API credentials (App ID and App Key)","MCP-compatible client (Claude Desktop, Cursor, or generic MCP client)"],"input_types":["MCP tool invocation requests with JSON parameters"],"output_types":["MCP tool response with JSON results or error messages"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_7","uri":"capability://automation.workflow.multi.client.deployment.configuration.with.environment.variable.injection","name":"multi-client deployment configuration with environment variable injection","description":"Provides standardized configuration templates for deploying the MCP server across multiple AI platforms (Claude Desktop, Cursor, generic MCP clients). Configuration uses environment variable injection to pass Adzuna API credentials securely without embedding them in config files. Supports both virtual environment-based execution and direct Python invocation, enabling flexible deployment across different development environments and CI/CD pipelines.","intents":["Configure job search access in Claude Desktop with API credentials","Deploy MCP server to Cursor with environment-based credential management","Set up job search capabilities in custom MCP client applications","Manage multiple MCP server deployments with consistent credential handling"],"best_for":["Teams deploying MCP servers across multiple AI platforms","DevOps engineers managing credential injection for MCP servers","Developers integrating job search into existing MCP client setups"],"limitations":["Configuration files must be manually updated with correct Python paths — path errors prevent server startup","Environment variables must be set before server launch — missing credentials cause authentication failures","Configuration is platform-specific — separate configs needed for macOS, Windows, Linux","No built-in configuration validation — invalid configs only fail at runtime"],"requires":["Python 3.10+ with virtual environment or system Python","Adzuna API credentials","MCP-compatible client (Claude Desktop, Cursor, or generic MCP client)","File system access to client configuration directories"],"input_types":["JSON configuration files with command, args, and env sections"],"output_types":["Configured MCP server available to AI assistant client"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_8","uri":"capability://tool.use.integration.api.version.introspection.and.compatibility.checking","name":"api version introspection and compatibility checking","description":"Exposes a tool to retrieve the current Adzuna API version, enabling AI assistants and developers to verify API compatibility and identify potential breaking changes. Returns version information that can be logged or compared against known compatible versions, supporting version-aware behavior and debugging of API integration issues.","intents":["Verify that the connected Adzuna API is at an expected version","Identify API version for debugging integration issues","Check for API updates that may affect search behavior","Log API version for audit and troubleshooting purposes"],"best_for":["Developers maintaining long-running MCP server deployments","Teams monitoring API compatibility across environments","Support engineers troubleshooting integration issues"],"limitations":["Version information is informational only — does not trigger automatic updates or fallback behaviors","API version does not indicate feature availability — version alone insufficient for capability detection","No version history or changelog — version number alone provides limited context"],"requires":["Python 3.10+","Adzuna API credentials","Network connectivity to Adzuna API"],"input_types":["none (no parameters required)"],"output_types":["JSON object with API version string"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_adzuna-adzuna-job-search-mcp__cap_9","uri":"capability://search.retrieval.advanced.job.search.filtering.with.multi.parameter.composition","name":"advanced job search filtering with multi-parameter composition","description":"Supports complex job search queries by composing multiple filter parameters (keywords, location, salary range, job type, category, posting date, sort order) into a single Adzuna API request. The MCP tool accepts optional filters for full-time/part-time/contract/permanent job types, salary_min/salary_max ranges, max_days_old for recency filtering, and sort_by for result ordering (date, salary, relevance). Filters are combined using AND logic — all specified filters must match for a job to be included in results.","intents":["Find jobs matching multiple criteria simultaneously (e.g., 'permanent full-time Python jobs in London paying £60k+, posted in the last 7 days')","Narrow search results by combining job type, location, and salary filters","Sort results by relevance, salary, or posting date to prioritize opportunities","Filter out stale listings by specifying maximum posting age"],"best_for":["Job seekers with specific requirements (salary, job type, location) who want precise results","Recruiters building targeted candidate sourcing workflows","Developers building job search applications with advanced filtering"],"limitations":["Filters use AND logic; OR queries (e.g., 'Python OR Java') require multiple separate searches","Salary filters exclude jobs without posted salaries, potentially reducing result set significantly","Job type filters (full_time, part_time, contract, permanent) are boolean; no weighting or preference ordering","max_days_old is approximate; Adzuna may not have exact posting timestamps for all listings","sort_by options are limited to date, salary, and relevance; custom sorting is not supported"],"requires":["Adzuna API credentials (App ID and App Key)","Python 3.10+","country code (required); all other filters optional"],"input_types":["text (keywords, location, category)","structured parameters (salary_min/max as integers, job type booleans, max_days_old as integer, sort_by as enum)"],"output_types":["structured JSON (filtered job listings)","numeric aggregates (result count, pagination metadata)"],"categories":["search-retrieval","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":39,"verified":false,"data_access_risk":"high","permissions":["Python 3.10+","Adzuna API credentials (App ID and App Key from developer portal)","Valid country code from supported list (gb, us, de, fr, au, nz, ca, in, pl, br, at, za)","Adzuna API credentials","Valid country code","Optional: keywords, location, or category filters for narrowed results","Environment variables ADZUNA_APP_ID and ADZUNA_APP_KEY set before server startup","Valid Adzuna API credentials from developer.adzuna.com","FastMCP framework installed","Modern web browser for interactive UI"],"failure_modes":["Many job listings lack salary data — salary filters will exclude unlisted positions, reducing result set","Adzuna free tier has rate limits — high-volume searches may hit throttling","Search results limited to 50 per page maximum — deep pagination requires multiple API calls","Category tags are country-specific — must call get_categories first to validate tags","Histogram data only includes jobs with listed salaries — unlisted positions are excluded, potentially skewing distribution toward higher-paying roles","Salary data is annual amounts only — no hourly or contract-rate breakdowns","Histogram granularity (bucket size) is determined by Adzuna API — cannot customize bucket ranges","Historical salary trends require separate API call (get_salary_history) — histogram is point-in-time snapshot","Credentials must be set in environment before server startup; no runtime credential updates","Environment variables are visible to all processes running under the same user; not suitable for multi-user systems","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.59,"ecosystem":0.6900000000000001,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.062Z","last_scraped_at":"2026-05-03T15:19:05.144Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=adzuna-adzuna-job-search-mcp","compare_url":"https://unfragile.ai/compare?artifact=adzuna-adzuna-job-search-mcp"}},"signature":"//m/qhSWq6+2r3dfmcGtEwTfhTz2Lqs8vgqbmaQvSPcmr6ewNFnlR7MB+jPFGg35ZwcJkJzOL+aORAwYbXqsDw==","signedAt":"2026-06-20T08:42:33.713Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/adzuna-adzuna-job-search-mcp","artifact":"https://unfragile.ai/adzuna-adzuna-job-search-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=adzuna-adzuna-job-search-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}