JobsPipe
AI Agents

MCP server

Connect AI agents and MCP clients to JobsPipe — search live job postings with your API key over the Model Context Protocol.

JobsPipe runs a Model Context Protocol server so AI agents and MCP-capable clients (Claude, Cursor, and custom MCP hosts) can search live job postings directly, without you writing any HTTP code.

The server speaks MCP over Streamable HTTP at:

https://mcp.jobspipe.dev/mcp

How it works

The MCP server is a thin layer over the JobsPipe API. You authenticate with the same API key you use for the REST API — a key that starts with jp_live_. The server forwards your requests to the API under that key, so:

  • Results, sources, and freshness are identical to the REST API.
  • Usage counts against your plan, and your plan's quota and rate limits apply.
  • There is no separate login, OAuth flow, or extra secret to manage.

Create or copy a key from your dashboard, then pass it as a bearer token on the connection:

Authorization: Bearer jp_live_xxxxxxxxxxxxxxxxxxxxxxxx

A request without a valid jp_live_ key is rejected with 401 Unauthorized.

Connect a client

Claude Code

claude mcp add --transport http jobspipe https://mcp.jobspipe.dev/mcp \
  --header "Authorization: Bearer jp_live_xxxxxxxxxxxxxxxxxxxxxxxx"

Claude Desktop / other connector UIs

Add a custom connector (remote MCP server) with:

  • URL: https://mcp.jobspipe.dev/mcp
  • Header: Authorization = Bearer jp_live_xxxxxxxxxxxxxxxxxxxxxxxx

Generic MCP config

Clients that read a JSON config (Cursor and similar) use the streamable-HTTP form:

{
  "mcpServers": {
    "jobspipe": {
      "url": "https://mcp.jobspipe.dev/mcp",
      "headers": {
        "Authorization": "Bearer jp_live_xxxxxxxxxxxxxxxxxxxxxxxx"
      }
    }
  }
}

Once connected, the tools below appear automatically and the agent can call them.

Tools

ToolDescription
search_jobsSearch live job postings from 30+ sources, normalized into one schema.
list_pricing_plansList JobsPipe plans with monthly price, request quota, and max results per call.

search_jobs

Every filter is optional and combined with AND. The most useful inputs:

ParameterTypeDescription
job_title_orstring[]Match jobs whose title contains any of these phrases.
job_title_notstring[]Exclude jobs whose title contains any of these phrases.
description_orstring[]Match jobs whose description contains any of these phrases.
company_name_orstring[]Match jobs from any of these exact company names.
job_country_code_orstring[]ISO country codes to include, e.g. ["US","GB"].
employment_type_orstring[]full-time, part-time, contract, temporary, internship.
job_seniority_orstring[]Seniority levels to include.
remotebooleantrue returns remote-only, false excludes remote.
posted_at_gtestringOnly postings on or after this date (YYYY-MM-DD).
posted_at_max_age_daysnumberOnly postings newer than this many days.
limitnumberMax rows to return (capped by your plan).
offsetnumberPagination offset.
include_total_resultsbooleanPopulate metadata.total_results (slightly slower).

A typical agent call:

{
  "job_title_or": ["data engineer"],
  "remote": true,
  "posted_at_max_age_days": 14,
  "limit": 25,
  "include_total_results": true
}

The response mirrors the REST API: a metadata block (with total_results and a next_cursor for paging) and a data array of normalized postings — title, company, location, country, salary range, seniority, posting date, and the apply URL. See the API reference for the full schema.

Use cases

  • Job-search copilots. Give an agent natural-language access to live postings — "find remote senior Rust roles posted this week" becomes a single search_jobs call with filters.
  • Sales and recruiting intelligence. New postings are a strong buying and outreach signal. An agent can watch for companies hiring a specific role or stack and feed that into a CRM or sequencing tool.
  • Market and hiring-trend research. Use include_total_results with date and location filters to size demand — how many remote data-engineering roles opened in the US in the last 14 days.
  • Dataset enrichment. Pull normalized postings for a list of company_name_or targets to attach live hiring activity to an existing account list.

Limits and errors

The MCP server inherits your plan's limits from the REST API:

StatusMeaning
401Missing or invalid API key — pass a jp_live_ bearer token.
402Monthly request quota exceeded for your plan.
429Per-second rate limit exceeded.

Call list_pricing_plans to see the quota, rate limit, and max results per call for each plan.

Other agent surfaces

Beyond MCP, JobsPipe is discoverable by autonomous agents:

On this page