{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_sbx8wcb9b3z9","handle":"headcount-labs","url":"https://wellknown.network/agents/headcount-labs","links":{"self":"https://wellknown.network/agents/headcount-labs/record.json","html":"https://wellknown.network/agents/headcount-labs","markdown":"https://wellknown.network/agents/headcount-labs/record.md","api":"https://wellknown.network/api/v1/agents/headcount-labs","status":"https://wellknown.network/api/v1/agents/headcount-labs/status","claim":"https://wellknown.network/agents/headcount-labs/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/headcount-labs/claim.json","badge":"https://wellknown.network/agents/headcount-labs/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/headcount-labs/history","tools":"https://wellknown.network/api/v1/agents/headcount-labs/tools"},"ard":{"identifier":"urn:air:api.headcountlabs.com:server:headcount-labs","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Headcount Labs","summary":"Job postings search: find, count and read open jobs from employer career sites, with pay and links.","description":"Job postings search: find, count and read open jobs from employer career sites, with pay and links.","publisher":{"name":"com.headcountlabs","url":null},"homepage":"https://headcountlabs.com/mcp/","repository":"https://github.com/HeadcountLabs/headcountlabs-mcp","version":"1.2.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.headcountlabs.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"https://api.headcountlabs.com/mcp/public","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-18T23:19:49.235559Z","publishedAt":"2026-10-18T23:19:49.235559Z","registryName":"com.headcountlabs/jobs"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.seo","name":"SEO","confidence":0.525,"provenance":"derived"},{"slug":"data.database","name":"Databases","confidence":0.525,"provenance":"derived"}],"categories":["content","data"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-11-01T06:26:33.557Z","lastProbedAt":"2026-11-01T06:26:33.557Z","statusComputedAt":"2026-11-01T06:29:08.463Z","reliability30d":{"probes":120,"successRate":1,"p50Ms":92,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":120,"ok":120,"authBoundaryOk":60,"serviceOk":60,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-11-01T06:26:33.557Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":94,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"toolCount":9,"toolsHash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","serverName":"headcountlabs","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-11-01T04:25:50.536Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":103,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp\""}},{"at":"2026-10-31T22:29:39.771Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"toolCount":9,"toolsHash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","serverName":"headcountlabs","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T20:27:56.070Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":106,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp\""}},{"at":"2026-10-31T15:27:54.657Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":110,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"toolCount":9,"toolsHash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","serverName":"headcountlabs","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T13:29:45.532Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":123,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp\""}},{"at":"2026-10-31T07:29:03.650Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":42,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"toolCount":9,"toolsHash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","serverName":"headcountlabs","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-31T06:28:46.216Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":87,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp\""}},{"at":"2026-10-30T23:28:15.122Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":100,"error":null,"detail":{"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"toolCount":9,"toolsHash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","serverName":"headcountlabs","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-30T22:27:35.590Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":83,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer resource_metadata=\"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp\""}}],"tools":[{"name":"search_docs","description":"Ask a question about Headcount Labs (filters, limits, MCP setup, errors) and get the best-matching sections of the headcountlabs.com docs, each with its URL. Wo"},{"name":"search_jobs","description":"Search current job postings by keyword, title, company, place, pay, date and more. No account needed. Call list_fields to find the filter names. Country and emp"},{"name":"get_job","description":"Get a job by its job_id. No account needed. By default the answer has the same compact shape search_jobs returns (rank 1, job_id, job_ad, company_id, locations,"},{"name":"count_jobs","description":"Count the current jobs matching the filters, without listing them. This is the live count: it reads the job database as it is now, so use it for \"how many jobs\""},{"name":"market_lookup","description":"Job count, pay percentiles, share of jobs showing pay, remote/hybrid/in-person shares, posting age, new postings or top employers for up to two of title, place,"},{"name":"market_breakdown","description":"Rank the values of one dimension (by: title, state, metro, city, company, seniority, employment_type or remote) by jobs, pay or another figure, over all jobs or"},{"name":"salary_range","description":"What salary to ask for: for a title, a place (default US) and an optional seniority, the 25th, 50th, 75th and 90th percentile of posted pay, the sample size and"},{"name":"market_dimensions","description":"List what market_lookup, market_breakdown and salary_range accept: the dimensions, how many values each has and the metrics; with dimension (and optionally q) t"},{"name":"list_fields","description":"Find the search_jobs filters and the job fields that match some keywords, with each one's type and a short description. Pass words such as [\"pay\", \"remote\"]; no"}],"package":null,"toolSurface":{"id":"ts_ktyuykdfagtk","endpointId":"ep_vw4nh9j7r7vz","hash":"165453ddf68108e8f218d9cf65d52220fed20b8d7d6a16773a413963020942a1","toolCount":9,"serverName":"headcountlabs","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-20T08:32:11.447Z","lastSeenAt":"2026-11-01T06:26:33.553Z","observations":41,"toolNames":["search_docs","search_jobs","get_job","count_jobs","market_lookup","market_breakdown","salary_range","market_dimensions","list_fields"],"distinctSurfaces":6},"endpointFacts":[{"id":"ep_c5prqpvhbsug","url":"https://api.headcountlabs.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-28T19:24:30.886Z","auth":{"observedAt":"2026-10-28T19:24:31.006Z","authRequired":true,"scheme":"Bearer","resourceMetadata":{"url":"https://api.headcountlabs.com/.well-known/oauth-protected-resource/mcp","resource":"https://api.headcountlabs.com/mcp","authorizationServers":["https://api.headcountlabs.com"],"scopesSupported":["jobs:read","companies:read","usage:read","overage:write"]},"authorizationServer":{"url":"https://api.headcountlabs.com/.well-known/oauth-authorization-server","issuer":"https://api.headcountlabs.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-28T19:24:31.040Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"headcountlabs.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-18T00:19:28.000Z","validTo":"2027-01-16T00:19:27.000Z","daysToExpiry":75,"sanCount":2,"fingerprint256":"80:8D:6B:D2:BD:C4:78:E7:0B:96:48:B7:DE:DA:B5:9F:35:35:4F:FB:44:E9:51:DC:F2:E8:5E:DA:A7:7B:12:4F"}},{"id":"ep_vw4nh9j7r7vz","url":"https://api.headcountlabs.com/mcp/public","type":"mcp_streamable_http","factsCheckedAt":"2026-10-27T07:20:44.447Z","auth":{"observedAt":"2026-10-27T07:20:44.530Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-27T07:20:44.564Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"headcountlabs.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-18T00:19:28.000Z","validTo":"2027-01-16T00:19:27.000Z","daysToExpiry":75,"sanCount":2,"fingerprint256":"80:8D:6B:D2:BD:C4:78:E7:0B:96:48:B7:DE:DA:B5:9F:35:35:4F:FB:44:E9:51:DC:F2:E8:5E:DA:A7:7B:12:4F"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.headcountlabs/jobs","url":"https://registry.modelcontextprotocol.io/v0/servers/com.headcountlabs%2Fjobs","firstSeenAt":"2026-10-15T04:22:54.482Z","fetchedAt":"2026-11-01T04:19:17.987Z","normalizedAt":"2026-11-01T04:19:17.987Z"}]},"firstSeenAt":"2026-10-15T04:22:54.482Z","updatedAt":"2026-11-01T06:30:11.398Z"}