instaffo-mcp-server
instaffo-mcp-server
Ein MCP-Server, der einem KI-Assistenten Zugriff auf Ihren eigenen Instaffo-Kandidatenaccount gibt, authentifiziert mit Ihrer eigenen Browser-Sitzung. Persönliches Job-Such-Tool. Läuft vollständig lokal.
Instaffo ist ein zweiseitiger Recruiting-Marktplatz (Kandidaten werden mit Unternehmen gematcht). Dieser Server stellt die Kandidatenseite bereit: Lesen Sie Ihr Profil und Stellenvorschläge, lesen Sie Unterhaltungen und führen Sie reversible Schreibaktionen von einem MCP-Client aus.
Funktionsweise
Instaffo hat keine öffentliche Kandidaten-API, daher authentifiziert sich der Server mit einer echten eingeloggten Sitzung. Seine Kandidaten-Web-App kommuniziert mit einer sauberen JSON-API unter app.instaffo.com/candidate/api/v1/*, die ausschließlich durch das Sitzungscookie authentifiziert wird (kein Bearer-Token). Der Server ist also ein schlanker, cookie-authentifizierter httpx-Client, kein Scraper. Ein Browser (über patchright) wird nur einmal verwendet, um die Sitzung beim Login zu erstellen.
MCP client ── stdio ──> instaffo-mcp-server ──cookie──> app.instaffo.com JSON API
│
storage-state.json (cookies, written 0600, git-ignored)
▲
instaffo-mcp --login (one-time browser sign-in)Related MCP server: Chrome MCP Server
Setup
uv sync
uv run patchright install chromium # one-time, for login only
uv run instaffo-mcp --login # opens a browser; sign in once
uv run instaffo-mcp --auth-status # confirm the session is storedRegistrieren Sie es bei Ihrem MCP-Client (stdio):
{
"command": "uv",
"args": ["run", "--directory", "/path/to/instaffo-mcp-server", "instaffo-mcp"]
}Werkzeuge
Leseoperationen (keine Nebenwirkungen):
Tool | Rückgabe |
| Ihre Identität (Name, E-Mail, Berufsbezeichnung) |
| Ihr Profil: Dienstalter, Standort, Fähigkeiten, Lebenslauf-Zusammenfassung |
| Ihre aktuellen Matches, mit Zählern |
| eine Rolle vollständig: Beschreibung, Anforderungen, Gehalt, Screening-Fragen |
| Unternehmensanfragen (eingehendes Interesse) und Ihre Bewerbungen |
| ist eine Sitzung vorhanden ( |
| Fähigkeiten-UUIDs in Instaffos geschlossenem Vokabular nachschlagen |
Schreiboperationen (jedes Schreibwerkzeug erfordert confirm; ohne dieses wird kein Netzwerkaufruf getätigt und Sie erhalten die exakte Nutzlast zurück, die gesendet worden wäre):
Tool | Wirkung | Endpunkt |
| einen Vorschlag als Lesezeichen speichern |
|
| ersetzt den 'Über mich'-Text |
|
| ersetzt den Fähigkeiten-Satz |
|
| ersetzt die Sprachliste |
|
| ersetzt die Branchenerfahrung |
|
| ersetzt die sozialen Links |
|
| legt das Berufserfahrungsniveau fest |
|
| jährliche Gehaltserwartung |
|
| Zielrollen (steuert Matching) |
|
| aktiv / passiv |
|
| einen Arbeits- oder Bildungseintrag hinzufügen |
|
| einen Eintrag bearbeiten |
|
| einen Eintrag entfernen (irreversibel) |
|
| Jahre pro Fähigkeit |
|
Alle Endpunkte wurden beobachtet, nie erraten. Der Vertrag, aus dem sie erstellt wurden, ist docs/API.md, datiert und aus einer aufgezeichneten Aufnahme abgeleitet.
Warum jeder Schreibvorgang zurückliest
Diese API gibt ein bloßes {"success": true} für jede Schreiboperation zurück und validiert nur teilweise – ein PATCH mit fehlenden Pflichtfeldern oder mit falsch typisierten Werten gibt ebenfalls {"success": true} zurück. Die Antwort kann Ihnen daher nicht sagen, was gespeichert wurde. Jedes Schreibwerkzeug liest GET /profile erneut aus und meldet verified plus value_now; vertrauen Sie diesen, nicht der Antwort.
Zwei Fallstricke bei Feldern, die Sie kennen sollten, bevor Sie etwas aufrufen:
instaffo_set_skillsleitettopSkillsserverseitig neu ab. Es gibt keintopSkills-Feld zum Senden und kein UI-Steuerelement dafür. Ein Speichern mit unverändertem Fähigkeiten-Satz hat trotzdem die Top Drei verschoben.Fähigkeiten sind auf 23 begrenzt (
skills20 +topSkills3). Überschreitung gibt"maximum is 20 characters"zurück – die Nachricht sagt Zeichen, die Einheit sind Elemente.
Überwacht, absichtlich: Bewerben und Nachrichten
Zwei Aktionen sind absichtlich nicht als Feuer-und-Vergessen-Werkzeuge implementiert: Bewerben auf eine Stelle und Nachrichten an einen Recruiter.
Bewerben ist keine einzelne Anfrage. Es ist ein mehrstufiger Assistent, der dauerhafte Selbstdarstellungen in Ihr echtes Profil schreibt, bevor er absendet:
eine Selbsteinschätzung der Fähigkeiten (Jahresschieber pro erforderlicher Fähigkeit, z.B. 0-5), die über
experience_durations/bulk_saveautomatisch in Ihrem Profil gespeichert wird,Ihre Gehaltserwartung (aus Ihrem Profil vorausgefüllt),
eine Mehrfachauswahl zu „KI-Tools, die Sie nutzen“ und „KI-Fähigkeiten“,
eine endgültige Absendung, die die Bewerbung erstellt und einen Chat mit dem Recruiter öffnet.
Da es sich um echte, nach außen gerichtete Entscheidungen darüber handelt, wie Sie sich präsentieren, und der endgültige Absende-Endpunkt erst erscheint, wenn der gesamte Ablauf abgeschlossen ist, sind die Bewerbungs- und Nachrichtenwerkzeuge für eine überwachte Sitzung vorgesehen, in der der Kontoinhaber die Eingaben genehmigt. Sie sind nicht gegen einen erratenen Endpunkt gebaut. Die beobachteten Unterschritte und die Assistentenform sind hier festgehalten, damit diese Sitzung schnell verläuft.
Befehle
instaffo-mcp # run the MCP server (stdio)
instaffo-mcp --login # headed manual login, persist the session
instaffo-mcp --capture # record app API traffic to a JSONL (diagnostics)
instaffo-mcp --auth-status [--deep]Sicherheit und Privatsphäre
Sitzungsmaterial (
profile/,storage-state.json,captures/,.env) befindet sich unter~/.instaffo-mcp, wird mit Berechtigung0600geschrieben und ist in .gitignore aufgeführt. Es wird niemals committet.Schreibwerkzeuge sind bestätigungsgeschützt und berühren nur reversible Oberflächen.
Dies ist ein persönliches, lokales Werkzeug für Ihren eigenen Account. Es speichert keine Daten anderer und kommuniziert nur mit Instaffo mit Ihrer eigenen Sitzung.
Vorherige Arbeiten
Die Sitzungserfassungs- und Browser-Muster sind im Geiste von stickerdaniel/linkedin-mcp-server (Apache-2.0) übernommen, das eine persönliche LinkedIn-Sitzung auf dieselbe Weise authentifiziert.
Maintenance
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
- AlicenseAqualityAmaintenanceEnables AI assistants to interact with LinkedIn by scraping profiles, companies, job postings, and getting personalized job recommendations using authenticated browser automation.173,203Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to control and automate your Chrome browser directly, leveraging existing login states and configurations for tasks like content analysis, semantic search across tabs, screenshots, network monitoring, and interactive operations.10MIT
- AlicenseNot gradedqualityCmaintenanceLets AI assistants control your real Chrome browser to perform web tasks like reading pages, taking screenshots, clicking, and typing, using your existing logged-in sessions.131MIT

blackmount-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables AI assistants to access and search local browser history, bookmarks, open tabs, and downloads for personalized context.MIT
Related MCP Connectors
Give AI agents the LinkedIn tools to find, qualify, engage, and follow up with prospects.
Run LinkedIn outreach from your AI chat: find leads, launch campaigns, send, and reply.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/esinecan/instaffo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server