Metadata-Version: 2.4
Name: job-offer-scraper-mcp
Version: 0.1.1
Summary: MCP server that extracts structured job offer data from popular job boards.
Author-email: Juanjo López <juanjo.lopez.gomez.19@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/JuanjoLopez19/job-scrapper-mcp
Project-URL: Repository, https://github.com/JuanjoLopez19/job-scrapper-mcp
Project-URL: Issues, https://github.com/JuanjoLopez19/job-scrapper-mcp/issues
Keywords: mcp,model-context-protocol,jobs,scraping
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: beautifulsoup4>=4.13.0
Requires-Dist: mcp<2,>=1.27
Requires-Dist: pydantic>=2.11.3
Requires-Dist: requests>=2.32.3
Requires-Dist: seleniumbase>=4.37.7
Dynamic: license-file

# Job Offer Scraper MCP

An MCP server that extracts job descriptions and criteria from job offer pages.

## Supported sites

| Site | Status |
| --- | --- |
| LinkedIn | Implemented |
| TecnoEmpleo | Implemented |
| InfoEmpleo | Implemented |
| Indeed | In progress |

## Run without cloning

Once the package is published on PyPI:

```bash
uvx job-offer-scraper-mcp
```

It can also be executed directly from GitHub without manually cloning the repository:

```bash
uvx --from git+https://github.com/JuanjoLopez19/job-scrapper-mcp.git job-offer-scraper-mcp
```

`uvx` creates an isolated environment and caches the package and its dependencies.

## MCP client configuration

Example configuration for clients that accept a command and argument list:

```json
{
  "servers": {
    "job-offer-scraper": {
      "command": "uvx",
      "args": ["job-offer-scraper-mcp"]
    }
  }
}
```

Before the first PyPI release, use the GitHub source explicitly:

```json
{
  "servers": {
    "job-offer-scraper": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/JuanjoLopez19/job-scrapper-mcp.git",
        "job-offer-scraper-mcp"
      ]
    }
  }
}
```

## Local development

Requirements:

- Python 3.11 or newer
- `uv`

Install dependencies and run the quality suite:

```bash
uv sync
uv run pre-commit run --all-files
```

Run the MCP server from the working tree:

```bash
uv run job-offer-scraper-mcp
```

Build and smoke-test the distribution:

```bash
uv build --no-sources
uv run --isolated --no-project --with dist/*.whl tests/smoke_test.py
```

## Publishing

Releases are published to PyPI by `.github/workflows/release.yml` when a tag beginning with `v` is pushed. The `pypi` GitHub environment and a matching PyPI Trusted Publisher must be configured before the first release.

## License

[MIT](LICENSE)
