Skip to main content
Glama
pendevster

job-search-mcp

by pendevster

job-search-mcp

Ein MCP-Server für die Jobsuche unter einer Visa-Beschränkung.

Wenn du Sponsoring brauchst, beantwortet die meiste Job-Such-Software die falsche Frage. Sie sagt dir, dass eine Stelle existiert. Sie sagt dir nicht, ob der Arbeitgeber dich legal einstellen kann, ob der Titel „mid-level“ eigentlich eine Senior-Rolle verbirgt oder ob das Unternehmen, das die Stelle ausschreibt, eine Personalvermittlung ist, die überhaupt keine Lizenz besitzt.

Dieser Server beantwortet diese Fragen. Er stellt vier Tools über das Model Context Protocol bereit, damit ein KI-Assistent sie selbst prüfen kann, statt zu raten.

Tools

Tool

Antwort

check_sponsor

Hält dieser Arbeitgeber eine UK-Skilled-Worker-Lizenz – und wie sehr kann ich dem Treffer vertrauen?

screen_posting

Gibt es hier harte Ausschlusskriterien? Sagt der Titel die Wahrheit über die Seniorität?

search_roles

Was ist gerade live, abzüglich der Agenturen?

application_history

Habe ich mich hier bereits beworben?

Related MCP server: recruiting-jobs-mcp

Warum es Vertrauensstufen gibt

Der naheliegende Weg, eine Sponsoring-Lizenz zu prüfen, ist, im Register nach dem Unternehmensnamen zu suchen. So hat es angefangen, und es ist falsch, oft genug falsch, um gefährlich zu sein.

Unternehmensnamen kollidieren. Um Pimberly mit dem eingetragenen Namen Pimberly Software Development Limited abzugleichen, entfernt man Wörter wie „Software“ und „Limited“. Dieselbe Normalisierung macht aus Minerva Defence ein minerva, das dreizehn nicht zusammenhängende Unternehmen trifft: einen Einrichtungsbetrieb, eine Kreditagentur, einen Anbieter für betreutes Wohnen.

Deshalb gibt check_sponsor einen Vertrauensgrad zurück, keinen booleschen Wert:

  • high – der markanteste Teil des Namens wurde exakt, einmal.

  • verify – etwas wurde gefunden, aber es könnte Zufall sein. Bestätige die eingetragene Rechtsform des Unternehmens und schlage diesen Namen nach.

  • none – nichts wurde nicht. Das ist kein Beweis, dass sie nicht sponsern können. Viele zugelassene Arbeitgeber treten unter einem Namen auf, der nicht dem eingetragenen entspricht.

Reale cases, die das geprägt haben:

Suchbegriff

Treffer

Was tatsächlich vorlag

Minerva Defence

13 slicks nicht „Minerva“-Einträge

MINERVA DEFENCE LTD ist weder im Register manufactory lisethe, noch der frühere Name PARABELLUM TECHNOLOGIES LTD

Prevail

Prevail Technology Limited (Poole)

Der Arbeitgeber ist Prevail Partners Ltd, fehlt im Register. Gleiche, anderes Unternehmen

MAGIC

MAGIC SOFTWARE SERVICES LTD

Richtige Antwort, falscher Beleg. Der Arbeitgeber ist MAGIC TECH LTD und ebenfalls lizenziert

TransPerfect

PERFECT DIGITAL LTD

Der Treffer erfolgte über das Wort „perfect“

eFinancialCareers

eFinancialCareers Ltd

Richtig und nutzlos: lizenziert, aber eine Jobbörse. Stellen unter diesem Namen gehören not ebeneiche Dritten

Warum screen_posting den Text liest statt des Titels

Eine Anzeige mit dem Titel „Software Engineer“ begann mit „As a Senior Software Engineer you will“ und bat jemand zu „the finding team“ zu stoßene. Eine andere mit dem Titel „Software Engineer (Java Mid)“ verwies drei Absätze weiter unten auf eine Senior-Stufe. Wer fon Titel filternen, übersieht beide.

screen_posting erkennt darüber hinaus harte Ausschlusskriterien, die kein Bewerbungscoaching aushebeln kann:

You must be a UK citizen and have lived in the UK for the past 10 years.
You must already hold high-level UK security clearance.

und denjenigen, der mit einem Sponsoring am wichtigsten ist – von einem Unternehmen, das eine Lizenz mit A-Rating besitzt:

We are unable to offer visa sponsorship for this role. Candidates who need visa
sponsorship now or will need it in the future will not be considered.

Eine Lizenz bedeutet, dass ein Unternehmen sponsern kann. Es ist nicht gesagt, dass es sponsern wird.

Warum search_roles einen Funnel zurückgibt

Britische Jobplatze werden von Personalvermittlungsagenturen dominiert, und diese Agenturen sind nicht Inhaber der Sponsor-Lizenz für die ausgeschriebene Stelle. Das Herausfiltern der Absender ist essenziell und zu brutal: Eine typische Suche schrumpf von sieben Suchergebnissen auf eines.

Ein einziges Ergebnis ohne Erklärung das fühlt sich wie Fehler an. Deshalb gibt lies dashboard alle, alle für each Stellung entfernt wurden:

{
  "totalFromSource": 7,
  "funnel": { "fromSource": 7, "afterAgencyFilter": 2, "afterSalaryAndAge": 1 },
  "notes": ["5 of 7 results were recruitment agencies or job boards. ..."]
}

Nicht oder inhalt nicht veröffentlichtee Gehälter werden behalten, never herausgefiltert. Rückhalt um Gehälter ist kein Beweis für niedrige Bezahlung.

Install

npm install && npm run build

Lade das aktuelle Register herunter (regelmäßig aktualisiert, ca. 11 MB):

https://www.gov.uk/government/publications/register-of-licensed-sponsors-workers

Speichere es als data/register.csv oder verweise SPONSOR_REGISTER_PATH darauf.

Claude Desktop / Claude Code

{
  "mcpServers": {
    "job-search": {
      "command": "node",
      "args": ["/absolute/path/to/job-search-mcp/dist/index.js"],
      "env": {
        "SPONSOR_REGISTER_PATH": "/absolute/path/to/data/register.csv",
        "REED_API_KEY_FILE": "/absolute/path/to/.reed-api-key"
      }
    }
  }
}

Variable

Erforderlich

Zweck

SPONSOR_REGISTER_PATH

nein

Register-CSV. Standard ./data/register.csv

REED_API_KEY_FILE

für search_roles

Ort einer Datei verschlange Schlüssels. Vorzuziehen: *.* ...* lies the Geheimnis an einer Stelle und die Client-Konfiguration nur den Pfad

REED_API_KEY

alternativ

Den Schlüssel direkt. Einفach, aber kopiert den Schlüssel in der MCP-Konfiguration

APPLICATION_LEDGER_PATH

nein

NDJSON-Bewerbungsverlauf

In normaler Betrieb werden keine Zugangs daten aus repo-internen Datei gelesen, und die Registersdaten liegen in .gitignore.

Oder mit der Claude-Code-CLI:

claude mcp add job-search --scope user \
  --env SPONSOR_REGISTER_PATH=/path/to/data/register.csv \
  --env REED_API_KEY_FILE=/path/to/.reed-api-key \
  -- node /path/to/job-search-mcp/dist/index.js

Tests

npm test

54 Tests. Jedes Fixture ist eine echte Herstellung oder ein echt Registereintrag, der einen frühere Version dieses Codes geschlagen hat. Die Reed-Tests mocken fetch, sodass die Suite offline läuft und kein API-Kontingent verbraucht.

Zwei Fehler, welche die Suite finden konnte, als sie geschrieben wurde:

  • £40,000-85,000 wurde als Pauschalbetrag £40,000 eingespreist da Prob, weil der zweite Betrag keine Währungssymbol enthält. An einer Gehaltsschwelle entspricht das dem Unterschied zwischen „erreicht“ und „nicht erreicht“.

  • Ein Agenturfilter, entlang \brecruit\b geschrieben, traf funktional weder Recruitment noch Consultancy. Und ca. fünfzig Agenten sind einfach durchgerüchert.

Design – Vermerk

core() egal – macht gezielt Beschreibung Sprung: By removal-Trages Remove descriptors deswegen Abgleich Markenkern und Firmierung funktional it. But genau das führt zu false positives. Der Vertrauensgrad weist den Preis diesen Trade-off aus, statt ihn zu verstecken.

Absenz ist kein Gegenbeweis. none bringt das Einspre aside Hinweis mit. The teuerste Error in this domain is die Folgerung unwilliger Arbeitgeber ist der sebstständiger operator – „die Search“ Fehler: none.

In anderen Worten: Wer einen nicht gelisteten Arbeitgeber nicht sponserungsfähig erklärt, macht den größten Fehler nei.

Read-only. Der Server liest das Bewerbungen-New-Legion, schreibt aber nicht. A Buchführungsergebnis ist eine Entscheidung, die ein Mensch muss.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-driven job application automation for LinkedIn and SEEK platforms with intelligent cover letter generation, automated application submission, and application tracking management. Supports anti-detection measures and complies with platform usage policies for safe job hunting automation.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to pull live job listings from major ATS platforms (Greenhouse, Lever, Ashby, Workable), Hacker News hiring threads, and detect hiring signals on company career pages.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to discover, filter, and track job openings based on the user's local resume, without uploading data to the cloud.
    11
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search live jobs, view full details, save and track applications in a Kanban board, set follow-up reminders, and subscribe to job alerts—no account needed for searching.
    20
    269
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pendevster/job-search-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server