MCP server for the winterchill UK tech-jobs catalog (jobs.winterchill.xyz).
Project description
jobs-winterchill-mcp
An MCP server over the winterchill UK tech-jobs catalog (jobs.winterchill.xyz). It's a thin, read-only client over the public catalog API — no secrets, nothing stored — that lets an MCP client (Claude Desktop, the Claude CLI, etc.) search jobs, inspect companies, and match/tailor a CV.
Tools
| Tool | What it does |
|---|---|
search_jobs |
Search the live board (free-text + filters: city, salary, sponsorship, discipline, tech, level, source, sort). |
get_job |
Fetch one job by source + id, with the full description. |
get_company |
Company facts (rating, size, industry, Levels.fyi comp) + its current live roles. |
match_cv |
Rank the live board against a pasted CV (semantic retrieve → rerank → comp-weighted). |
tailor_cv |
ATS-tailor a CV to one job — returns applyable before → after edits + advice. |
list_filters |
The accepted filter values (cities, disciplines, levels, sources, technologies). |
match_cv / tailor_cv are stateless and anonymous (nothing is stored); they're rate-limited
per IP. tailor_cv returns up to 5 edits on the free/anonymous tier.
Install / configure
Requires Python ≥ 3.10. The server speaks MCP over stdio.
Add it to your MCP client config (Claude Desktop claude_desktop_config.json, or the Claude CLI):
{
"mcpServers": {
"winterchill": {
"command": "uvx",
"args": ["jobs-winterchill-mcp"]
}
}
}
Or run from a local checkout:
uv run jobs-winterchill-mcp
# or
pip install -e . && jobs-winterchill-mcp
Configuration
| Env var | Default | Purpose |
|---|---|---|
WINTERCHILL_API_BASE |
https://jobs.winterchill.xyz |
Override the catalog API base URL (e.g. for local dev). |
How it works
Every tool maps to a public endpoint:
search_jobs→GET /api/v1/jobsget_job→GET /api/v1/jobs/{source}/{id}get_company→GET /api/v1/companies/{key}match_cv→POST /api/cv/matchtailor_cv→POST /api/cv/job-match(mode: tailor)
No API key is needed. The catalog data is the same already-public board; this server just makes it available to LLM agents over MCP.
Releasing
Publishing to PyPI is automated via GitHub Actions + PyPI Trusted Publishing (OIDC, no token
stored). In short: bump version in pyproject.toml, then publish a GitHub Release — the
publish workflow builds and uploads. Full steps (incl. the one-time PyPI pending-publisher
setup) are in RELEASING.md.
License
MIT © Valerii Iatsko
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 jobs_winterchill_mcp-0.1.0.tar.gz.
File metadata
- Download URL: jobs_winterchill_mcp-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4ef1ec98ecf816fa56b2cfe3488129d757ad9ebdeb5398dff22d9dd2ae62c02
|
|
| MD5 |
bd8906361494323e010af79d04ff05d7
|
|
| BLAKE2b-256 |
54041a505f37ea4f5d78dc34d90a89ce6ece181c84c76916e2a8bea5631fc674
|
Provenance
The following attestation bundles were made for jobs_winterchill_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on winterchill-xyz/jobs-winterchill-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jobs_winterchill_mcp-0.1.0.tar.gz -
Subject digest:
e4ef1ec98ecf816fa56b2cfe3488129d757ad9ebdeb5398dff22d9dd2ae62c02 - Sigstore transparency entry: 1928482020
- Sigstore integration time:
-
Permalink:
winterchill-xyz/jobs-winterchill-mcp@0dd9d35a29503ee41569309917b49ef21f4fdae9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/winterchill-xyz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0dd9d35a29503ee41569309917b49ef21f4fdae9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file jobs_winterchill_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jobs_winterchill_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.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 |
a0dfe69e74999ccf7331051892c90d10634daf75764b003e9ebc53012ba5c9c7
|
|
| MD5 |
cae29f768885397cb7a1c1542ab93440
|
|
| BLAKE2b-256 |
28b6d8f8fc354434e5adec2ca2bcdf2d7afc8dde802c777dc33ec70593852715
|
Provenance
The following attestation bundles were made for jobs_winterchill_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on winterchill-xyz/jobs-winterchill-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jobs_winterchill_mcp-0.1.0-py3-none-any.whl -
Subject digest:
a0dfe69e74999ccf7331051892c90d10634daf75764b003e9ebc53012ba5c9c7 - Sigstore transparency entry: 1928482200
- Sigstore integration time:
-
Permalink:
winterchill-xyz/jobs-winterchill-mcp@0dd9d35a29503ee41569309917b49ef21f4fdae9 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/winterchill-xyz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@0dd9d35a29503ee41569309917b49ef21f4fdae9 -
Trigger Event:
release
-
Statement type: