CleanJobData MCP Server
A Model Context Protocol (MCP) server providing tools to interact with the CleanJobData Job API.
Available MCP Interactions
This server exposes the following MCP interactions:
Tools
search_jobs: Search for jobs using the CleanJobData API based on various criteria.- Parameters:
title,sort_by,city_id,state_id,country_id,location,remote,remote_type,company_name,employer_id,salary_min,salary_max,require_salary,experience_level,employment_type,published_after,max_age,include_expired,include_description,limit,cursor,count.
- Parameters:
get_job: Retrieve detailed information about a specific job (including its full description) by ID.- Parameters:
job_id.
- Parameters:
search_companies: Search for companies by name (fuzzy), website domain, or company IDs.- Parameters:
query,website_url,employer_id,active,limit,offset.
- Parameters:
get_company: Retrieve detailed information about a specific company, including enrichment data.- Parameters:
company_id.
- Parameters:
suggest_locations: Autocomplete city/state/country names into the IDs used bysearch_jobsgeo filters.- Parameters:
query,kinds,limit.
- Parameters:
Prompts
create_candidate_profile: Generates a structured prompt based on candidate details (name, LinkedIn, website, resume text) to help guide job searching.- Parameters:
name,linkedin_url,personal_website,resume_text.
- Parameters:
Client Setup (Examples: Claude Desktop, Cursor)
To use this server with an MCP client like Claude Desktop or Cursor, you need to configure the client to run the server process and provide the CleanJobData API key.
-
Ensure
uvis installed:curl -LsSf https://astral.sh/uv/install.sh | sh -
Obtain a CleanJobData API Key: Request a key from CleanJobData. Set it as the
CLEANJOBDATA_API_KEYenvironment variable. -
Configure your client:
-
Using
uvx:- Claude Desktop: Edit your
claude_desktop_config.json:{ "mcpServers": { "cleanjobdata": { "command": "uvx", "args": [ "cleanjobdata-mcp" ], "env": { "CLEANJOBDATA_API_KEY": "" } } } }
- Cursor: Go to Settings > MCP > Add Server:
- Mac/Linux Command:
uvx cleanjobdata-mcp - Windows Command:
cmd - Windows Args:
/c,uvx,cleanjobdata-mcp - Set the
CLEANJOBDATA_API_KEYenvironment variable in the appropriate section.
- Mac/Linux Command:
- Claude Desktop: Edit your
-
Running from source (Alternative):
- Clone the repo and note where you clone it to
- Claude Desktop: Edit your
claude_desktop_config.json:
{ "mcpServers": { "cleanjobdata": { "command": "uv", "args": [ "run", "--directory", "PATH_TO_REPO", "cleanjobdata-mcp" ], "env": { "CLEANJOBDATA_API_KEY": "" } } } }
-
Development
This project uses:
uvfor dependency management and virtual environmentsrufffor linting and formattinghatchas the build backend
Common Tasks
# Setup virtual env
uv venv
# Install dependencies
uv pip install -e .
# install cli tools
uv tool install ruff
# Run linting
ruff check .
# Format code
ruff format .
Environment Variables
CLEANJOBDATA_API_KEY(required): Your API key for accessing the CleanJobData API, sent as a Bearer token. The server needs this to make authenticated requests for job data.
Testing
This project uses pytest for testing the core tool logic. Tests mock external API calls using unittest.mock.
- Install test dependencies:
# Ensure you are in your activated virtual environment (.venv)
uv pip install -e '.[test]'
- Run tests:
pytest
Contributing
Contributions are welcome.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cleanjobdata_mcp-0.1.1.tar.gz.
File metadata
- Download URL: cleanjobdata_mcp-0.1.1.tar.gz
- Upload date:
- Size: 88.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b9fa285bd2b2de089f6b8a70a5307d4272e9059ffec4e13bbb7ed1ece7b42375
|
|
| MD5 |
19afaeedd8260509cc18278f37f603e6
|
|
| BLAKE2b-256 |
e88793f5d66a4b43763d83c72728a74ca4dd6add93bf674d726c08da657de59c
|
Provenance
The following attestation bundles were made for cleanjobdata_mcp-0.1.1.tar.gz:
Publisher:
ci.yml on jhgaylor/cleanjobdata-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cleanjobdata_mcp-0.1.1.tar.gz -
Subject digest:
b9fa285bd2b2de089f6b8a70a5307d4272e9059ffec4e13bbb7ed1ece7b42375 - Sigstore transparency entry: 2342194684
- Sigstore integration time:
-
Permalink:
jhgaylor/cleanjobdata-mcp@1dde061a8816ed62958e0812a9ca3d8fe21a3f43 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jhgaylor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@1dde061a8816ed62958e0812a9ca3d8fe21a3f43 -
Trigger Event:
push
-
Statement type:
File details
Details for the file cleanjobdata_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: cleanjobdata_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4881ac255fa079ec78156a98f27c093c5192d1d7c4167914c417a8171ee262bb
|
|
| MD5 |
efa10b13f506660f4143171e8b739a4a
|
|
| BLAKE2b-256 |
ef19c1c22b5fbba0ac5e9883fd811dc139c46ad5b0f503de26da76419faf8dfc
|
Provenance
The following attestation bundles were made for cleanjobdata_mcp-0.1.1-py3-none-any.whl:
Publisher:
ci.yml on jhgaylor/cleanjobdata-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cleanjobdata_mcp-0.1.1-py3-none-any.whl -
Subject digest:
4881ac255fa079ec78156a98f27c093c5192d1d7c4167914c417a8171ee262bb - Sigstore transparency entry: 2342194688
- Sigstore integration time:
-
Permalink:
jhgaylor/cleanjobdata-mcp@1dde061a8816ed62958e0812a9ca3d8fe21a3f43 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jhgaylor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@1dde061a8816ed62958e0812a9ca3d8fe21a3f43 -
Trigger Event:
push
-
Statement type: