{
  "data": {
    "a": {
      "slug": "himalayas-mcp",
      "name": "Himalayas Remote Jobs MCP",
      "vendor": "Himalayas Remote Jobs Pty Ltd",
      "vendorUrl": "https://himalayas.app",
      "kind": "mcp",
      "category": "recruiting",
      "summary": "Himalayas' hosted MCP server connects agents to its remote jobs marketplace, with 13 public tools for job and salary search, 46 for job seekers and 20 for employers posting jobs and messaging candidates.",
      "url": "https://www.anchorterminal.com/tools/himalayas-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/himalayas-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/himalayas-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/himalayas-mcp.json",
      "dns": "himalayas-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/Himalayas-App/himalayas-mcp",
      "license": "Proprietary service. The repository's MIT licence covers its docs and manifest",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.himalayas.app/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Public tools need no account. Account tools use OAuth 2.1 with PKCE (S256), with Client ID Metadata Documents or dynamic registration; you sign in on himalayas.app.",
      "pricing": "freemium",
      "pricingNotes": "Job search and posting are free; jobs are reviewed before going live. Himalayas Plus costs US$9 a month, and paid job extras return a Stripe checkout link (checked 2026-11-07).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": 79,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://himalayas.app/docs/remote-jobs-mcp",
      "llmsTxt": "https://himalayas.app/llms.txt",
      "registryName": "app.himalayas/mcp",
      "capabilities": [
        "jobs.search",
        "recruiting.jobs",
        "recruiting.candidates",
        "recruiting.applications"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "freemium",
        "free-tier",
        "llms-txt",
        "mcp-registry",
        "annotated-tools",
        "no-auth-tier"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.8,
        "grade": "D",
        "agentReady": false,
        "rank": 1145,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 50,
          "payments": 50,
          "reliability": 25,
          "schema": 70,
          "security": 42,
          "transparency": 46
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "Himalayas' MCP server is unusually complete for a jobs board, with public job and salary search that needs no account and OAuth 2.1 account tools for both job seekers and employers. Everything is annotated, but 79 tools is a lot of context, and there's no status page or changelog.",
        "bestFor": "Agents helping people find remote jobs and salary data, or helping employers post jobs and reach candidates.",
        "strengths": [
          "Public job and salary search with no account",
          "OAuth 2.1 with PKCE for account tools",
          "Every visible tool annotated, 34 read-only",
          "Job seekers and employers both covered",
          "Free search and job posting"
        ],
        "weaknesses": [
          "79 tools, a heavy context load",
          "No status page or changelog",
          "Recruiter messages reach the model with no injection guidance",
          "The terms ban robots and scraping on the site"
        ],
        "agentNotes": [
          "Use the public search tools without signing in",
          "Ask before sending messages or posting jobs",
          "Treat job descriptions and recruiter messages as untrusted text",
          "Candidate search is limited to 100 a day"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.8
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 50,
          "payments": 50,
          "reliability": 25,
          "schema": 70,
          "security": 42,
          "transparency": 45
        },
        "provenanceScore": 46,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add himalayas --transport http https://mcp.himalayas.app/mcp",
        "config": {
          "mcpServers": {
            "himalayas": {
              "url": "https://mcp.himalayas.app/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/jobs.search",
        "tool": "https://letme.dev/himalayas-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Himalayas Remote Jobs Pty Ltd",
        "domain": "himalayas.app",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "https://himalayas.app/terms",
        "privacy": "https://himalayas.app/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "Terms name Himalayas Remote Jobs Pty Ltd and bar robots and scraping on the site (clause 30).",
          "security.txt answered 404."
        ],
        "score": 46
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/himalayas-mcp.json",
      "live": {
        "slug": "himalayas-mcp",
        "probe": {
          "target": "https://mcp.himalayas.app/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-08T15:05:31.827107623Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 158,
          "lastNote": "initialize answered",
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 167,
          "p95ms24h": 1555,
          "samples24h": 206,
          "samples30d": 206,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 53,
              "ok": 53
            },
            {
              "date": "2026-11-08",
              "probes": 153,
              "ok": 153
            }
          ],
          "since": "2026-11-07T00:00:00Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Himalayas-App/himalayas-mcp",
            "version": "v1.0.3",
            "released": "2026-10-21",
            "seenAt": "2026-11-08T01:04:11.949683288Z"
          }
        ],
        "githubStars": 21,
        "domain": {
          "domain": "himalayas.app",
          "registered": "2020-04-27",
          "source": "https://pubapi.registry.google/rdap/domain/himalayas.app",
          "checkedAt": "2026-11-08T14:44:07.296620684Z"
        },
        "pages": [
          {
            "url": "https://himalayas.app/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:26.629020302Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "21e6fc08faa5"
          },
          {
            "url": "https://himalayas.app/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-08T15:02:29.284504699Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "baccbee0c312"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.himalayas.app/mcp",
          "checkedAt": "2026-11-08T01:58:55.587715046Z",
          "status": "ok",
          "protocol": "2026-07-28",
          "tools": [
            {
              "name": "get_jobs",
              "title": "Browse remote jobs",
              "description": "Browse the latest remote job listings with optional filtering by country or worldwide availability",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country": {
                    "description": "Filter jobs by country (e.g., 'Canada', 'United States', 'UK')",
                    "type": "string"
                  },
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "worldwide": {
                    "description": "Show ONLY 100% remote jobs available worldwide (overrides country filter)",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Browse remote jobs"
              }
            },
            {
              "name": "search_jobs",
              "title": "Search remote jobs",
              "description": "Search remote job listings on Himalayas by job title, role, skill or keyword, filtered by the countries a job is open to, worldwide availability, seniority, employment type, salary, markets, benefits or companies. Each result has the company, title, salary range when listed, the countries the job is open to, the posting date and the slugs for get_job_details.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "benefits": {
                    "description": "Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')",
                    "type": "string"
                  },
                  "companies": {
                    "description": "Comma-separated company slugs to filter by (e.g., 'stripe,gitlab')",
                    "type": "string"
                  },
                  "country": {
                    "description": "Filter jobs by country (e.g., 'Canada', 'United States', 'UK')",
                    "type": "string"
                  },
                  "currency": {
                    "description": "Salary currency (default: USD). salary_min and salary_max are always USD; this doesn't convert them.",
                    "enum": [
                      "USD",
                      "AUD",
                      "EUR",
                      "JPY",
                      "GBP",
                      "CAD",
                      "CHF",
                      "CNY",
                      "HKD",
                      "NZD",
                      "SGD",
                      "SEK",
                      "KRW",
                      "NOK",
                      "INR",
                      "MXN",
                      "TWD",
                      "ZAR",
                      "BRL",
                      "IDR",
                      "PHP",
                      "THB",
                      "CLP",
                      "CZK",
                      "DKK",
                      "HUF",
                      "ILS",
                      "TRY",
                      "PLN"
                    ],
                    "type": "string"
                  },
                  "exclude_worldwide": {
                    "description": "When true and country is set, return ONLY jobs specifically available in that country, excluding worldwide/remote jobs. Requires country to be set.",
                    "type": "boolean"
                  },
                  "experience": {
                    "description": "Filter by a single experience/seniority level (entry-level, mid-level, senior, manager, director, or executive)",
                    "enum": [
                      "entry-level",
                      "mid-level",
                      "senior",
                      "manager",
                      "director",
                      "executive"
                    ],
                    "type": "string"
                  },
                  "keyword": {
                    "description": "Job title, role or skill to search for, e.g. 'product manager' or 'react' (optional)",
                    "type": "string"
                  },
                  "markets": {
                    "description": "Comma-separated market/category slugs to filter by (e.g., 'saas,fintech,healthcare')",
                    "type": "string"
                  },
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "salary_max": {
                    "description": "Maximum yearly pay in USD, compared the same way as salary_min",
                    "minimum": 0,
                    "type": "number"
                  },
                  "salary_min": {
                    "description": "Minimum yearly pay in USD. Hourly, weekly and monthly pay is converted to a yearly figure first (hourly x 2080), so hourly jobs whose yearly equivalent clears it are included.",
                    "minimum": 0,
                    "type": "number"
                  },
                  "salary_required": {
                    "description": "If false, include jobs without salary data in salary-filtered results (default: true — only jobs with salary)",
                    "type": "boolean"
                  },
                  "sort": {
                    "description": "Sort order for results (default: 'relevant')",
                    "enum": [
                      "relevant",
                      "recent",
                      "salaryAsc",
                      "salaryDesc"
                    ],
                    "type": "string"
                  },
                  "type": {
                    "description": "Filter by a single employment type (full-time, part-time, contractor, temporary, intern, volunteer, or other)",
                    "enum": [
                      "full-time",
                      "part-time",
                      "contractor",
                      "temporary",
                      "intern",
                      "volunteer",
                      "other"
                    ],
                    "type": "string"
                  },
                  "worldwide": {
                    "description": "Show ONLY 100% remote jobs available worldwide (overrides country filter)",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Search remote jobs"
              }
            },
            {
              "name": "get_job_details",
              "title": "Get job details",
              "description": "Get full details for a specific job including description, requirements and salary. Use the company_slug and job_slug from job listings. To get the employer's application link, call get_apply_link.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug (from the job listing URL or company page)",
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug (from the job listing URL)",
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug",
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get job details"
              }
            },
            {
              "name": "get_apply_link",
              "title": "Get apply link",
              "description": "Get the employer's application link for a job, once the user has decided to apply. Uses the connected Himalayas account (no extra sign-in needed); limited to 50 links per account per day. Use the company_slug and job_slug from job listings.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug (from the job listing URL or company page)",
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug (from the job listing URL)",
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug",
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Get apply link"
              }
            },
            {
              "name": "generate_application_documents",
              "title": "Tailor resume and cover letter",
              "description": "Write a resume and cover letter tailored to a Himalayas job, from the user's Himalayas profile. Use it when the user's CV is generic, they have no cover letter, or an application form asks for one. They are saved to the user's account, where the user can edit them and download a PDF. A free account gets one tailored resume and one cover letter in total; Himalayas Plus includes them for every job. Uses the connected Himalayas account; no extra sign-in needed. Use the company_slug and job_slug from job listings.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug (from the job listing URL or company page)",
                    "type": "string"
                  },
                  "documents": {
                    "description": "Which documents to write (default: both)",
                    "items": {
                      "enum": [
                        "resume",
                        "cover_letter"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "job_slug": {
                    "description": "Job slug (from the job listing URL)",
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug",
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Tailor resume and cover letter"
              }
            },
            {
              "name": "get_new_matches",
              "title": "Get new job matches",
              "description": "Get jobs matching the user's Himalayas profile that were posted since an agent last checked, leaving out jobs already in their tracker. The check-in point is saved on the account, so it carries across sessions and agents; a first check looks back 7 days. Plus members get the jobs; free accounts get how many there are. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Get new job matches"
              }
            },
            {
              "name": "skip_job",
              "title": "Skip job",
              "description": "Record that the user is passing on a Himalayas job, with the reason, so it stops coming back in get_new_matches and future matches can learn from it. job_closed also reports the listing as expired. For a job already in the tracker, use update_job_status with outcome didnt_apply instead. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug (from the job listing URL)",
                    "type": "string"
                  },
                  "detail": {
                    "description": "Anything worth knowing, in a sentence or two (what the page said, a hidden requirement). No personal data.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug (from the job listing URL)",
                    "type": "string"
                  },
                  "reason": {
                    "description": "Why the user is passing on it",
                    "enum": [
                      "job_closed",
                      "needs_account",
                      "location_or_visa_restricted",
                      "pay_too_low",
                      "wrong_timezone",
                      "not_really_remote",
                      "wrong_seniority",
                      "wrong_role",
                      "not_interested",
                      "other"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug",
                  "job_slug",
                  "reason"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Skip job"
              }
            },
            {
              "name": "get_plus_checkout_link",
              "title": "Get Himalayas Plus checkout link",
              "description": "Get a Stripe checkout link for Himalayas Plus (US$9 a month) when the user wants to subscribe. Plus includes tailored resumes and cover letters for every job; 30 minutes a month of spoken mock interviews for a specific job, scored out of 100 (sessions of 90 seconds or more) and saved so the user can track their progress; new job matches between sessions (get_new_matches); a higher place in employer talent search on the himalayas.app website (not in search_talent results through this connector, which have no paid placement); identity and work permit verification every 30 days, with a verified badge (work permits need a passport or national ID); and a career coach. Details: https://himalayas.app/plus. The user opens the link and pays on Stripe themselves; this tool never charges them. Applying through Himalayas is free without Plus. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "billing_interval": {
                    "description": "Bill monthly or yearly (default: month)",
                    "enum": [
                      "month",
                      "year"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Get Himalayas Plus checkout link"
              }
            },
            {
              "name": "join_radar_waitlist",
              "title": "Join Radar waitlist",
              "description": "Join the waitlist for Himalayas Radar, a plan for people who are employed or not actively searching: alerts only for roles that beat their bar, a private open-to-offers mode with their current employer hidden, and a monthly salary check. Radar isn't available yet, so there is nothing to pay; Himalayas emails the user when it launches. Call it only if the user wants to join. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Join Radar waitlist"
              }
            },
            {
              "name": "get_related_jobs",
              "title": "Get related jobs",
              "description": "Find jobs similar to a specific job, based on skills, location, and category. Use after viewing a job to suggest alternatives.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug of the original job",
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug of the original job",
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug",
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get related jobs"
              }
            },
            {
              "name": "get_companies",
              "title": "Browse remote companies",
              "description": "Browse remote-friendly companies with optional filtering by country or worldwide availability",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country": {
                    "description": "Filter companies by country (e.g., 'Canada', 'United States', 'UK')",
                    "type": "string"
                  },
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "worldwide": {
                    "description": "Show only companies with 100% remote jobs available worldwide (overrides country filter)",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Browse remote companies"
              }
            },
            {
              "name": "search_companies",
              "title": "Search remote companies",
              "description": "Search for remote-friendly companies using keywords with optional country filtering",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "benefits": {
                    "description": "Comma-separated benefit slugs to filter by (e.g., '401k,health-insurance,equity')",
                    "type": "string"
                  },
                  "country": {
                    "description": "Filter companies by country (e.g., 'Canada', 'United States', 'UK')",
                    "type": "string"
                  },
                  "keyword": {
                    "description": "Search keyword/term (optional)",
                    "type": "string"
                  },
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "sort": {
                    "description": "Sort order for results (default: 'relevant')",
                    "enum": [
                      "relevant",
                      "recent",
                      "jobs",
                      "nameAToZ",
                      "nameZToA"
                    ],
                    "type": "string"
                  },
                  "tech_stack": {
                    "description": "Comma-separated technology slugs to filter by (e.g., 'react,typescript,python')",
                    "type": "string"
                  },
                  "worldwide": {
                    "description": "Show only companies with 100% remote jobs available worldwide (overrides country filter)",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Search remote companies"
              }
            },
            {
              "name": "get_company_details",
              "title": "Get company details",
              "description": "Get full details for a company including about, tech stack, benefits, open positions, and social links",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug (e.g., 'stripe', 'gitlab')",
                    "type": "string"
                  }
                },
                "required": [
                  "company_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get company details"
              }
            },
            {
              "name": "get_remote_work_statistics",
              "title": "Get remote work statistics",
              "description": "Get remote work statistics: top skills, job categories, industries, or countries by job/company count.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country": {
                    "description": "Filter stats by country (e.g., 'United States', 'Germany')",
                    "type": "string"
                  },
                  "record": {
                    "description": "What to get stats for: 'jobs' or 'companies' (default: jobs)",
                    "enum": [
                      "jobs",
                      "companies"
                    ],
                    "type": "string"
                  },
                  "type": {
                    "description": "Type of breakdown: 'skills', 'categories', 'countries', or 'industries' (default: skills). 'industries' only works with record='companies'.",
                    "enum": [
                      "skills",
                      "categories",
                      "countries",
                      "industries"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get remote work statistics"
              }
            },
            {
              "name": "get_salary_data",
              "title": "Get salary data",
              "description": "Get salary benchmarks for remote jobs by job title, with optional seniority and country filters. Returns min, max, and median salary in USD.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country": {
                    "description": "Country slug to filter by (e.g., 'united-states', 'united-kingdom', 'germany')",
                    "type": "string"
                  },
                  "job_title": {
                    "description": "Job title to look up salary for (e.g., 'software-engineer', 'product-manager', 'data-scientist'). Use hyphens instead of spaces.",
                    "type": "string"
                  },
                  "seniority": {
                    "description": "Seniority level (e.g., 'senior', 'junior', 'lead', 'mid')",
                    "type": "string"
                  }
                },
                "required": [
                  "job_title"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get salary data"
              }
            },
            {
              "name": "get_correct_country_name",
              "title": "Resolve country name",
              "description": "Resolve a country name to the correct format accepted by Himalayas filters. Useful for fuzzy matching user input.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country_string": {
                    "description": "The country name to get the correct name for",
                    "type": "string"
                  }
                },
                "required": [
                  "country_string"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Resolve country name"
              }
            },
            {
              "name": "submit_feedback",
              "title": "Send feedback to Himalayas",
              "description": "Send a problem report about Himalayas to its engineering team: a missing capability (filter, field, tool), unclear or wrong documentation, a surprising response, an unhelpful error, a bug, a blocked page or action, or impractical performance. Describe the goal, what got in the way and, if known, a suggested fix. Fill `agent` with the client's name and model. Reports must not contain credentials, personal data or the user's private content.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "additionalProperties": false,
                "properties": {
                  "agent": {
                    "additionalProperties": false,
                    "description": "Who is reporting: name (agent or product) and model",
                    "properties": {
                      "framework": {
                        "maxLength": 256,
                        "type": "string"
                      },
                      "model": {
                        "maxLength": 256,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 256,
                        "type": "string"
                      },
                      "version": {
                        "maxLength": 256,
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "endpoint": {
                    "description": "The Himalayas tool involved, e.g. search_jobs",
                    "maxLength": 512,
                    "type": "string"
                  },
                  "evidence": {
                    "additionalProperties": false,
                    "description": "Sanitized details of the failing call, with no credentials or personal data",
                    "properties": {
                      "request": {
                        "additionalProperties": {},
                        "propertyNames": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "response_excerpt": {
                        "maxLength": 4000,
                        "type": "string"
                      },
                      "status_code": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      }
                    },
                    "type": "object"
                  },
                  "expected": {
                    "description": "What you expected to find or happen",
                    "maxLength": 2000,
                    "type": "string"
                  },
                  "goal": {
                    "description": "What you or your user were trying to accomplish, in plain language",
                    "maxLength": 1000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "message": {
                    "description": "What prevented or complicated the task",
                    "maxLength": 4000,
                    "minLength": 1,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {},
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "outcome": {
                    "description": "blocked = task failed, degraded = completed worse or slower, completed = suggestion only",
                    "enum": [
                      "blocked",
                      "degraded",
                      "completed"
                    ],
                    "type": "string"
                  },
                  "request_id": {
                    "maxLength": 256,
                    "type": "string"
                  },
                  "session_id": {
                    "description": "Reuse the same value for every report in one task",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "suggestion": {
                    "description": "A concrete change that would have let you succeed",
                    "maxLength": 2000,
                    "type": "string"
                  },
                  "type": {
                    "description": "The kind of problem",
                    "enum": [
                      "missing_capability",
                      "bug",
                      "unclear_documentation",
                      "unexpected_response",
                      "unhelpful_error",
                      "performance",
                      "other"
                    ],
                    "type": "string"
                  },
                  "workaround": {
                    "description": "Whether you found a workaround",
                    "type": "boolean"
                  },
                  "workaround_description": {
                    "description": "The workaround, if any",
                    "maxLength": 2000,
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "goal",
                  "message"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Send feedback to Himalayas"
              }
            },
            {
              "name": "get_my_profile",
              "title": "Get my profile",
              "description": "Get your Himalayas profile information. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get my profile"
              }
            },
            {
              "name": "save_job",
              "title": "Save job to tracker",
              "description": "Save a job to your application tracker. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "app_link": {
                    "description": "Application link URL",
                    "type": "string"
                  },
                  "base_salary": {
                    "description": "Base salary",
                    "type": "number"
                  },
                  "company_name": {
                    "description": "Company name",
                    "type": "string"
                  },
                  "currency": {
                    "description": "Salary currency (e.g., 'USD')",
                    "type": "string"
                  },
                  "excitement": {
                    "description": "Excitement level from 0-5",
                    "maximum": 5,
                    "minimum": 0,
                    "type": "number"
                  },
                  "himalayas_link": {
                    "description": "Himalayas job listing URL",
                    "type": "string"
                  },
                  "max_salary": {
                    "description": "Maximum salary",
                    "type": "number"
                  },
                  "notes": {
                    "description": "Personal notes about this job",
                    "type": "string"
                  },
                  "status": {
                    "description": "Application status (default: saved)",
                    "enum": [
                      "seen",
                      "saved",
                      "applied",
                      "interviewing",
                      "negotiation",
                      "hired",
                      "archived"
                    ],
                    "type": "string"
                  },
                  "title": {
                    "description": "Job title",
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "company_name"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Save job to tracker"
              }
            },
            {
              "name": "get_saved_jobs",
              "title": "Get saved jobs",
              "description": "List every job in the user's Himalayas job application tracker with its status (saved, applied, interviewing, negotiation, hired, archived), outcome, salary, notes and links, for tracking applications and seeing where each one stands. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get saved jobs"
              }
            },
            {
              "name": "update_job_status",
              "title": "Update job status",
              "description": "Update a saved job's status, outcome or details. Use status for where the application is now (interviewing, negotiation for an offer, hired). Use outcome for an applied job that ended without progressing: rejected, no_response (no reply after 45+ days), withdrawn, or didnt_apply; status stays as it is. With didnt_apply, give a reason: job_closed reports the listing as expired, and the rest improve the user's future matches. Add detail for anything worth knowing (what the page said, a hidden requirement). Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "detail": {
                    "description": "Anything worth knowing about the outcome, in a sentence or two. No personal data.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "excitement": {
                    "description": "Excitement level from 0-5",
                    "maximum": 5,
                    "minimum": 0,
                    "type": "number"
                  },
                  "id": {
                    "description": "Kanban item ID",
                    "type": "number"
                  },
                  "notes": {
                    "description": "Updated notes",
                    "type": "string"
                  },
                  "outcome": {
                    "description": "What happened after applying, as reported by the user. \"clear\" removes a recorded outcome.",
                    "enum": [
                      "rejected",
                      "no_response",
                      "withdrawn",
                      "didnt_apply",
                      "clear"
                    ],
                    "type": "string"
                  },
                  "reason": {
                    "description": "Why the user didn't apply (only with outcome didnt_apply)",
                    "enum": [
                      "job_closed",
                      "needs_account",
                      "location_or_visa_restricted",
                      "pay_too_low",
                      "wrong_timezone",
                      "not_really_remote",
                      "wrong_seniority",
                      "wrong_role",
                      "not_interested",
                      "other"
                    ],
                    "type": "string"
                  },
                  "status": {
                    "description": "New application status",
                    "enum": [
                      "seen",
                      "saved",
                      "applied",
                      "interviewing",
                      "negotiation",
                      "hired",
                      "archived"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update job status"
              }
            },
            {
              "name": "remove_saved_job",
              "title": "Remove saved job",
              "description": "Remove a job from your application tracker. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "description": "Kanban item ID to remove",
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Remove saved job"
              }
            },
            {
              "name": "update_profile",
              "title": "Update profile",
              "description": "Update your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "behance": {
                    "description": "Behance profile URL",
                    "type": "string"
                  },
                  "bio": {
                    "description": "Short bio",
                    "type": "string"
                  },
                  "career_base_salary": {
                    "description": "Desired minimum salary",
                    "type": "number"
                  },
                  "career_company_size": {
                    "additionalProperties": {
                      "enum": [
                        "not_interested",
                        "okay",
                        "preferred"
                      ],
                      "type": "string"
                    },
                    "description": "Company size preferences, e.g. {'1-10': 'not_interested', '51-200': 'preferred'}. Replaces all current size preferences, so include every size the user cares about.",
                    "propertyNames": {
                      "enum": [
                        "1-10",
                        "11-50",
                        "51-200",
                        "201-500",
                        "501-1000",
                        "1001-5000",
                        "5000+"
                      ],
                      "type": "string"
                    },
                    "required": [
                      "1-10",
                      "11-50",
                      "51-200",
                      "201-500",
                      "501-1000",
                      "1001-5000",
                      "5000+"
                    ],
                    "type": "object"
                  },
                  "career_compensation": {
                    "description": "How the user feels about equity as part of pay",
                    "enum": [
                      "no_equity",
                      "open_to_compensation",
                      "equity_important"
                    ],
                    "type": "string"
                  },
                  "career_description": {
                    "description": "Description of what you're looking for",
                    "type": "string"
                  },
                  "career_interested_role_list": {
                    "description": "Other roles the user is interested in. Replaces the current list.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "career_max_salary": {
                    "description": "Desired maximum salary",
                    "type": "number"
                  },
                  "career_primary_role": {
                    "description": "Primary role (e.g., 'software-engineer')",
                    "type": "string"
                  },
                  "career_salary_country": {
                    "description": "Currency of the desired salary",
                    "enum": [
                      "USD",
                      "AUD",
                      "EUR",
                      "JPY",
                      "GBP",
                      "CAD",
                      "CHF",
                      "CNY",
                      "HKD",
                      "NZD",
                      "SGD",
                      "SEK",
                      "KRW",
                      "NOK",
                      "INR",
                      "MXN",
                      "TWD",
                      "ZAR",
                      "BRL",
                      "IDR",
                      "PHP",
                      "THB",
                      "CLP",
                      "CZK",
                      "DKK",
                      "HUF",
                      "ILS",
                      "TRY",
                      "PLN"
                    ],
                    "type": "string"
                  },
                  "career_search_status": {
                    "description": "Career search status (e.g., 'actively_searching', 'open_to_roles', 'closed_to_roles')",
                    "enum": [
                      "actively_searching",
                      "open_to_roles",
                      "closed_to_roles"
                    ],
                    "type": "string"
                  },
                  "career_skill_list": {
                    "description": "Skills for job matching (e.g. ['Product design', 'User research']). Replaces the current list.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "career_working_permits": {
                    "description": "Countries the user can legally work in, as country names (e.g. ['United States']). Replaces the current list.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "contact_email": {
                    "description": "Email shown to employers, if different from the login email",
                    "type": "string"
                  },
                  "dribbble": {
                    "description": "Dribbble profile URL",
                    "type": "string"
                  },
                  "email_visible": {
                    "description": "Show the contact email on the profile",
                    "type": "boolean"
                  },
                  "first_name": {
                    "description": "First name, as shown on the profile and tailored resumes",
                    "type": "string"
                  },
                  "github": {
                    "description": "GitHub profile URL",
                    "type": "string"
                  },
                  "intro": {
                    "description": "Introduction/headline",
                    "type": "string"
                  },
                  "last_name": {
                    "description": "Last name",
                    "type": "string"
                  },
                  "linkedin": {
                    "description": "LinkedIn profile URL",
                    "type": "string"
                  },
                  "location": {
                    "description": "Country name (e.g. 'United States', 'Australia'). Cities and 'City, Country' strings are not accepted.",
                    "type": "string"
                  },
                  "portfolio": {
                    "description": "Portfolio URL",
                    "type": "string"
                  },
                  "seniority": {
                    "description": "Seniority levels the user wants. Replaces the current list.",
                    "items": {
                      "enum": [
                        "Entry-level",
                        "Mid-level",
                        "Senior",
                        "Manager",
                        "Director",
                        "Executive"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "twitter": {
                    "description": "Twitter/X profile URL",
                    "type": "string"
                  },
                  "username": {
                    "description": "New username: 3 to 30 letters, numbers, dashes or underscores. The profile moves to himalayas.app/@username and the old link stops working.",
                    "type": "string"
                  },
                  "visibility": {
                    "description": "public_profile: employers can find and view it. unsearchable_profile: viewable by link but not in search. private_profile: only the user sees it.",
                    "enum": [
                      "public_profile",
                      "unsearchable_profile",
                      "private_profile"
                    ],
                    "type": "string"
                  },
                  "website": {
                    "description": "Personal website URL",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update profile"
              }
            },
            {
              "name": "add_experience",
              "title": "Add work experience",
              "description": "Add a work experience to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_name": {
                    "description": "Company name",
                    "type": "string"
                  },
                  "current_job": {
                    "description": "Whether this is your current job",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "Description of your role and responsibilities",
                    "type": "string"
                  },
                  "employment_type": {
                    "description": "Employment type",
                    "enum": [
                      "Full Time",
                      "Part Time",
                      "Self Employed",
                      "Freelance",
                      "Contractor",
                      "Temporary",
                      "Intern",
                      "Apprenticeship",
                      "Volunteer",
                      "Other"
                    ],
                    "type": "string"
                  },
                  "end_date": {
                    "description": "End date (YYYY-MM-DD format, omit for current role)",
                    "type": "string"
                  },
                  "experience_skill_list": {
                    "description": "Comma-separated skills used in this role",
                    "type": "string"
                  },
                  "location": {
                    "description": "Country name for this role (e.g. 'United States', 'Germany'). Cities are not accepted.",
                    "type": "string"
                  },
                  "start_date": {
                    "description": "Start date (YYYY-MM-DD format)",
                    "type": "string"
                  },
                  "title": {
                    "description": "Job title",
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "company_name",
                  "employment_type",
                  "description"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Add work experience"
              }
            },
            {
              "name": "add_education",
              "title": "Add education",
              "description": "Add an education entry to your Himalayas profile. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "activities": {
                    "description": "Activities and societies",
                    "type": "string"
                  },
                  "current": {
                    "description": "Whether you are currently enrolled",
                    "type": "boolean"
                  },
                  "degree": {
                    "description": "Degree (e.g., 'Bachelor of Science')",
                    "type": "string"
                  },
                  "description": {
                    "description": "Description or achievements",
                    "type": "string"
                  },
                  "end_year": {
                    "description": "End year (omit if currently enrolled)",
                    "type": "number"
                  },
                  "field": {
                    "description": "Field of study (e.g., 'Computer Science')",
                    "type": "string"
                  },
                  "grade": {
                    "description": "Grade or GPA",
                    "type": "string"
                  },
                  "school": {
                    "description": "School or institution name",
                    "type": "string"
                  },
                  "start_year": {
                    "description": "Start year",
                    "type": "number"
                  }
                },
                "required": [
                  "school"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Add education"
              }
            },
            {
              "name": "update_experience",
              "title": "Update work experience",
              "description": "Edit a work experience on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_name": {
                    "description": "Company name",
                    "type": "string"
                  },
                  "current_job": {
                    "description": "Whether this is the current job",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "Description of the role",
                    "type": "string"
                  },
                  "employment_type": {
                    "enum": [
                      "Full Time",
                      "Part Time",
                      "Self Employed",
                      "Freelance",
                      "Contractor",
                      "Temporary",
                      "Intern",
                      "Apprenticeship",
                      "Volunteer",
                      "Other"
                    ],
                    "type": "string"
                  },
                  "end_date": {
                    "description": "End date (YYYY-MM-DD)",
                    "type": "string"
                  },
                  "experience_skill_list": {
                    "description": "Skills used in this role. Replaces the current list.",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "id": {
                    "description": "Experience id",
                    "type": "number"
                  },
                  "location": {
                    "description": "Country name for this role. Cities are not accepted.",
                    "type": "string"
                  },
                  "sort_order": {
                    "description": "Position on the profile, 0 first",
                    "type": "number"
                  },
                  "start_date": {
                    "description": "Start date (YYYY-MM-DD)",
                    "type": "string"
                  },
                  "title": {
                    "description": "Job title",
                    "type": "string"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update work experience"
              }
            },
            {
              "name": "delete_experience",
              "title": "Delete work experience",
              "description": "Delete a work experience from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "description": "Experience id, from get_my_profile",
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete work experience"
              }
            },
            {
              "name": "update_education",
              "title": "Update education",
              "description": "Edit an education entry on your Himalayas profile by id (get_my_profile lists the ids). Only the fields you pass change. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "activities": {
                    "type": "string"
                  },
                  "current": {
                    "description": "Currently enrolled",
                    "type": "boolean"
                  },
                  "degree": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "end_year": {
                    "type": "number"
                  },
                  "field": {
                    "description": "Field of study",
                    "type": "string"
                  },
                  "grade": {
                    "type": "string"
                  },
                  "id": {
                    "description": "Education id",
                    "type": "number"
                  },
                  "school": {
                    "type": "string"
                  },
                  "sort_order": {
                    "description": "Position on the profile, 0 first",
                    "type": "number"
                  },
                  "start_year": {
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update education"
              }
            },
            {
              "name": "delete_education",
              "title": "Delete education",
              "description": "Delete an education entry from your Himalayas profile by id. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "description": "Education id, from get_my_profile",
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete education"
              }
            },
            {
              "name": "update_email_preferences",
              "title": "Update email preferences",
              "description": "Turn Himalayas emails on or off for the user. Only the settings you pass change. Daily job-match emails are a Plus feature; free accounts get weekly. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "application_followups": {
                    "description": "'Did you hear back?' emails about applications",
                    "type": "boolean"
                  },
                  "job_match_frequency": {
                    "description": "How often job-match emails come (daily needs Plus)",
                    "enum": [
                      "daily",
                      "weekly"
                    ],
                    "type": "string"
                  },
                  "job_matches": {
                    "description": "Emails with new jobs that match the profile",
                    "type": "boolean"
                  },
                  "job_post_reminders": {
                    "description": "Reminders about jobs they posted (employers)",
                    "type": "boolean"
                  },
                  "job_post_updates": {
                    "description": "Updates about jobs they posted (employers)",
                    "type": "boolean"
                  },
                  "job_reminders": {
                    "description": "Reminders about saved jobs",
                    "type": "boolean"
                  },
                  "marketing_emails": {
                    "description": "Himalayas news and offers",
                    "type": "boolean"
                  },
                  "message_notifications": {
                    "description": "Emails when an employer messages them",
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update email preferences"
              }
            },
            {
              "name": "update_account",
              "title": "Update account time zone",
              "description": "Change the user's account time zone (used for email timing). Name is on update_profile; email address and password can only be changed on himalayas.app. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "time_zone": {
                    "description": "Time zone name, e.g. 'Pacific Time (US \u0026 Canada)' or 'London'",
                    "type": "string"
                  }
                },
                "required": [
                  "time_zone"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update account time zone"
              }
            },
            {
              "name": "list_documents",
              "title": "List resumes and cover letters",
              "description": "List the user's tailored resumes and cover letters on Himalayas, newest first, with ids and edit links. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "type": {
                    "description": "Only resumes or only cover letters (default: both)",
                    "enum": [
                      "resume",
                      "cover_letter"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List resumes and cover letters"
              }
            },
            {
              "name": "get_document",
              "title": "Get resume or cover letter",
              "description": "Read one of the user's tailored resumes or cover letters by id (from list_documents). Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "description": "Document id or slug"
                  },
                  "type": {
                    "enum": [
                      "resume",
                      "cover_letter"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get resume or cover letter"
              }
            },
            {
              "name": "update_document",
              "title": "Update resume or cover letter",
              "description": "Rename a tailored resume or cover letter, or replace a cover letter's text. Resume content is edited in the website's resume editor (link from list_documents). Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "content": {
                    "description": "Cover letters only: the full new text, paragraphs separated by blank lines",
                    "type": "string"
                  },
                  "id": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "description": "Document id or slug"
                  },
                  "title": {
                    "description": "New title",
                    "type": "string"
                  },
                  "type": {
                    "enum": [
                      "resume",
                      "cover_letter"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update resume or cover letter"
              }
            },
            {
              "name": "delete_document",
              "title": "Delete resume or cover letter",
              "description": "Delete one of the user's tailored resumes or cover letters. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ],
                    "description": "Document id or slug"
                  },
                  "type": {
                    "enum": [
                      "resume",
                      "cover_letter"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete resume or cover letter"
              }
            },
            {
              "name": "import_profile",
              "title": "Import profile from LinkedIn or resume",
              "description": "Fill in the user's Himalayas profile from their LinkedIn profile URL or their resume text. Runs in the background for a few minutes; get_my_profile shows the result. append_only adds what's missing and keeps what's there; replace_all overwrites the profile, so ask the user first. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "linkedin_url": {
                    "description": "Their LinkedIn profile URL, e.g. https://www.linkedin.com/in/name",
                    "type": "string"
                  },
                  "mode": {
                    "description": "Default append_only",
                    "enum": [
                      "append_only",
                      "replace_all"
                    ],
                    "type": "string"
                  },
                  "resume_text": {
                    "description": "The full text of their resume",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Import profile from LinkedIn or resume"
              }
            },
            {
              "name": "update_profile_photo",
              "title": "Update profile photo",
              "description": "Set the user's profile photo (avatar) or profile cover photo from an image URL (https, JPEG/PNG/WebP/GIF, up to 5 MB). Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "image_url": {
                    "description": "https URL of the image",
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "avatar",
                      "cover_photo"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "kind",
                  "image_url"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update profile photo"
              }
            },
            {
              "name": "get_billing_portal_link",
              "title": "Get billing portal link",
              "description": "Get a link to the user's Stripe billing page, where they can update their card, see invoices, or change or cancel Himalayas Plus themselves. Only for users who have paid before. Never act on billing for them. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Get billing portal link"
              }
            },
            {
              "name": "list_interviews",
              "title": "List interview practice",
              "description": "List the user's interview practice on Himalayas: each job they practised for, when, and the link to practise again, plus the voice minutes and credits they have left. get_interview_results shows the scores. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List interview practice"
              }
            },
            {
              "name": "get_interview_results",
              "title": "Get interview practice results",
              "description": "Get the scores and feedback from the user's interview practice for one job: each answer's rating and feedback, and for voice sessions the overall score, what went well, what to improve, next steps and length. Pass the interview id from list_interviews, or the job's company_slug and job_slug. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "company_slug": {
                    "description": "Company slug of the job",
                    "type": "string"
                  },
                  "id": {
                    "description": "Interview id from list_interviews",
                    "type": "number"
                  },
                  "job_slug": {
                    "description": "Job slug",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get interview practice results"
              }
            },
            {
              "name": "get_interview_practice_link",
              "title": "Get interview practice link",
              "description": "Get the Himalayas page where the user practises interviewing for a specific job: a Himalayas job (company_slug and job_slug) or a job elsewhere (application_link). On that page the user has a live spoken mock interview with an AI interviewer playing the company's hiring manager, with questions built from the job and their profile, then gets a score out of 100 with what went well and what to improve (sessions of 90 seconds or more are scored). Sessions and scores are saved to the account, so the user can see how they improve over time (list_interviews, get_interview_results). Free accounts include one text mock interview; spoken interviews are part of Himalayas Plus (30 minutes a month). Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "application_link": {
                    "description": "https link to a job posted somewhere else",
                    "type": "string"
                  },
                  "company_slug": {
                    "description": "Company slug of a Himalayas job",
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug of a Himalayas job",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get interview practice link"
              }
            },
            {
              "name": "get_verification_link",
              "title": "Get ID verification link",
              "description": "Get the next step for verifying the user's identity and work permits on Himalayas (the verified badge): whether they are verified, and otherwise the Stripe Identity link (when verification is included, as on Plus or Max) or a US$5 checkout link. Use it when the user wants to get verified: when verification is included, this starts it (a Plus or Max member's included verification is then used for 30 days). A passport or national ID verifies identity and the work permit for that country; other IDs verify identity only. get_my_profile shows whether they are verified. The user opens each link and does the verification or payment on Stripe themselves. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Get ID verification link"
              }
            },
            {
              "name": "list_saved_answers",
              "title": "List saved application answers",
              "description": "List the answers the user saved to job application questions on Himalayas (for example work authorisation or notice period), with ids. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List saved application answers"
              }
            },
            {
              "name": "update_saved_answer",
              "title": "Update saved application answer",
              "description": "Change the text of one of the user's saved application answers, by id from list_saved_answers. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "answer": {
                    "description": "The full new answer",
                    "type": "string"
                  },
                  "id": {
                    "description": "Saved answer id from list_saved_answers",
                    "type": "number"
                  }
                },
                "required": [
                  "id",
                  "answer"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update saved application answer"
              }
            },
            {
              "name": "delete_saved_answer",
              "title": "Delete saved application answer",
              "description": "Delete one of the user's saved application answers. This can't be undone: confirm with the user first. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "description": "Saved answer id from list_saved_answers",
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete saved application answer"
              }
            },
            {
              "name": "list_notifications",
              "title": "List notifications",
              "description": "List the user's newest Himalayas notifications (up to 20), such as finished headshots, profile imports and community replies, with ids and whether each is read. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List notifications"
              }
            },
            {
              "name": "mark_notifications_read",
              "title": "Mark notifications read",
              "description": "Mark one of the user's Himalayas notifications as read by id, or all of them with all: true. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "all": {
                    "description": "true marks every notification as read",
                    "type": "boolean"
                  },
                  "id": {
                    "description": "Notification id from list_notifications",
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Mark notifications read"
              }
            },
            {
              "name": "list_coach_chats",
              "title": "List career coach chats",
              "description": "List the user's conversations with the Himalayas career coach, newest first, with titles, dates and links. get_coach_chat reads one. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List career coach chats"
              }
            },
            {
              "name": "get_coach_chat",
              "title": "Get career coach chat",
              "description": "Read one of the user's career coach conversations by slug from list_coach_chats. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "slug": {
                    "description": "Chat slug from list_coach_chats",
                    "type": "string"
                  }
                },
                "required": [
                  "slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get career coach chat"
              }
            },
            {
              "name": "list_headshots",
              "title": "List headshots",
              "description": "List the AI headshots the user has made on Himalayas, newest first: each session's finished images with ids and URLs, and a link to see them. use_headshot_as_profile_photo sets one as the profile photo. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List headshots"
              }
            },
            {
              "name": "use_headshot_as_profile_photo",
              "title": "Use headshot as profile photo",
              "description": "Set one of the user's finished AI headshots as their Himalayas profile photo, by session id and image id from list_headshots. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "image_id": {
                    "description": "Image id from list_headshots",
                    "type": "number"
                  },
                  "session_id": {
                    "description": "Session id from list_headshots",
                    "type": "number"
                  }
                },
                "required": [
                  "session_id",
                  "image_id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Use headshot as profile photo"
              }
            },
            {
              "name": "get_headshots_link",
              "title": "Get headshots link",
              "description": "Get the Himalayas page where the user makes AI headshots from a few photos of themselves. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get headshots link"
              }
            },
            {
              "name": "update_tech_stack",
              "title": "Update profile tech stack",
              "description": "Set the tools and technologies on your Himalayas profile, replacing the current list. Names are matched to Himalayas' catalogue; any it doesn't have yet are requested for review and left off for now. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "stacks": {
                    "description": "Array of technology names (e.g., ['React', 'TypeScript', 'Node.js'])",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "stacks"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update profile tech stack"
              }
            },
            {
              "name": "search_talent",
              "title": "Search talent",
              "description": "Search remote candidates and talent on Himalayas to hire or recruit, such as developers, designers or marketers, by skill, job title or keyword and country. Each result has the candidate's current role, salary expectation, job search status and the profile link for get_talent_profile. Results here have no paid placement: they are ordered by relevance or recency only, and Himalayas Plus or verified candidates rank like everyone else. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "country": {
                    "description": "Filter by country (e.g., 'United States', 'Germany')",
                    "type": "string"
                  },
                  "keyword": {
                    "description": "Search keyword (e.g., 'react developer')",
                    "type": "string"
                  },
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  },
                  "sort": {
                    "description": "Sort order (default: relevant)",
                    "enum": [
                      "relevant",
                      "recent"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Search talent"
              }
            },
            {
              "name": "get_talent_profile",
              "title": "Get talent profile",
              "description": "Get full details for a candidate including bio, all experiences, education, tech stack, social links, and more. Use the talent_slug from search_talent results. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "talent_slug": {
                    "description": "Talent slug from search_talent (e.g. 'john-doe'). Also accepts '@john-doe' or a himalayas.app/@slug profile URL.",
                    "type": "string"
                  }
                },
                "required": [
                  "talent_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get talent profile"
              }
            },
            {
              "name": "get_company_profile",
              "title": "Get company profile",
              "description": "Get your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get company profile"
              }
            },
            {
              "name": "update_company_profile",
              "title": "Update company profile",
              "description": "Update your company's profile on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "about": {
                    "description": "Company description (HTML or plain text)",
                    "type": "string"
                  },
                  "ceo": {
                    "description": "CEO name",
                    "type": "string"
                  },
                  "facebook": {
                    "description": "Facebook URL",
                    "type": "string"
                  },
                  "instagram": {
                    "description": "Instagram URL",
                    "type": "string"
                  },
                  "linkedin": {
                    "description": "LinkedIn URL",
                    "type": "string"
                  },
                  "location_list": {
                    "description": "Comma-separated list of locations (e.g., 'San Francisco, New York')",
                    "type": "string"
                  },
                  "num_employees_range": {
                    "description": "Number of employees range",
                    "enum": [
                      "1-10",
                      "11-50",
                      "51-200",
                      "201-500",
                      "501-1000",
                      "1001-5000",
                      "5000+"
                    ],
                    "type": "string"
                  },
                  "summary": {
                    "description": "Short company summary",
                    "type": "string"
                  },
                  "twitter": {
                    "description": "Twitter URL",
                    "type": "string"
                  },
                  "year_founded": {
                    "description": "Year the company was founded",
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update company profile"
              }
            },
            {
              "name": "get_company_perks",
              "title": "Get company perks",
              "description": "Get your company's perks/benefits on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get company perks"
              }
            },
            {
              "name": "add_company_perk",
              "title": "Add company perk",
              "description": "Add a perk/benefit to your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "category": {
                    "description": "Perk category",
                    "enum": [
                      "Healthcare benefits",
                      "Retirement benefits",
                      "Paid parental leave",
                      "Equity benefits",
                      "Location independent salary",
                      "Profit sharing",
                      "4-day workweeks",
                      "Generous vacation",
                      "Paid vacation",
                      "Sabbaticals",
                      "Unlimited time off",
                      "Company meals",
                      "Wellness benefits",
                      "Home office budget",
                      "Co-working space budget",
                      "Commuter benefits",
                      "Pet-friendly office",
                      "Learning and development budget",
                      "Company events",
                      "Volunteer opportunities",
                      "Open source",
                      "Company credit card",
                      "Life insurance",
                      "Employee assistance program (EAP)",
                      "Flexible working hours",
                      "Disability insurance",
                      "Fertility benefits",
                      "Company retreats",
                      "Get paid in crypto",
                      "Miscellaneous"
                    ],
                    "type": "string"
                  },
                  "description": {
                    "description": "Perk description (15-450 characters)",
                    "maxLength": 450,
                    "minLength": 15,
                    "type": "string"
                  },
                  "title": {
                    "description": "Perk title (3-50 characters)",
                    "maxLength": 50,
                    "minLength": 3,
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "category",
                  "description"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": false,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Add company perk"
              }
            },
            {
              "name": "remove_company_perk",
              "title": "Remove company perk",
              "description": "Remove a perk/benefit from your company on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "id": {
                    "description": "Perk ID to remove (use get_company_perks to find IDs)",
                    "type": "number"
                  }
                },
                "required": [
                  "id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Remove company perk"
              }
            },
            {
              "name": "update_company_tech_stack",
              "title": "Update company tech stack",
              "description": "Update your company's tech stack on Himalayas. Pass technology names (e.g., 'React', 'Python') and they'll be matched to the Himalayas stack database. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "stacks": {
                    "description": "Array of technology names (e.g., ['React', 'TypeScript', 'Python', 'AWS'])",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                },
                "required": [
                  "stacks"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update company tech stack"
              }
            },
            {
              "name": "list_company_jobs",
              "title": "List company jobs",
              "description": "List your company's job postings on Himalayas. Shows status, views, clicks, and expiry. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "page": {
                    "description": "Page number for pagination (starts at 1)",
                    "maximum": 9007199254740991,
                    "minimum": 1,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List company jobs"
              }
            },
            {
              "name": "show_company_job",
              "title": "Get company job",
              "description": "Get full details of one of your company's job postings on Himalayas. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "job_slug": {
                    "description": "Job slug (from list_company_jobs)",
                    "type": "string"
                  }
                },
                "required": [
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get company job"
              }
            },
            {
              "name": "create_company_job",
              "title": "Create company job",
              "description": "Post a remote job on Himalayas for the user's company, to hire remote staff. Posting a job is free; it needs admin approval before going live, and can also be saved as a draft. The optional extras are paid: sticky ($299) and newsletter ($99). With any extras, the reply is a Stripe checkout link the user opens and pays themselves, and the job doesn't go live until that payment completes; without extras nothing is charged. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "app_link_or_email": {
                    "description": "Application URL or email address — backend auto-detects via @ check",
                    "type": "string"
                  },
                  "base_salary": {
                    "description": "Minimum salary",
                    "type": "number"
                  },
                  "category_list": {
                    "description": "Comma-separated job categories",
                    "type": "string"
                  },
                  "description": {
                    "description": "Job description (350+ characters, can include HTML)",
                    "minLength": 350,
                    "type": "string"
                  },
                  "draft": {
                    "description": "Save as draft instead of submitting for approval",
                    "type": "boolean"
                  },
                  "employment_type": {
                    "description": "Employment type",
                    "enum": [
                      "Full Time",
                      "Part Time",
                      "Contractor",
                      "Temporary",
                      "Intern",
                      "Volunteer",
                      "Other"
                    ],
                    "type": "string"
                  },
                  "extras": {
                    "description": "Paid extras: 'sticky' ($299 pin to top for 30 days), 'newsletter' ($99 feature in weekly email for 30 days)",
                    "items": {
                      "enum": [
                        "sticky",
                        "newsletter"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "max_salary": {
                    "description": "Maximum salary",
                    "type": "number"
                  },
                  "salary_country": {
                    "description": "Salary currency code (default: USD)",
                    "type": "string"
                  },
                  "screening_questions": {
                    "description": "Screening questions for applicants",
                    "items": {
                      "properties": {
                        "correct_option": {
                          "description": "Index of correct option (for mpc type)",
                          "type": "number"
                        },
                        "expected_answer": {
                          "description": "Expected answer (for boolean: 'true'/'false')",
                          "type": "string"
                        },
                        "options": {
                          "description": "Answer options (for mpc type)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "question": {
                          "description": "Question text",
                          "type": "string"
                        },
                        "question_type": {
                          "description": "Question type",
                          "enum": [
                            "boolean",
                            "text",
                            "mpc"
                          ],
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether answer is required",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "question",
                        "question_type"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "seniority": {
                    "description": "Seniority levels",
                    "items": {
                      "enum": [
                        "Entry-level",
                        "Mid-level",
                        "Senior",
                        "Manager",
                        "Director",
                        "Executive"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "skill_list": {
                    "description": "Comma-separated skills",
                    "type": "string"
                  },
                  "title": {
                    "description": "Job title (5-80 characters)",
                    "maxLength": 80,
                    "minLength": 5,
                    "type": "string"
                  },
                  "valid_through": {
                    "description": "Expiration date (ISO format, defaults to 30 days from now)",
                    "type": "string"
                  }
                },
                "required": [
                  "title",
                  "description",
                  "employment_type",
                  "seniority",
                  "app_link_or_email"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Create company job"
              }
            },
            {
              "name": "update_company_job",
              "title": "Update company job",
              "description": "Update an existing job posting on Himalayas. Only provide fields you want to change. For screening_questions, provide the full set — questions not included will be removed. Editing is free. If the job has paid extras (sticky or newsletter, chosen earlier) that aren't paid yet, the reply is a Stripe checkout link for them, which the user opens and pays themselves; nothing is charged otherwise. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "app_link_or_email": {
                    "description": "Application URL or email address",
                    "type": "string"
                  },
                  "base_salary": {
                    "description": "Minimum salary",
                    "type": "number"
                  },
                  "category_list": {
                    "description": "Comma-separated job categories",
                    "type": "string"
                  },
                  "description": {
                    "description": "Job description (350+ characters, can include HTML)",
                    "minLength": 350,
                    "type": "string"
                  },
                  "draft": {
                    "description": "Save as draft instead of submitting for approval",
                    "type": "boolean"
                  },
                  "employment_type": {
                    "description": "Employment type",
                    "enum": [
                      "Full Time",
                      "Part Time",
                      "Contractor",
                      "Temporary",
                      "Intern",
                      "Volunteer",
                      "Other"
                    ],
                    "type": "string"
                  },
                  "job_slug": {
                    "description": "Job slug to update",
                    "type": "string"
                  },
                  "max_salary": {
                    "description": "Maximum salary",
                    "type": "number"
                  },
                  "salary_country": {
                    "description": "Salary currency code",
                    "type": "string"
                  },
                  "screening_questions": {
                    "description": "Screening questions — provide full set, questions not included will be removed",
                    "items": {
                      "properties": {
                        "correct_option": {
                          "description": "Index of correct option",
                          "type": "number"
                        },
                        "expected_answer": {
                          "description": "Expected answer",
                          "type": "string"
                        },
                        "id": {
                          "description": "Existing question ID (omit for new questions)",
                          "type": "number"
                        },
                        "options": {
                          "description": "Answer options (for mpc type)",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "question": {
                          "description": "Question text",
                          "type": "string"
                        },
                        "question_type": {
                          "description": "Question type",
                          "enum": [
                            "boolean",
                            "text",
                            "mpc"
                          ],
                          "type": "string"
                        },
                        "required": {
                          "description": "Whether answer is required",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "question",
                        "question_type"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "seniority": {
                    "description": "Seniority levels",
                    "items": {
                      "enum": [
                        "Entry-level",
                        "Mid-level",
                        "Senior",
                        "Manager",
                        "Director",
                        "Executive"
                      ],
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "skill_list": {
                    "description": "Comma-separated skills",
                    "type": "string"
                  },
                  "title": {
                    "description": "Job title (5-80 characters)",
                    "maxLength": 80,
                    "minLength": 5,
                    "type": "string"
                  },
                  "valid_through": {
                    "description": "Expiration date (ISO format)",
                    "type": "string"
                  }
                },
                "required": [
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Update company job"
              }
            },
            {
              "name": "delete_company_job",
              "title": "Delete company job",
              "description": "Delete a job posting from your company on Himalayas. This action cannot be undone. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "job_slug": {
                    "description": "Job slug to delete",
                    "type": "string"
                  }
                },
                "required": [
                  "job_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete company job"
              }
            },
            {
              "name": "purchase_job_extras",
              "title": "Purchase job extras",
              "description": "Purchase paid extras for an existing job posting: sticky ($299), newsletter ($99). Returns a Stripe checkout URL. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "extras": {
                    "description": "Extras to purchase: 'sticky' ($299 pin to top), 'newsletter' ($99 weekly email feature)",
                    "items": {
                      "enum": [
                        "sticky",
                        "newsletter"
                      ],
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  },
                  "job_slug": {
                    "description": "Job slug to add extras to",
                    "type": "string"
                  }
                },
                "required": [
                  "job_slug",
                  "extras"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Purchase job extras"
              }
            },
            {
              "name": "check_job_payment_status",
              "title": "Check job payment status",
              "description": "Check the payment status of a job posting. Use the session_id returned from create_company_job, update_company_job or purchase_job_extras with extras. No authentication required.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "session_id": {
                    "description": "Stripe checkout session ID",
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "session_id"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Check job payment status"
              }
            },
            {
              "name": "list_conversations",
              "title": "List employer conversations",
              "description": "List all your messaging conversations with last message preview. Shows conversation status (awaiting reply, new reply, read). Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List employer conversations"
              }
            },
            {
              "name": "get_conversation",
              "title": "Get employer conversation",
              "description": "Get full message history for a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "room_name": {
                    "description": "Room name from list_conversations",
                    "type": "string"
                  },
                  "talent_slug": {
                    "description": "Talent slug (from search_talent results) — resolves to room name automatically",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get employer conversation"
              }
            },
            {
              "name": "start_conversation",
              "title": "Start conversation with candidate",
              "description": "Start a conversation with a candidate by talent slug, optionally with a first message. If the conversation already exists, returns it. Use search_talent to find candidates first, then use their slug here. A first message takes two calls: without confirm_token nothing is created or sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The candidate reads it as coming from the user's company and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "confirm_token": {
                    "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
                    "type": "string"
                  },
                  "message": {
                    "description": "Optional initial message to send with the conversation",
                    "type": "string"
                  },
                  "talent_slug": {
                    "description": "Talent slug of the candidate to message (from search_talent results)",
                    "type": "string"
                  }
                },
                "required": [
                  "talent_slug"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Start conversation with candidate"
              }
            },
            {
              "name": "send_message",
              "title": "Send message to candidate",
              "description": "Send a message in an existing conversation. Accepts room_name (from list_conversations) or talent_slug (from search_talent). Use start_conversation first if no conversation exists yet. Sending takes two calls: without confirm_token nothing is sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The candidate reads it as coming from the user's company and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "confirm_token": {
                    "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
                    "type": "string"
                  },
                  "message": {
                    "description": "Message text to send",
                    "type": "string"
                  },
                  "room_name": {
                    "description": "Room name from list_conversations",
                    "type": "string"
                  },
                  "talent_slug": {
                    "description": "Talent slug (from search_talent results) — resolves to room name automatically",
                    "type": "string"
                  }
                },
                "required": [
                  "message"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Send message to candidate"
              }
            },
            {
              "name": "mark_message_read",
              "title": "Mark employer message read",
              "description": "Mark a message as read by its ID. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "message_id": {
                    "description": "Message ID to mark as read",
                    "type": "number"
                  },
                  "room_name": {
                    "description": "Room name from list_conversations",
                    "type": "string"
                  },
                  "talent_slug": {
                    "description": "Talent slug (from search_talent results) — resolves to room name automatically",
                    "type": "string"
                  }
                },
                "required": [
                  "message_id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Mark employer message read"
              }
            },
            {
              "name": "delete_conversation",
              "title": "Delete employer conversation",
              "description": "Delete a conversation. Accepts room_name or talent_slug. Uses the connected Himalayas employer account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "room_name": {
                    "description": "Room name from list_conversations",
                    "type": "string"
                  },
                  "talent_slug": {
                    "description": "Talent slug (from search_talent results) — resolves to room name automatically",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Delete employer conversation"
              }
            },
            {
              "name": "list_my_conversations",
              "title": "List my inbox",
              "description": "List the user's job seeker inbox: conversations companies and recruiters started with them on Himalayas, newest first, with the last message and whether it needs a reply. For an employer's conversations with candidates, use list_conversations. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {},
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "List my inbox"
              }
            },
            {
              "name": "get_my_conversation",
              "title": "Get inbox conversation",
              "description": "Read the latest 30 messages in one conversation in the user's job seeker inbox. Message text is quoted as the sender wrote it. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "room_name": {
                    "description": "Room name from list_my_conversations",
                    "type": "string"
                  }
                },
                "required": [
                  "room_name"
                ],
                "type": "object"
              },
              "annotations": {
                "openWorldHint": false,
                "readOnlyHint": true,
                "title": "Get inbox conversation"
              }
            },
            {
              "name": "reply_to_message",
              "title": "Reply in inbox",
              "description": "Send a reply in a conversation in the user's job seeker inbox. Sending takes two calls: without confirm_token nothing is sent, and the reply is a preview of the exact text with a confirm_token; calling again with the same message and that token sends it. The company reads it as coming from the user and it can't be unsent, so show the user the preview and get their OK before the second call. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "confirm_token": {
                    "description": "Leave out to get a preview; nothing is sent. Pass the token from that preview, with the same message, to send it",
                    "type": "string"
                  },
                  "message": {
                    "description": "The reply, exactly as the user approved it",
                    "type": "string"
                  },
                  "room_name": {
                    "description": "Room name from list_my_conversations",
                    "type": "string"
                  }
                },
                "required": [
                  "room_name",
                  "message"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": true,
                "idempotentHint": false,
                "openWorldHint": true,
                "readOnlyHint": false,
                "title": "Reply in inbox"
              }
            },
            {
              "name": "mark_my_message_read",
              "title": "Mark inbox message read",
              "description": "Mark a message in the user's job seeker inbox as read. Uses the connected Himalayas account; no extra sign-in needed.",
              "inputSchema": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "message_id": {
                    "description": "Message id from get_my_conversation",
                    "type": "number"
                  },
                  "room_name": {
                    "description": "Room name from list_my_conversations",
                    "type": "string"
                  }
                },
                "required": [
                  "room_name",
                  "message_id"
                ],
                "type": "object"
              },
              "annotations": {
                "destructiveHint": false,
                "idempotentHint": true,
                "openWorldHint": false,
                "readOnlyHint": false,
                "title": "Mark inbox message read"
              }
            }
          ],
          "schemaTokens": 18465,
          "changedAt": "2026-11-08T01:58:55.587715046Z",
          "check": {
            "checker": "anchor-check/1.0",
            "totalTokens": 18465,
            "counts": {
              "error": 0,
              "note": 1,
              "warn": 13
            },
            "findings": [
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "delete_document",
                "message": "1 parameter without a description: type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "get_document",
                "message": "1 parameter without a description: type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "submit_feedback",
                "message": "2 parameters without a description: metadata, request_id",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "update_document",
                "message": "1 parameter without a description: type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "update_education",
                "message": "7 parameters without a description: activities, degree, description, end_year, grade, school and 1 more",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "update_experience",
                "message": "1 parameter without a description: employment_type",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC11",
                "severity": "warn",
                "tool": "update_profile_photo",
                "message": "1 parameter without a description: kind",
                "fix": "Describe each one: format, units, an example, and what happens when it's left out."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "add_company_perk",
                "message": "described almost the same as remove_company_perk (86% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "get_company_profile",
                "message": "described almost the same as update_company_profile (85% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "save_job",
                "message": "described almost the same as remove_saved_job (85% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "update_experience",
                "message": "described almost the same as update_education (83% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC21",
                "severity": "warn",
                "tool": "update_profile",
                "message": "described almost the same as update_company_profile (83% of the same words)",
                "fix": "Say in each description when to use it instead of the other."
              },
              {
                "rule": "TC23",
                "severity": "warn",
                "message": "78 tools, about 18,491 tokens of definitions",
                "fix": "Split the server by job, or offer a smaller default toolset (a read-only set, or a search-then-call pattern)."
              },
              {
                "rule": "TC24",
                "severity": "note",
                "message": "78 of 78 tools have no outputSchema",
                "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
              }
            ]
          }
        },
        "updatedAt": "2026-11-08T15:05:31.827107623Z"
      },
      "streak": {
        "days": 1,
        "from": "2026-11-07",
        "sinceWatching": true,
        "best": 1
      }
    },
    "answer": "Himalayas Remote Jobs MCP scores 47.8 (D) on agent readiness against Lever's 45.1 (E), and leads in 4 of 7 scored categories. Lever leads on reliability, security \u0026 auth and transparency \u0026 trust.",
    "b": {
      "slug": "lever",
      "name": "Lever",
      "vendor": "Employ, Inc.",
      "vendorUrl": "https://www.lever.co",
      "kind": "http-api",
      "category": "recruiting",
      "summary": "Applicant tracking and candidate relationship system from Employ Inc. Its Data API reads and writes opportunities, postings, interviews, feedback and requisitions, and a separate Postings API serves published jobs.",
      "url": "https://www.anchorterminal.com/tools/lever",
      "markdownUrl": "https://www.anchorterminal.com/tools/lever.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/lever.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/lever.json",
      "dns": "lever.grade.anchorterminal.com",
      "repo": "https://github.com/lever/postings-api",
      "license": "Proprietary service under Lever's terms of service. The postings-api and integrator-resources repositories on GitHub hold documentation and example code",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.lever.co/v1",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access is granted by a paying customer or by Lever's partner team. A Super Admin of a Lever account creates an API key in Settings, sent as the Basic auth username with a blank password. Keys are limited to chosen endpoints, and access to confidential data can be granted only when the key is created. Partner integrations must use OAuth 2.0 (authorisation code grant at https://auth.lever.co/authorize, with a required `audience`). Lever staff create the OAuth app after a partner application and a registration form, first on the sandbox and then for production after a QA call. About 50 scopes follow the pattern `opportunities:read:admin` and `opportunities:write:admin`, with at most 20 per app. Access tokens last 1 hour and refresh tokens 1 year or 90 days idle. A Super Admin authorises an app for the whole organisation and can revoke it in settings. The Postings API reads published jobs without a key and takes applications with a key in the `key` query parameter.",
      "pricing": "paid",
      "pricingNotes": "No public price. lever.co/pricing has a quote form and says pricing scales with team size and hiring needs, with no trial, free tier or self-serve signup found. Lever's partner FAQ says OAuth integrations work for all customers, while API key use needs the Data API feature, requisition endpoints need the TRM Enterprise package or Advanced HR, and the audit events endpoint is an add-on. A sandbox account is free to approved partners only, so an agent can't start without a customer contract or partner approval. Reading a company's published jobs through the Postings API needs no account (checked 2026-10-07).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer documentation, the Postings API README or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://hire.lever.co/developer/documentation",
      "capabilities": [
        "recruiting.candidates",
        "recruiting.jobs",
        "recruiting.applications",
        "recruiting.interviews",
        "recruiting.offer-letters"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "sales-led",
        "oauth",
        "api-key",
        "webhooks",
        "sandbox",
        "status-page",
        "sla",
        "soc2",
        "iso27001",
        "eu-region"
      ],
      "lastRelease": "2026-04-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1209,
        "ranked": true,
        "rankOf": 1513,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 7,
          "payments": 5,
          "reliability": 85,
          "schema": 22,
          "security": 53,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Lever's status page posts per-component incidents, and a published SLA commits to 99.9 per cent uptime with automatic credits. Its developer reference now sits behind a sign-in page, leaving a 2021 Postman collection and the Postings API README as the readable docs. Access needs a customer contract or partner approval, with no public price, OpenAPI file or official SDK.",
        "bestFor": "An agent working inside a company that already runs Lever, for reading the pipeline, adding candidates, moving stages, writing notes and feedback and scheduling externally managed interviews.",
        "strengths": [
          "status.lever.co has an Integration API \u0026 Webhooks component for each data centre, with incident history and root-cause write-ups promised",
          "Lever's Postman collection lists 81 Data API requests in 24 groups, among them opportunities, interviews, feedback, requisitions and webhooks",
          "The Postings API lists a company's published jobs without a key, with `skip`, `limit` and filters by location, commitment, team, department and level",
          "Published SLA commits to 99.9 per cent monthly uptime with automatic service credits",
          "Sub-processor list dated 21 September 2025 names each vendor, purpose and location"
        ],
        "weaknesses": [
          "No public price, free tier or self-serve signup. OAuth apps are registered with Lever and tested against a Lever Sandbox account",
          "No OpenAPI file, llms.txt or official SDK. The developer reference at hire.lever.co redirects to a sign-in page, and the Postman collection dates from April 2021",
          "Four incidents on status.lever.co from 7 to 25 August 2026, each limited to offer letters, the web app or the EU region",
          "No idempotency keys, and the Postings API asks callers to retry application POSTs that receive 429, with no Retry-After documented",
          "The Postings API takes its key in the URL query string for application submissions"
        ],
        "agentNotes": [
          "Send `perform_as` with a Lever user id on writes, as Lever's Postman collection does for feedback, files, postings and requisitions",
          "Keep Postings application POSTs under 2 a second, and queue and retry any that receive 429, or send candidates to Lever's hosted form",
          "Page Postings API lists with `skip` and `limit`, and filter by location, commitment, team, department or level",
          "Send the Postings API key only from a server. It travels in the `key` query parameter and can land in logs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.1
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 7,
          "payments": 5,
          "reliability": 85,
          "schema": 22,
          "security": 53,
          "transparency": 53
        },
        "provenanceScore": 88,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -u \"$LEVER_API_KEY:\" \"https://api.lever.co/v1/opportunities?limit=10\u0026include=name\u0026include=stage\""
      },
      "letme": {
        "capability": "https://letme.dev/recruiting.candidates",
        "tool": "https://letme.dev/lever"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Employ, Inc.",
        "domain": "lever.co",
        "domainRegistered": "2010-07-20",
        "endpointOnVendorDomain": true,
        "terms": "https://www.lever.co/legal/terms-of-service",
        "privacy": "https://www.employinc.com/privacy-notice-services/",
        "statusPage": "https://status.lever.co",
        "changelog": "https://hire.lever.co/developer/updates",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The terms of service (last updated 25 August 2023) and the Developer Sandbox Terms (21 September 2020) name Lever, Inc. The DPA (last updated 20 May 2025) and the sub-processor list name Employ, Inc., 20 North Meridian Street, Suite 300, Indianapolis, IN 46204, and page footers read Employ Inc.",
          "API endpoints answer at api.lever.co, with auth.lever.co for OAuth.",
          "www.lever.co/.well-known/security.txt and www.employinc.com/.well-known/security.txt both return 404. A vulnerability disclosure policy with security@employinc.com is in SECURITY.md in Lever's GitHub repositories and says there is no bug bounty.",
          "RDAP at rdap.registry.co gives a registration date of 2010-07-20 for lever.co and NameCheap, Inc. as registrar.",
          "The SLA and DPA are published on employinc.com (https://www.employinc.com/lever-sla/ and https://www.employinc.com/dpa/).",
          "hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page (4 November 2026), read as a refusal, so its earlier readings are struck. Employ's own Terms of Service (19 February 2025) on employinc.com also cover Lever's software and services."
        ],
        "score": 88
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/lever.json",
      "live": {
        "slug": "lever",
        "probe": {
          "target": "https://api.lever.co/v1",
          "method": "get",
          "lastAt": "2026-11-08T15:05:35.990037936Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 736,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.92,
          "p50ms24h": 619,
          "p95ms24h": 731,
          "samples24h": 242,
          "samples30d": 7672,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 249
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 254
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 243,
              "ok": 243
            },
            {
              "date": "2026-11-08",
              "probes": 153,
              "ok": 153
            }
          ],
          "since": "2026-10-08T00:00:00Z"
        },
        "vendorStatus": {
          "page": "https://status.lever.co",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-08T15:02:46.596867874Z"
        },
        "githubStars": 203,
        "securityTxt": {
          "url": "https://lever.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:23.878798904Z"
        },
        "domain": {
          "domain": "lever.co",
          "checkedAt": "2026-11-08T14:40:38.598018571Z"
        },
        "pages": [
          {
            "url": "https://hire.lever.co/developer/updates",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-08T15:02:29.281390551Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "721e91eb9091"
          },
          {
            "url": "https://www.employinc.com/privacy-notice-services/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:16.860629441Z",
            "changedAt": "2026-10-15T22:09:04.604848506Z",
            "fingerprint": "ddb282c44da4"
          },
          {
            "url": "https://www.lever.co/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:46.689816498Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1e3f81b481ff"
          }
        ],
        "github": {
          "repo": "lever/postings-api",
          "checkedAt": "2026-11-02T09:00:32.883818728Z",
          "stars": 202,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-04-23T17:25:55Z",
          "openIssues": 21,
          "openPRs": 3,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 25,
            "unanswered": 20,
            "medianDays": 1
          }
        },
        "updatedAt": "2026-11-08T15:05:35.990037936Z"
      },
      "streak": {
        "days": 31,
        "from": "2026-10-08",
        "sinceWatching": true,
        "best": 31
      }
    },
    "edges": [
      {
        "by": 60,
        "category": "reliability",
        "leads": "lever",
        "name": "Reliability",
        "reasons": {
          "a": "No status page found (0). No history (5). Some limits documented with numbers (100 candidate searches a day, 10 messages a minute) (10 of 15). No retry guidance (0). No SLA (0). Not labelled beta; the old SSE endpoint is retired with 410 Gone (10). 0 + 5 + 10 + 0 + 0 + 10 = 25.",
          "b": "Graded on the hosted lines for the Data API and the Postings API. Statuspage at status.lever.co lists Integration API \u0026 Webhooks, Hire, Career Site and Visual Insights for the global and EU data centres, plus partner, sandbox and third-party groups (20). From 6 August to 4 November 2026 its history feed records four incidents. Offer letter conversion failed on 7 August (offer letters only). A 15-minute outage on 12 August caused failed page loads on hire.lever.co. 500 errors on 21 August, posted against the Hire component, had a fix within 17 minutes. A server rotation caused 504s on page loads at hire.eulever.co for 45 minutes on 25 August. Each names one function, the web app or one region, so all read as minor (20). hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck, among them the Data API's request limits and backoff guidance. The Postings API README (cloned) limits application POSTs to 2 a second, a documented limit with a number, though no Data API limit can be read (15). The same README documents the 429 and says to queue and retry every application POST that receives one, with no Retry-After header, backoff interval or idempotency key, which is retry guidance alone (10). The SLA, re-read, commits to 99.9% uptime for all customers with automatic service credits (10). The readable docs carry no beta or preview label, and the Postman collection and README use the production /v1 and /v0 paths (10). 20 + 20 + 15 + 10 + 10 + 10 = 85."
        },
        "scores": {
          "a": 25,
          "b": 85
        }
      },
      {
        "by": 48,
        "category": "schema",
        "leads": "himalayas-mcp",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "79 tools read from tools/list (78 visible without sign-in) with JSON Schema inputs and 33 enums (25). llms.txt (10). Clear descriptions with when to use them (15 of 20). Mostly typed, with comma-separated string lists and two free-form objects (8 of 15). Example prompts and parameter tables (7 of 15). Registry version 1.0.3 and repository tags, no changelog (5 of 15). 25 + 10 + 15 + 8 + 7 + 5 = 70.",
          "b": "hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck. What remains is in Lever's GitHub repositories. No OpenAPI file found. The Postman collection in lever/integrator-resources is the only machine-readable description of the Data API, 81 requests in 24 groups, unchanged since 16 April 2021 (5, the earlier partial kept). No llms.txt, and www.lever.co/llms.txt returned 404 on 7 October (0). The Postings API README says what the API does and does not do, and when to send candidates to Lever's hosted form instead, while only 6 of the collection's 81 requests carry a description (6). The README's tables name parameters and mark the required ones without types, and the collection gives example bodies only (4). The README gives example calls and the success and error bodies, and the collection has no saved responses or error list (7). Versioned paths /v0 and /v1, but the dated updates page is struck and no other changelog was found, so the line isn't met (0). 5 + 0 + 6 + 4 + 7 + 0 = 22."
        },
        "scores": {
          "a": 70,
          "b": 22
        }
      },
      {
        "by": 45,
        "category": "payments",
        "leads": "himalayas-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No machine payment protocol; paid extras return Stripe checkout links (0). Plus price public (10 of 20). Free search and posting (20). Public tools need no account (20). 0 + 10 + 20 + 20 = 50.",
          "b": "No x402, MPP or L402 (0). Pricing is by quote only (0). No free tier or trial found, and the sandbox goes only to approved partners (0). API keys and OAuth apps need a person, a customer contract or Lever's partner team. We gave 5 because the Postings API returns any customer's published jobs without a key or account (5)."
        },
        "scores": {
          "a": 50,
          "b": 5
        }
      },
      {
        "by": 43,
        "category": "maintenance",
        "leads": "himalayas-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Registry update and tag v1.0.3 on 21 October 2026 (30). Fewer than three dated releases found in 90 days (0). Repository issues not read (0). Official registry entry app.himalayas/mcp (15). Docs repository with server.json; server source not public (5 of 10). 30 + 0 + 0 + 15 + 5 = 50. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.",
          "b": "The newest dated API change was on the updates page at hire.lever.co, which now answers robots.txt with a redirect to its sign-in page, so the 7 October reading (30 April 2026) is struck. The other dated sources of Lever's own were looked for. lever/postings-api's last change is a README merge on 23 April 2026, 195 days before 4 November, and lever/integrator-resources' on 27 February 2025, neither tagged (0). No dated entry in the window from 6 August (0). Closed service with no changelog readable today. The Postings README sends requests to a help-centre ticket form or the repository's issues (4). No official SDK, and no Lever-published MCP server found (0). No packages to assess. The example repository has CodeQL and dependency review workflows and was last changed in February 2025 (3). 0 + 0 + 4 + 0 + 3 = 7."
        },
        "scores": {
          "a": 50,
          "b": 7
        }
      },
      {
        "by": 25,
        "category": "transparency",
        "leads": "lever",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service under terms naming Himalayas Remote Jobs Pty Ltd (15). Privacy policy under the Australian Privacy Principles; retention periods not given (15 of 30). Dated retirement of the SSE endpoint (10 of 20). Subprocessors not found (5 of 20). 15 + 15 + 10 + 5 = 45.",
          "b": "Closed service with public terms of service (25 August 2023), an SLA and Developer Sandbox Terms. The terms bar access for benchmarking or competitive purposes (15). A DPA (updated 20 May 2025), a services privacy notice (25 September 2023) and a security page give retention and deletion periods. They disagree on one figure, with deletion starting 30 days after termination in the DPA and 90 days on the security page, both ending by day 45 (20). The deprecated Candidates section and the field-removal promise were read on hire.lever.co, now struck (its robots.txt redirects to a sign-in page), and no deprecation notice or policy is readable elsewhere (0). Sub-processor list effective 21 September 2025 with purposes and locations, and hosting regions named (18). 15 + 20 + 0 + 18 = 53."
        },
        "scores": {
          "a": 46,
          "b": 71
        }
      },
      {
        "by": 11,
        "category": "security",
        "leads": "lever",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.1 with PKCE and client metadata documents (25 of 30). Read-only public set; writes such as send_message and job posts are annotated (12 of 20). Job posts and recruiter messages are third-party text with no injection guidance (0). No audit log (0). No security.txt (404) or certifications found (5 of 20). The privacy policy follows the Australian Privacy Principles. 25 + 12 + 0 + 0 + 5 = 42.",
          "b": "hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck, among them the scope list and the per-endpoint key settings. The example OAuth app in lever/integrator-resources runs the OAuth 2.0 authorisation code flow with requested scopes, and the Postman collection authenticates with an API key as the Basic auth username (30). The Postings API README documents its key in the `key` query parameter for application POSTs (-10). Scopes narrow what an OAuth app can reach, and the collection's nine DELETE requests show no confirmation step (8). Resumes, notes and application answers are written by outside parties and no prompt-injection guidance was found (3). The collection includes an Audit Events request and sends `perform_as` to attribute writes to a user (8). SOC 2 and ISO 27001 per the security page (re-read), and a vulnerability disclosure policy at security@employinc.com in SECURITY.md with no acknowledgement time. No bug bounty and no security.txt (14). 20 + 8 + 3 + 8 + 14 = 53."
        },
        "scores": {
          "a": 42,
          "b": 53
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Himalayas Remote Jobs Pty Ltd",
        "b": "Employ, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.himalayas.app/mcp",
        "b": "https://api.lever.co/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service. The repository's MIT licence covers its docs and manifest",
        "b": "Proprietary service under Lever's terms of service. The postings-api and integrator-resources repositories on GitHub hold documentation and example code",
        "name": "Licence"
      },
      {
        "a": "79",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "app.himalayas/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-04-30",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "2023-08-25",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "2023-09-25",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Himalayas Remote Jobs MCP scores 47.8 (D) on agent readiness against Lever's 45.1 (E), and leads in 4 of 7 scored categories. Lever leads on reliability, security \u0026 auth and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Himalayas Remote Jobs MCP or Lever?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Himalayas Remote Jobs MCP and Lever need an API key?"
      },
      {
        "answer": "Yes. Himalayas Remote Jobs MCP has a hosted endpoint at https://mcp.himalayas.app/mcp and Lever at https://api.lever.co/v1.",
        "question": "Can an agent call Himalayas Remote Jobs MCP and Lever without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 70 against 22",
          "Agent ergonomics, 58 against 48",
          "Payments \u0026 pricing, 50 against 5",
          "Maintenance \u0026 community, 50 against 7"
        ],
        "also": null,
        "goodFor": "Agents helping people find remote jobs and salary data, or helping employers post jobs and reach candidates.",
        "slug": "himalayas-mcp",
        "watchFor": "79 tools, a heavy context load"
      },
      {
        "aheadOn": [
          "Reliability, 85 against 25",
          "Security \u0026 auth, 53 against 42",
          "Transparency \u0026 trust, 71 against 46"
        ],
        "also": null,
        "goodFor": "An agent working inside a company that already runs Lever, for reading the pipeline, adding candidates, moving stages, writing notes and feedback and scheduling externally managed interviews.",
        "slug": "lever",
        "watchFor": "No public price, free tier or self-serve signup. OAuth apps are registered with Lever and tested against a Lever Sandbox account"
      }
    ],
    "history": {
      "himalayas-mcp": null,
      "lever": [
        {
          "causes": [
            "evidence",
            "time"
          ],
          "date": "2026-11-04",
          "delta": -8.6,
          "from": 53.7,
          "fromGrade": "D",
          "to": 45.1,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 53.6,
          "fromGrade": "D",
          "to": 53.7,
          "toGrade": "D"
        }
      ]
    },
    "job": {
      "capability": "recruiting.candidates",
      "name": "Recruiting"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ashby-vs-himalayas-mcp.json",
        "title": "Ashby vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/ashby-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ashby-vs-lever.json",
        "title": "Ashby vs Lever",
        "url": "https://www.anchorterminal.com/compare/ashby-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breezy-hr-vs-himalayas-mcp.json",
        "title": "Breezy HR vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/breezy-hr-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/breezy-hr-vs-lever.json",
        "title": "Breezy HR vs Lever",
        "url": "https://www.anchorterminal.com/compare/breezy-hr-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-himalayas-mcp.json",
        "title": "Bullhorn vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bullhorn-vs-lever.json",
        "title": "Bullhorn vs Lever",
        "url": "https://www.anchorterminal.com/compare/bullhorn-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gem-vs-himalayas-mcp.json",
        "title": "Gem vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/gem-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gem-vs-lever.json",
        "title": "Gem vs Lever",
        "url": "https://www.anchorterminal.com/compare/gem-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greenhouse-vs-himalayas-mcp.json",
        "title": "Greenhouse vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/greenhouse-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greenhouse-vs-lever.json",
        "title": "Greenhouse vs Lever",
        "url": "https://www.anchorterminal.com/compare/greenhouse-vs-lever"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-manatal.json",
        "title": "Himalayas Remote Jobs MCP vs Manatal",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-manatal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-pinpoint.json",
        "title": "Himalayas Remote Jobs MCP vs Pinpoint",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-pinpoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-recruitee.json",
        "title": "Himalayas Remote Jobs MCP vs Recruitee",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-recruitee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-smartrecruiters.json",
        "title": "Himalayas Remote Jobs MCP vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-teamtailor.json",
        "title": "Himalayas Remote Jobs MCP vs Teamtailor",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-teamtailor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-workable.json",
        "title": "Himalayas Remote Jobs MCP vs Workable",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-workable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-zoho-recruit.json",
        "title": "Himalayas Remote Jobs MCP vs Zoho Recruit",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-zoho-recruit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-manatal.json",
        "title": "Lever vs Manatal",
        "url": "https://www.anchorterminal.com/compare/lever-vs-manatal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-pinpoint.json",
        "title": "Lever vs Pinpoint",
        "url": "https://www.anchorterminal.com/compare/lever-vs-pinpoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-recruitee.json",
        "title": "Lever vs Recruitee",
        "url": "https://www.anchorterminal.com/compare/lever-vs-recruitee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-smartrecruiters.json",
        "title": "Lever vs SmartRecruiters",
        "url": "https://www.anchorterminal.com/compare/lever-vs-smartrecruiters"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-teamtailor.json",
        "title": "Lever vs Teamtailor",
        "url": "https://www.anchorterminal.com/compare/lever-vs-teamtailor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-workable.json",
        "title": "Lever vs Workable",
        "url": "https://www.anchorterminal.com/compare/lever-vs-workable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-zoho-recruit.json",
        "title": "Lever vs Zoho Recruit",
        "url": "https://www.anchorterminal.com/compare/lever-vs-zoho-recruit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lever-vs-neverapply.json",
        "title": "Lever vs NeverApply",
        "url": "https://www.anchorterminal.com/compare/lever-vs-neverapply"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-job-search-vs-himalayas-mcp.json",
        "title": "AI Job Search vs Himalayas Remote Jobs MCP",
        "url": "https://www.anchorterminal.com/compare/ai-job-search-vs-himalayas-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-neverapply.json",
        "title": "Himalayas Remote Jobs MCP vs NeverApply",
        "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-neverapply"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 60,
        "edge": "lever",
        "himalayas-mcp": 25,
        "key": "reliability",
        "lever": 85,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 48,
        "edge": "himalayas-mcp",
        "himalayas-mcp": 70,
        "key": "schema",
        "lever": 22,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 10,
        "edge": "himalayas-mcp",
        "himalayas-mcp": 58,
        "key": "ergonomics",
        "lever": 48,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 11,
        "edge": "lever",
        "himalayas-mcp": 42,
        "key": "security",
        "lever": 53,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 45,
        "edge": "himalayas-mcp",
        "himalayas-mcp": 50,
        "key": "payments",
        "lever": 5,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "edge": "himalayas-mcp",
        "himalayas-mcp": 50,
        "key": "maintenance",
        "lever": 7,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 25,
        "edge": "lever",
        "himalayas-mcp": 46,
        "key": "transparency",
        "lever": 71,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Himalayas Remote Jobs MCP scores 47.8 (D) on agent readiness against Lever's 45.1 (E), and leads in 4 of 7 scored categories. Lever leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do recruiting.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "himalayas-mcp": "Himalayas' MCP server is unusually complete for a jobs board, with public job and salary search that needs no account and OAuth 2.1 account tools for both job seekers and employers. Everything is annotated, but 79 tools is a lot of context, and there's no status page or changelog.",
      "lever": "Lever's status page posts per-component incidents, and a published SLA commits to 99.9 per cent uptime with automatic credits. Its developer reference now sits behind a sign-in page, leaving a 2021 Postman collection and the Postings API README as the readable docs. Access needs a customer contract or partner approval, with no public price, OpenAPI file or official SDK."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever",
    "json": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever.min.md"
  },
  "markdown": "Himalayas Remote Jobs MCP scores 47.8 (D) on agent readiness against Lever's 45.1 (E), and leads in 4 of 7 scored categories. Lever leads on reliability, security \u0026 auth and transparency \u0026 trust. Both do recruiting.\n\n- Himalayas Remote Jobs MCP: grade D, 47.8/100, rank #1145 of 1513. Markdown https://www.anchorterminal.com/tools/himalayas-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/himalayas-mcp.json\n- Lever: grade E, 45.1/100, rank #1209 of 1513. Markdown https://www.anchorterminal.com/tools/lever.md · JSON https://www.anchorterminal.com/api/v1/tools/lever.json\n- Best recruiting and applicant tracking systems for AI agents: https://www.anchorterminal.com/best/recruiting/index.md\n- All 106 recruiting comparisons: https://www.anchorterminal.com/compare/recruiting/index.md\n\n## Which one, for what\n\n### Himalayas Remote Jobs MCP (D)\n\nGood for: Agents helping people find remote jobs and salary data, or helping employers post jobs and reach candidates.\n\nAhead on:\n- Schema \u0026 documentation, 70 against 22\n- Agent ergonomics, 58 against 48\n- Payments \u0026 pricing, 50 against 5\n- Maintenance \u0026 community, 50 against 7\n\nWatch for: 79 tools, a heavy context load\n\n### Lever (E)\n\nGood for: An agent working inside a company that already runs Lever, for reading the pipeline, adding candidates, moving stages, writing notes and feedback and scheduling externally managed interviews.\n\nAhead on:\n- Reliability, 85 against 25\n- Security \u0026 auth, 53 against 42\n- Transparency \u0026 trust, 71 against 46\n\nWatch for: No public price, free tier or self-serve signup. OAuth apps are registered with Lever and tested against a Lever Sandbox account\n\n\n## Why the edge\n\n### Reliability: Lever +60\n\n- Himalayas Remote Jobs MCP (25): No status page found (0). No history (5). Some limits documented with numbers (100 candidate searches a day, 10 messages a minute) (10 of 15). No retry guidance (0). No SLA (0). Not labelled beta; the old SSE endpoint is retired with 410 Gone (10). 0 + 5 + 10 + 0 + 0 + 10 = 25.\n- Lever (85): Graded on the hosted lines for the Data API and the Postings API. Statuspage at status.lever.co lists Integration API \u0026 Webhooks, Hire, Career Site and Visual Insights for the global and EU data centres, plus partner, sandbox and third-party groups (20). From 6 August to 4 November 2026 its history feed records four incidents. Offer letter conversion failed on 7 August (offer letters only). A 15-minute outage on 12 August caused failed page loads on hire.lever.co. 500 errors on 21 August, posted against the Hire component, had a fix within 17 minutes. A server rotation caused 504s on page loads at hire.eulever.co for 45 minutes on 25 August. Each names one function, the web app or one region, so all read as minor (20). hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck, among them the Data API's request limits and backoff guidance. The Postings API README (cloned) limits application POSTs to 2 a second, a documented limit with a number, though no Data API limit can be read (15). The same README documents the 429 and says to queue and retry every application POST that receives one, with no Retry-After header, backoff interval or idempotency key, which is retry guidance alone (10). The SLA, re-read, commits to 99.9% uptime for all customers with automatic service credits (10). The readable docs carry no beta or preview label, and the Postman collection and README use the production /v1 and /v0 paths (10). 20 + 20 + 15 + 10 + 10 + 10 = 85.\n\n### Schema \u0026 documentation: Himalayas Remote Jobs MCP +48\n\n- Himalayas Remote Jobs MCP (70): 79 tools read from tools/list (78 visible without sign-in) with JSON Schema inputs and 33 enums (25). llms.txt (10). Clear descriptions with when to use them (15 of 20). Mostly typed, with comma-separated string lists and two free-form objects (8 of 15). Example prompts and parameter tables (7 of 15). Registry version 1.0.3 and repository tags, no changelog (5 of 15). 25 + 10 + 15 + 8 + 7 + 5 = 70.\n- Lever (22): hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck. What remains is in Lever's GitHub repositories. No OpenAPI file found. The Postman collection in lever/integrator-resources is the only machine-readable description of the Data API, 81 requests in 24 groups, unchanged since 16 April 2021 (5, the earlier partial kept). No llms.txt, and www.lever.co/llms.txt returned 404 on 7 October (0). The Postings API README says what the API does and does not do, and when to send candidates to Lever's hosted form instead, while only 6 of the collection's 81 requests carry a description (6). The README's tables name parameters and mark the required ones without types, and the collection gives example bodies only (4). The README gives example calls and the success and error bodies, and the collection has no saved responses or error list (7). Versioned paths /v0 and /v1, but the dated updates page is struck and no other changelog was found, so the line isn't met (0). 5 + 0 + 6 + 4 + 7 + 0 = 22.\n\n### Payments \u0026 pricing: Himalayas Remote Jobs MCP +45\n\n- Himalayas Remote Jobs MCP (50): No machine payment protocol; paid extras return Stripe checkout links (0). Plus price public (10 of 20). Free search and posting (20). Public tools need no account (20). 0 + 10 + 20 + 20 = 50.\n- Lever (5): No x402, MPP or L402 (0). Pricing is by quote only (0). No free tier or trial found, and the sandbox goes only to approved partners (0). API keys and OAuth apps need a person, a customer contract or Lever's partner team. We gave 5 because the Postings API returns any customer's published jobs without a key or account (5).\n\n### Maintenance \u0026 community: Himalayas Remote Jobs MCP +43\n\n- Himalayas Remote Jobs MCP (50): Registry update and tag v1.0.3 on 21 October 2026 (30). Fewer than three dated releases found in 90 days (0). Repository issues not read (0). Official registry entry app.himalayas/mcp (15). Docs repository with server.json; server source not public (5 of 10). 30 + 0 + 0 + 15 + 5 = 50. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n- Lever (7): The newest dated API change was on the updates page at hire.lever.co, which now answers robots.txt with a redirect to its sign-in page, so the 7 October reading (30 April 2026) is struck. The other dated sources of Lever's own were looked for. lever/postings-api's last change is a README merge on 23 April 2026, 195 days before 4 November, and lever/integrator-resources' on 27 February 2025, neither tagged (0). No dated entry in the window from 6 August (0). Closed service with no changelog readable today. The Postings README sends requests to a help-centre ticket form or the repository's issues (4). No official SDK, and no Lever-published MCP server found (0). No packages to assess. The example repository has CodeQL and dependency review workflows and was last changed in February 2025 (3). 0 + 0 + 4 + 0 + 3 = 7.\n\n### Transparency \u0026 trust: Lever +25\n\n- Himalayas Remote Jobs MCP (46): Closed service under terms naming Himalayas Remote Jobs Pty Ltd (15). Privacy policy under the Australian Privacy Principles; retention periods not given (15 of 30). Dated retirement of the SSE endpoint (10 of 20). Subprocessors not found (5 of 20). 15 + 15 + 10 + 5 = 45.\n- Lever (71): Closed service with public terms of service (25 August 2023), an SLA and Developer Sandbox Terms. The terms bar access for benchmarking or competitive purposes (15). A DPA (updated 20 May 2025), a services privacy notice (25 September 2023) and a security page give retention and deletion periods. They disagree on one figure, with deletion starting 30 days after termination in the DPA and 90 days on the security page, both ending by day 45 (20). The deprecated Candidates section and the field-removal promise were read on hire.lever.co, now struck (its robots.txt redirects to a sign-in page), and no deprecation notice or policy is readable elsewhere (0). Sub-processor list effective 21 September 2025 with purposes and locations, and hosting regions named (18). 15 + 20 + 0 + 18 = 53.\n\n### Security \u0026 auth: Lever +11\n\n- Himalayas Remote Jobs MCP (42): OAuth 2.1 with PKCE and client metadata documents (25 of 30). Read-only public set; writes such as send_message and job posts are annotated (12 of 20). Job posts and recruiter messages are third-party text with no injection guidance (0). No audit log (0). No security.txt (404) or certifications found (5 of 20). The privacy policy follows the Australian Privacy Principles. 25 + 12 + 0 + 0 + 5 = 42.\n- Lever (53): hire.lever.co, the developer documentation host, answers robots.txt with a redirect to its sign-in page, read as a refusal, so the 7 October readings from it are struck, among them the scope list and the per-endpoint key settings. The example OAuth app in lever/integrator-resources runs the OAuth 2.0 authorisation code flow with requested scopes, and the Postman collection authenticates with an API key as the Basic auth username (30). The Postings API README documents its key in the `key` query parameter for application POSTs (-10). Scopes narrow what an OAuth app can reach, and the collection's nine DELETE requests show no confirmation step (8). Resumes, notes and application answers are written by outside parties and no prompt-injection guidance was found (3). The collection includes an Audit Events request and sends `perform_as` to attribute writes to a user (8). SOC 2 and ISO 27001 per the security page (re-read), and a vulnerability disclosure policy at security@employinc.com in SECURITY.md with no acknowledgement time. No bug bounty and no security.txt (14). 20 + 8 + 3 + 8 + 14 = 53.\n\n## Score by category\n\n| Category | Weight | Himalayas Remote Jobs MCP | Lever | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 25 | 85 | Lever +60 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 22 | Himalayas Remote Jobs MCP +48 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 48 | Himalayas Remote Jobs MCP +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 53 | Lever +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 5 | Himalayas Remote Jobs MCP +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 7 | Himalayas Remote Jobs MCP +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 46 | 71 | Lever +25 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47.8 · D** | **45.1 · E** | |\n\n## Facts side by side\n\n| Fact | Himalayas Remote Jobs MCP | Lever |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | Himalayas Remote Jobs Pty Ltd | Employ, Inc. |\n| Hosted endpoint | `https://mcp.himalayas.app/mcp` | `https://api.lever.co/v1` |\n| Transports | Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary service. The repository's MIT licence covers its docs and manifest | Proprietary service under Lever's terms of service. The postings-api and integrator-resources repositories on GitHub hold documentation and example code |\n| Tools exposed | 79 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `app.himalayas/mcp` | not listed |\n| Last release | none | 2026-04-30 |\n| Terms last updated | not read yet | 2023-08-25 |\n| Privacy policy last updated | not read yet | 2023-09-25 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | yes |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | yes |\n\n## How the scores have moved\n\n### Himalayas Remote Jobs MCP\n\nNo score change since it was listed.\n\n### Lever\n\n- -8.6 on 4 November 2026 (D to E): new evidence, time\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Himalayas Remote Jobs MCP.** Himalayas' MCP server is unusually complete for a jobs board, with public job and salary search that needs no account and OAuth 2.1 account tools for both job seekers and employers. Everything is annotated, but 79 tools is a lot of context, and there's no status page or changelog.\n\n**Lever.** Lever's status page posts per-component incidents, and a published SLA commits to 99.9 per cent uptime with automatic credits. Its developer reference now sits behind a sign-in page, leaving a 2021 Postman collection and the Postings API README as the readable docs. Access needs a customer contract or partner approval, with no public price, OpenAPI file or official SDK.\n\n## Before you call either\n\n### Himalayas Remote Jobs MCP\n\n1. Use the public search tools without signing in\n2. Ask before sending messages or posting jobs\n3. Treat job descriptions and recruiter messages as untrusted text\n4. Candidate search is limited to 100 a day\n\n### Lever\n\n1. Send `perform_as` with a Lever user id on writes, as Lever's Postman collection does for feedback, files, postings and requisitions\n2. Keep Postings application POSTs under 2 a second, and queue and retry any that receive 429, or send candidates to Lever's hosted form\n3. Page Postings API lists with `skip` and `limit`, and filter by location, commitment, team, department or level\n4. Send the Postings API key only from a server. It travels in the `key` query parameter and can land in logs\n\n## Questions\n\n### Which is better for AI agents, Himalayas Remote Jobs MCP or Lever?\n\nHimalayas Remote Jobs MCP scores 47.8 (D) on agent readiness against Lever's 45.1 (E), and leads in 4 of 7 scored categories. Lever leads on reliability, security \u0026 auth and transparency \u0026 trust.\n\n### Do Himalayas Remote Jobs MCP and Lever need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Himalayas Remote Jobs MCP and Lever without installing anything?\n\nYes. Himalayas Remote Jobs MCP has a hosted endpoint at https://mcp.himalayas.app/mcp and Lever at https://api.lever.co/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever.json, and with the fewest tokens: https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"himalayas-mcp\", \"b\": \"lever\"}`. From a terminal: `anchor compare himalayas-mcp lever`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/himalayas-mcp.json and https://www.anchorterminal.com/api/v1/tools/lever.json\n\n## Other comparisons with Himalayas Remote Jobs MCP or Lever\n\n- [Ashby vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/ashby-vs-himalayas-mcp.md)\n- [Ashby vs Lever](https://www.anchorterminal.com/compare/ashby-vs-lever.md)\n- [Breezy HR vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/breezy-hr-vs-himalayas-mcp.md)\n- [Breezy HR vs Lever](https://www.anchorterminal.com/compare/breezy-hr-vs-lever.md)\n- [Bullhorn vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/bullhorn-vs-himalayas-mcp.md)\n- [Bullhorn vs Lever](https://www.anchorterminal.com/compare/bullhorn-vs-lever.md)\n- [Gem vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/gem-vs-himalayas-mcp.md)\n- [Gem vs Lever](https://www.anchorterminal.com/compare/gem-vs-lever.md)\n- [Greenhouse vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/greenhouse-vs-himalayas-mcp.md)\n- [Greenhouse vs Lever](https://www.anchorterminal.com/compare/greenhouse-vs-lever.md)\n- [Himalayas Remote Jobs MCP vs Manatal](https://www.anchorterminal.com/compare/himalayas-mcp-vs-manatal.md)\n- [Himalayas Remote Jobs MCP vs Pinpoint](https://www.anchorterminal.com/compare/himalayas-mcp-vs-pinpoint.md)\n- [Himalayas Remote Jobs MCP vs Recruitee](https://www.anchorterminal.com/compare/himalayas-mcp-vs-recruitee.md)\n- [Himalayas Remote Jobs MCP vs SmartRecruiters](https://www.anchorterminal.com/compare/himalayas-mcp-vs-smartrecruiters.md)\n- [Himalayas Remote Jobs MCP vs Teamtailor](https://www.anchorterminal.com/compare/himalayas-mcp-vs-teamtailor.md)\n- [Himalayas Remote Jobs MCP vs Workable](https://www.anchorterminal.com/compare/himalayas-mcp-vs-workable.md)\n- [Himalayas Remote Jobs MCP vs Zoho Recruit](https://www.anchorterminal.com/compare/himalayas-mcp-vs-zoho-recruit.md)\n- [Lever vs Manatal](https://www.anchorterminal.com/compare/lever-vs-manatal.md)\n- [Lever vs Pinpoint](https://www.anchorterminal.com/compare/lever-vs-pinpoint.md)\n- [Lever vs Recruitee](https://www.anchorterminal.com/compare/lever-vs-recruitee.md)\n- [Lever vs SmartRecruiters](https://www.anchorterminal.com/compare/lever-vs-smartrecruiters.md)\n- [Lever vs Teamtailor](https://www.anchorterminal.com/compare/lever-vs-teamtailor.md)\n- [Lever vs Workable](https://www.anchorterminal.com/compare/lever-vs-workable.md)\n- [Lever vs Zoho Recruit](https://www.anchorterminal.com/compare/lever-vs-zoho-recruit.md)\n- [Lever vs NeverApply](https://www.anchorterminal.com/compare/lever-vs-neverapply.md)\n- [AI Job Search vs Himalayas Remote Jobs MCP](https://www.anchorterminal.com/compare/ai-job-search-vs-himalayas-mcp.md)\n- [Himalayas Remote Jobs MCP vs NeverApply](https://www.anchorterminal.com/compare/himalayas-mcp-vs-neverapply.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Himalayas Remote Jobs MCP vs Lever",
        "url": ""
      }
    ],
    "description": "Himalayas Remote Jobs MCP scores 47.8 (D) to Lever's 45.1 (E) for recruiting. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Himalayas Remote Jobs MCP D 47.8",
      "Lever E 45.1",
      "scores"
    ],
    "h1": "Himalayas Remote Jobs MCP vs Lever",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/himalayas-mcp-vs-lever",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Himalayas Remote Jobs MCP vs Lever for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-08",
    "url": "https://www.anchorterminal.com/compare/himalayas-mcp-vs-lever"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 1180
  },
  "version": 1
}
