instaffo-mcp-server
instaffo-mcp-server
Un servidor MCP que le da a un asistente de IA acceso a tu propia cuenta de candidato de Instaffo, autenticada con tu propia sesión del navegador. Herramienta personal de búsqueda de empleo. Se ejecuta completamente en local.
Instaffo es un mercado de reclutamiento bidireccional (los candidatos se emparejan con empresas). Este servidor expone el lado del candidato: lee tu perfil y sugerencias de empleo, lee conversaciones y realiza acciones de escritura reversibles, desde un cliente MCP.
Cómo funciona
Instaffo no tiene una API pública de candidatos, por lo que el servidor se autentica con una sesión real iniciada. Su aplicación web de candidatos se comunica con una API JSON limpia bajo app.instaffo.com/candidate/api/v1/*, autenticada únicamente por la cookie de sesión (sin token de portador). Por lo tanto, el servidor es un cliente httpx delgado autenticado por cookie, no un scraper. Un navegador (a través de patchright) se usa solo una vez, para generar la sesión al iniciar sesión.
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
Configuración
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 storedRegístralo con tu cliente MCP (stdio):
{
"command": "uv",
"args": ["run", "--directory", "/path/to/instaffo-mcp-server", "instaffo-mcp"]
}Herramientas
Lecturas (sin efectos secundarios):
Herramienta | Lo que devuelve |
| tu identidad (nombre, correo electrónico, puesto de trabajo) |
| tu perfil: antigüedad, ubicación, habilidades, resumen del CV |
| tus coincidencias actuales, con contadores |
| un rol completo: descripción, requisitos, salario, preguntas de selección |
| solicitudes de empresas (interés entrante) y tus postulaciones |
| si hay una sesión presente ( |
| buscar uuids de habilidades en el vocabulario cerrado de Instaffo |
Escrituras (cada herramienta de escritura requiere confirm; sin él no se realiza ninguna llamada de red y recibes la carga útil exacta que se enviaría):
Herramienta | Efecto | Endpoint |
| marcar una sugerencia como favorita |
|
| reemplazar el texto Acerca de mí |
|
| reemplazar el conjunto de habilidades |
|
| reemplazar la lista de idiomas |
|
| reemplazar la experiencia en la industria |
|
| reemplazar enlaces sociales |
|
| establecer el nivel de experiencia laboral |
|
| expectativa salarial anual |
|
| roles objetivo (impulsa la coincidencia) |
|
| activo / pasivo |
|
| añadir una entrada de trabajo o educación |
|
| editar una entrada en su lugar |
|
| eliminar una entrada (irreversible) |
|
| años por habilidad |
|
Todos los endpoints son observados, nunca adivinados. El contrato del que se construyeron es docs/API.md, fechado y derivado de una captura registrada.
Por qué cada escritura lee de vuelta
Esta API devuelve un simple {"success": true} para cada escritura, y valida solo parcialmente — un PATCH con campos obligatorios omitidos, o con valores de tipo incorrecto, también devuelve {"success": true}. Por lo tanto, la respuesta no puede decirte qué se almacenó. Cada herramienta de escritura vuelve a leer GET /profile e informa verified más value_now; confía en esos, no en la respuesta.
Dos trampas de campo que vale la pena conocer antes de llamar a cualquier cosa:
instaffo_set_skillsvuelve a derivartopSkillsdel lado del servidor. No hay ningún campotopSkillspara enviar ni ningún control de UI para ello. Un guardado con el conjunto de habilidades sin cambios aún movió las tres principales.Skills cap at 23 (
skills20 +topSkills3). Excederlo devuelve"maximum is 20 characters"— el mensaje dice characters, la unidad son elementos.
Supervisado, a propósito: postular y enviar mensajes
Dos acciones están intencionalmente no implementadas como herramientas de lanzar y olvidar: postular a un empleo y enviar un mensaje a un reclutador.
Postular no es una sola solicitud. Es un asistente de varios pasos que escribe representaciones personales duraderas en tu perfil real antes de enviarlo:
una autoevaluación de habilidades (controles deslizantes de años por habilidad requerida, p. ej., 0-5), que se guarda automáticamente en tu perfil a través de
experience_durations/bulk_save,tu expectativa salarial (prellenada desde tu perfil),
una selección múltiple de "herramientas de IA que usas" y "habilidades de IA",
un envío final que crea la postulación y abre un chat con el reclutador.
Debido a que esas son elecciones reales y visibles sobre cómo te presentas, y el endpoint de envío final solo aparece una vez que se completa todo el flujo, las herramientas de postular y enviar mensajes se dejan para una sesión supervisada donde el propietario de la cuenta aprueba las entradas. No están construidas contra un endpoint adivinado. Los subpasos observados y la forma del asistente se registran aquí para que esa sesión sea rápida.
Comandos
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]Seguridad y privacidad
El material de sesión (
profile/,storage-state.json,captures/,.env) reside en~/.instaffo-mcp, se escribe con permisos0600y está en git-ignore. Nunca se confirma.Las herramientas de escritura están protegidas por confirmación y solo tocan superficies reversibles.
Esta es una herramienta personal y local para tu propia cuenta. No almacena datos de nadie más y solo se comunica con Instaffo con tu propia sesión.
Trabajo previo
Los patrones de captura de sesión y navegador están adaptados en espíritu de stickerdaniel/linkedin-mcp-server (Apache-2.0), que autentica una sesión personal de LinkedIn de la misma manera.
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