MCP server for JobDataPool job search, source provenance, and analyst workflows
Project description
jobdatapool-mcp
A local Model Context Protocol server for JobDataPool job listings, source provenance, dataset QA, company briefs, and market scans.
This Python package is a parity-oriented port of the Node JobDataPool MCP surface. It exposes the same six core tools, three resources, and three guided prompts described on the JobDataPool MCP page.
Requirements
- Python 3.10+
- An MCP-compatible client that can launch a local stdio server, such as Claude Desktop, Claude Code, Cursor, or Windsurf
Install
pip install jobdatapool-mcp
Run locally
jobdatapool-mcp
The server uses https://jobdatapool.com by default.
For local site testing, point it at your local JobDataPool build:
JOBDATAPOOL_BASE_URL=http://localhost:8888 jobdatapool-mcp
The dataset snapshot is cached for 10 minutes by default. Override that with:
JOBDATAPOOL_CACHE_TTL_SECONDS=60 jobdatapool-mcp
MCP client config
Claude Desktop / Claude Code / Cursor / Windsurf
After installing from PyPI, use the package command directly:
{
"mcpServers": {
"jobdatapool": {
"command": "jobdatapool-mcp",
"env": {
"JOBDATAPOOL_BASE_URL": "https://jobdatapool.com"
}
}
}
}
For a local checkout before publishing, run through Python instead:
{
"mcpServers": {
"jobdatapool": {
"command": "python",
"args": ["-m", "jobdatapool_mcp.server"],
"cwd": "/absolute/path/to/jobdatapool-mcp",
"env": {
"JOBDATAPOOL_BASE_URL": "https://jobdatapool.com"
}
}
}
}
Tools
search_jobs
Search the current JobDataPool snapshot by keyword and filters.
Useful arguments include:
querylimitlocationcountrycompanyindustryskillseniorityemployment_typeremoteposted_within_dayssalarysort
Example prompts:
Find remote senior Python security jobs in the US.
Search JobDataPool for data engineering roles in healthcare, limit to 15, and include listing ids.
Find remote product manager jobs with salary signals and summarize the strongest matches.
get_job
Return one listing by JobDataPool id. Raw source and application URLs are masked; results include the JobDataPool redirect handoff URL when an id is available.
Tell me more about listing id 12345.
get_company
Summarize a company footprint from matching listings in the current snapshot.
Brief me on Huntress in the current JobDataPool snapshot.
The response includes matching listing count, locations, seniority, industries, skills, examples, and snapshot caveats.
get_filter_options
Show high-count facet values for common filters.
What skills, countries, locations, industries, and companies are common in this dataset?
find_similar_jobs
Find listings similar to a known JobDataPool listing id using title, skill, company, industry, and summary overlap.
Find jobs similar to listing id 12345.
get_sources
Return the JobDataPool source catalog, contract pointers, and local MCP cache status.
What snapshot is this MCP reading, and how many rows are cached?
Resources
jobdatapool://source-catalog— live/v1/sourcescatalog plus cache statusjobdatapool://analyst-context— dataset scope, cache behavior, provenance guidance, caveats, and URL masking policyjobdatapool://contracts— OpenAPI, schema, dataset, v1 endpoint, tool, resource, and prompt pointers
Prompts
jobdatapool_market_scan(topic, location, remote)— role, skill, industry, or hiring-theme scanjobdatapool_company_brief(company)— company footprint summary workflowjobdatapool_dataset_qa()— source/catalog health and facet coverage workflow
URL masking behavior
The server does not return raw source or application URLs. It removes common origin URL fields and replaces embedded external URLs in scraped text with [masked external URL]. When a JobDataPool id is present, outputs include:
https://jobdatapool.com/jobrd?id=<id>
Publishing
This repository is wired for PyPI Trusted Publishing through GitHub Actions. Configure a PyPI Trusted Publisher for the repository and the release environment, then push a tag:
git tag v0.1.0
git push origin v0.1.0
Project details
Release history Release notifications | RSS feed
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 jobdatapool_mcp-0.1.0.tar.gz.
File metadata
- Download URL: jobdatapool_mcp-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2e13d0481770ba9444140c9e24111f9e35ec00088892baab72f7f8abbdde7c9
|
|
| MD5 |
b395b616769835725655821b5bf4ddfb
|
|
| BLAKE2b-256 |
8e2619d3ef6da0643de236aa0fcc0e26939bbe4e7e0b0d9992ae7ad0eef40613
|
Provenance
The following attestation bundles were made for jobdatapool_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on lramos0/jobdatapool-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jobdatapool_mcp-0.1.0.tar.gz -
Subject digest:
b2e13d0481770ba9444140c9e24111f9e35ec00088892baab72f7f8abbdde7c9 - Sigstore transparency entry: 1845324691
- Sigstore integration time:
-
Permalink:
lramos0/jobdatapool-mcp@626cc48ff023e136db1bbd4481242ef07975312b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/lramos0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@626cc48ff023e136db1bbd4481242ef07975312b -
Trigger Event:
push
-
Statement type:
File details
Details for the file jobdatapool_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jobdatapool_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab2838c1b13a201fcbf633a8c6e2d3ec1058db80f1440d48d7a3f3cb76e40cce
|
|
| MD5 |
1d4572462395b43a2e737c87d7ff194e
|
|
| BLAKE2b-256 |
8d416a1c30e3cf4581756e5c662fea294cf2a7a12b2951d444f3997fee448d2e
|
Provenance
The following attestation bundles were made for jobdatapool_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on lramos0/jobdatapool-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jobdatapool_mcp-0.1.0-py3-none-any.whl -
Subject digest:
ab2838c1b13a201fcbf633a8c6e2d3ec1058db80f1440d48d7a3f3cb76e40cce - Sigstore transparency entry: 1845324906
- Sigstore integration time:
-
Permalink:
lramos0/jobdatapool-mcp@626cc48ff023e136db1bbd4481242ef07975312b -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/lramos0
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@626cc48ff023e136db1bbd4481242ef07975312b -
Trigger Event:
push
-
Statement type: