Server definition
- Hash
- sha256:81e75c89b76469b576b0ebc2fd9572cc676ac54b9dae829bb308dc0053e5e89b
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "JobsPipe product MCP server (the 'do' surface). Read-only tools over a unified jobs and technographics dataset: search live job postings normalized and deduplicated across 30+ ATS feeds and job boards, list those sources, list pricing plans, and search Upwork postings specifically. Resources expose the OpenAPI spec, pricing and source catalog. None of the tools mutate data. search_jobs returns real postings without a key, capped at 3 rows a call and limited to the common filters; every response carries the total match count and the REST call that returns the full set. For the complete filter surface, pagination and stack scans use the REST API at https://api.jobspipe.dev (see https://docs.jobspipe.dev) with an API key (Bearer jp_live_...) -- the free key at https://jobspipe.dev/signup includes 1,000 jobs to start.",
"tools": [
{
"description": "List the ATS and job-board sources JobsPipe normalizes into a single JSON schema, with coverage and freshness notes.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name_contains": {
"description": "Optional case-insensitive substring to filter sources by name (e.g. \"workday\").",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "list_job_sources",
"outputSchema": null
},
{
"description": "List JobsPipe pricing plans with monthly price in USD (and the yearly price, two months free), monthly job quota and included features.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"plan": {
"description": "Optional plan name to return just one plan (e.g. \"free\", \"credits\").",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "list_pricing_plans",
"outputSchema": null
},
{
"description": "Search live, normalized job postings across 30+ sources by title, skill/tech, country, remote, seniority, employment type and recency. Returns real matching postings -- title, company, domain, location, salary range, tech stack and apply URL -- capped at 3 rows per call on this no-key server, with the total match count and the REST call that returns the rest.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"benefits_or": {
"description": "Match jobs advertising any of these benefit slugs, e.g. 401k, health insurance. Coverage is partial.",
"items": {
"type": "string"
},
"type": "array"
},
"city_or": {
"description": "Whole city names, e.g. London, Munich. Case-insensitive; a metro wrapper on the stored value is ignored. Spellings and diacritics are normalised for cities we know (München finds Munich, Cracow finds Kraków); other cities match the stored value exactly.",
"items": {
"type": "string"
},
"type": "array"
},
"description_or": {
"description": "Match any of these skills or technologies in the posting.",
"items": {
"type": "string"
},
"type": "array"
},
"employment_type_or": {
"description": "Match any of these employment types.",
"items": {
"type": "string"
},
"type": "array"
},
"esco_skill_id_or": {
"description": "Match jobs tagged with any of these ESCO skill concept IDs (exact match).",
"items": {
"type": "string"
},
"type": "array"
},
"has_recruiter_email": {
"description": "true for only jobs with a recruiter contact email parsed from the posting, false for only jobs without one.",
"type": "boolean"
},
"include_unlabeled_employment_type": {
"description": "Also return jobs whose employment type is unknown. About 27% of postings do not state one, and employment_type_or excludes every one of them by default.",
"type": "boolean"
},
"isic_division_or": {
"description": "ISIC Rev.4 employer industry divisions (2-digit, e.g. 62).",
"items": {
"type": "string"
},
"type": "array"
},
"job_country_code_or": {
"description": "Match any of these ISO 3166-1 alpha-2 country codes.",
"items": {
"type": "string"
},
"type": "array"
},
"job_location_or": {
"description": "Match any of these cities or regions, e.g. Seattle, WA. Metro wrappers are stripped (Greater London also matches London) and a state, province or UK nation by name matches every spelling of it (Pennsylvania also matches PA). Terms of three characters or fewer are codes or exact names and match whole values (WA is Washington state, never Iowa); a country code or name matches the whole country. For a city by name, city_or is the precise filter.",
"items": {
"type": "string"
},
"type": "array"
},
"job_seniority_or": {
"description": "Match any of these seniority levels.",
"items": {
"type": "string"
},
"type": "array"
},
"job_title_or": {
"description": "Match any of these job titles.",
"items": {
"type": "string"
},
"type": "array"
},
"language_not": {
"description": "Exclude postings written in these languages, as lowercase ISO 639-1 codes, e.g. [\"fr\"]. Unlabelled postings are kept.",
"items": {
"type": "string"
},
"type": "array"
},
"language_or": {
"description": "Languages the posting is written in, as lowercase ISO 639-1 codes, e.g. [\"en\"]. The language of the posting text, not the country: 18.3% of Swedish postings and 17.7% of German ones are in English. Unlabelled postings never match.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Maximum rows to return.",
"type": "number"
},
"max_applicant_count": {
"description": "Only jobs with at most this many applicants. Counts exist only where the source exposes them (LinkedIn), so this also drops every job without a count.",
"type": "number"
},
"max_ghost_score": {
"description": "Exclude jobs whose ghost-likelihood score (0-100) exceeds this. Unscored jobs always pass.",
"type": "number"
},
"metro_code_or": {
"description": "Match any of these US CBSA metro codes, e.g. 35620 for New York. Non-US jobs never match.",
"items": {
"type": "string"
},
"type": "array"
},
"min_salary_usd": {
"description": "Only jobs whose posted salary reaches this annual USD amount. Jobs without a posted salary never match; estimated salaries are not consulted.",
"type": "number"
},
"occupation_code_or": {
"description": "ISCO-08 occupation codes; 4-digit exact, 1-3 digit as hierarchy prefix.",
"items": {
"type": "string"
},
"type": "array"
},
"posted_at_max_age_days": {
"description": "Only postings published within this many days.",
"type": "number"
},
"region_or": {
"description": "US states and Canadian provinces as ISO 3166-2 codes, e.g. US-NY, CA-ON. Matches every spelling a job board publishes, so CA-ON finds both ON and Ontario. More precise than job_location_or for a state or province.",
"items": {
"type": "string"
},
"type": "array"
},
"remote": {
"description": "Only remote roles when true.",
"type": "boolean"
},
"skills_or": {
"description": "Match jobs tagged with any of these skill slugs, e.g. python, kubernetes.",
"items": {
"type": "string"
},
"type": "array"
},
"visa_sponsorship_or": {
"description": "Match any of these visa stances parsed from the posting text: offers, no, citizenship_required. Jobs that say nothing never match.",
"items": {
"enum": [
"offers",
"no",
"citizenship_required"
],
"type": "string"
},
"type": "array"
},
"work_arrangement_or": {
"description": "Match any of remote, hybrid or onsite. Finer than remote, which answers false for hybrid and onsite alike. Jobs whose arrangement is unknown never match, and coverage is still backfilling, so this returns far fewer results than expected today; remote is the reliable filter for now.",
"items": {
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"job_title_or"
],
"type": "object"
},
"name": "search_jobs",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:81e75c89b76469b576b0ebc2fd9572cc676ac54b9dae829bb308dc0053e5e89b | sha256sum