Skip to main content
Glama
jaytuduri

Job Search MCP Server

by jaytuduri
README.md
# Job Search MCP Server

An MCP server that lets an MCP-compatible assistant search public job listings.
It currently uses [EURES](https://europa.eu/eures/portal/jv-se/home?lang=en&pageCode=find_a_job) and does not require an API key.

## Setup

Requires Python 3.11+ and [`uv`](https://docs.astral.sh/uv/).

```bash
uv sync
uv run pytest
```

## Run

Run the server directly over stdio:

```bash
uv run job-search-mcp
```

## Docker

Build and run the public Streamable HTTP server. It listens on port `8000` and
allows 60 requests per IP per 60 seconds by default.

```bash
docker build -t job-search-mcp .
docker run --rm -p 8000:8000 job-search-mcp
```

The MCP endpoint is `http://localhost:8000/mcp`. Adjust the limiter with
`RATE_LIMIT_REQUESTS` and `RATE_LIMIT_WINDOW`. This limiter is in-memory and is
intended for one container instance; use a proxy or shared store when scaling.

For Claude Desktop, add this entry to its MCP configuration:

```json
{
  "mcpServers": {
    "job-search": {
      "command": "uv",
      "args": ["--directory", "/absolute/path/to/jobfinder", "run", "job-search-mcp"]
    }
  }
}
```

## Tools

- `search_jobs`: filter by keywords, location, remote-only status, and result limit.
- `job_search_sources`: see provider and credential information.

Search results include title, company, location, remote status, description, tags, and a direct listing URL. Listings come from a third-party provider and should be checked before applying.

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are completely distinct: one searches job listings, the other provides information about the job boards used. There is no overlap or confusion between their purposes.

Naming Consistency4/5

Both names are clear and descriptive, but they follow slightly different patterns: search_jobs is verb-first, while job_search_sources is noun-first. This minor inconsistency does not impede understanding.

Tool Count3/5

With only two tools, the server feels thin and borderline. However, for a narrow scope like job search, this minimal set can be acceptable, though it is on the low end of the ideal range.

Completeness4/5

The server covers the core functionality of searching jobs and provides context about data sources. Minor gaps exist, such as lack of pagination or detailed job retrieval, but the basic workflow is complete and usable.

Maintenance

ActivityMaintained
ResponsivenessSyncing