Jobswithgpt MCP Server: Job Search 500K+ Listings
Search 500K+ public jobs on the jobswithgpt MCP server, refreshed continuously with up-to-date listings.
npx -y @jobswithgpt/mcpOverview
The Jobswithgpt MCP Server is a Model Context Protocol (MCP)–compatible service that indexes and serves over 500,000 public job listings. It provides a structured, searchable API to fetch up-to-date job data suitable for integration with LLMs, chatbots, job boards, analytics pipelines, and other developer tools that need reliable employment market context.
Because listings are refreshed continuously, clients receive recent postings and can rely on near-real-time results for conversational assistants, candidate discovery, or data analysis. The server exposes simple REST endpoints and MCP tool/resource descriptors so AI agents and external apps can discover capabilities programmatically.
Features
- MCP-compatible tool and resource descriptors for model-driven integrations
- Search across 500K+ public job listings with continuous refresh
- Full-text and faceted search (title, company, location, remote, tags)
- Pagination, sorting, and basic relevance scoring
- Standard JSON REST API with CORS support
- Docker-friendly and scalable deployment
- Optional API key or token-based access control
- Export and webhook hooks for downstream workflows
Installation / Configuration
Below are common ways to run the server: Docker (recommended for production) and local development.
Prerequisites:
- Docker & Docker Compose (or Node/Python runtime for local)
- A PostgreSQL or compatible database for indexing (optional: local SQLite for dev)
- Environment variables (see sample .env)
Example .env (replace values as needed):
PORT=8080
DATABASE_URL=postgres://user:pass@db:5432/jobs
API_KEY=replace-with-secret
DATA_REFRESH_CRON="*/10 * * * *" # every 10 minutes
LOG_LEVEL=info
CORS_ALLOWED_ORIGINS=*
Docker Compose (example):
version: '3.8'
services:
mcp-server:
image: jobswithgpt/mcp:latest
ports:
- "8080:8080"
env_file:
- .env
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: jobs
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Run:
# check logs
Local development (Node-style example):
Available Resources
The server exposes common endpoints for discovery and job access. Exact paths may vary by release; these are the canonical endpoints developers can expect.
| Endpoint | Method | Description |
|---|---|---|
| /health | GET | Service health and uptime |
| /v1/jobs | GET | Search jobs (query params supported) |
| /v1/jobs/{id} | GET | Fetch a single job by id |
| /.well-known/mcp | GET | MCP tool/resource descriptors (for agent discovery) |
| /v1/webhooks | POST | (Optional) register hooks for new/updated jobs |
Query parameters for /v1/jobs:
- q — free-text query (title, skills)
- location — city, region, or country
- remote — true/false
- company — company name filter
- tags — comma-separated tag list
- page — page number (default 1)
- per_page — items per page (default 20, max typically 100)
- sort — relevance, date_desc, date_asc
Sample /v1/jobs response schema (JSON object):
Use Cases
LLM-assisted job search
- Integrate the MCP descriptors into an assistant so it can call /v1/jobs to fetch current listings, then summarize or rank results for a conversational user.
Job board or UI
- Power a client-facing search widget with filters (location, remote, tags) backed by the MCP server. Use pagination and sorting to navigate large result sets.
Recruiting and sourcing
- Automate discovery by querying for role-specific