benepass-mcp
benepass-mcp
Servidor MCP de solo lectura y no oficial para la API de empleados web de Benepass.
Este proyecto no está afiliado, respaldado ni soportado por Benepass. Se basa en ingeniería inversa del cliente público de empleados web. No contactes con el soporte de Benepass sobre este servidor, problemas de inicio de sesión, endpoints faltantes o cualquier otra cosa relacionada con esta herramienta no oficial.
El nombre del paquete en el registro público ya está ocupado. Este repositorio establece private: true y no se publica allí.
Estructura
src/index.ts— entrada stdio (serveStdio)src/server.ts— fábricaMcpServersrc/tools.ts— adaptadores MCP ligeros (TOOL_NAMES)src/app.ts— raíz de composiciónsrc/accounts.ts— derivación de beneficios, selección de cuenta HSAsrc/hsa.ts— recorrido de ruta GET de inversionessrc/api.ts— cliente HTTP de Benepass solo GETsrc/http.ts— ky + lista de hosts permitidossrc/cognito.ts— OTP de Cognito + renovación de tokensrc/session.ts— archivo de sesión localsrc/schemas.ts— modelos Zod para JSON de Benepasssrc/errors.ts— errores tipadostest/— Vitest (cliente MCP en proceso + pruebas unitarias)
Related MCP server: appstoreconnect-codex-mcp
Modelo de seguridad
Solo lectura. El cliente ky para
api.benefitsapi.comlanza una excepción si el método no es GET. No hay herramientas para depósitos, retiros, envío/actualización/eliminación de gastos, tarjetas/PIN, pagos ocall_apigenérico.Los tokens permanecen en tu máquina. Después del inicio de sesión con OTP, el token de renovación de Cognito se almacena en
~/.config/benepass-mcp/session.json(XDG medianteenv-paths), con modo0600. Se puede sobrescribir conBENEPASS_SESSION_PATH(con dos P). Las herramientas nunca devuelven tokens de acceso o renovación. Los tokens nunca se registran. Los archivos de sesión están en gitignore.Solo hosts de salida:
cognito-idp.us-east-1.amazonaws.com,cognito.benefitsapi.com,api.benefitsapi.com.El ID de cliente de la aplicación Cognito
6l7jeu4r44kgndgeab4aot355mes un ID de cliente público (no un secreto); está integrado en la aplicación de empleados web.
Flujo de inicio de sesión
Llama a
start_logincon tu correo electrónico de Benepass. Cognito InitiateAuth CUSTOM_AUTH envía un OTP.Llama a
complete_logincon el correo electrónico, el OTP ychallenge_session. Cognito RespondToAuthChallenge CUSTOM_CHALLENGE produce un token de renovación que se escribe en el archivo de sesión local. La herramienta devuelve solo{ ok, email }.Las llamadas API posteriores envían
grant_type=refresh_tokena la URL del token y envían el token de acceso como Authorization Bearer. Se respeta la caducidad (expires_inyexpdel JWT).Si se omite
workspace_id, se hace GET a/v2/me/workspaces/y se persiste el primer espacio de trabajo contype=employment.
Herramientas
Autenticación: start_login, complete_login, auth_status, logout.
Lecturas: list_workspaces, list_accounts, list_benefits (derivado de enrollment.benefit de las cuentas + saldo disponible), list_transactions, get_hsa_account_details, get_hsa_investments, list_documents, get_document, get_current_user.
list_benefits: Benepass no tiene /v2/me/benefits/. Los beneficios se derivan de enrollment.benefit de cada cuenta y de la clave de saldo que termina en /available.
get_hsa_investments: intenta solo GET, gana el primer 2xx:
/v2/me/accounts/{id}/hsa-investments//v2/me/accounts/{id}/hsa-investments/portfolio//v2/me/accounts/{id}/hsa-investments/portfolio/allocation//v2/me/accounts/{id}/hsa-investments/asset-links/
Si se omite account_id, las cuentas HSA se seleccionan a partir de campos analizados con Zod (enrollment.benefit.benefit_type, enrollment.benefit.key, account.key, account.account_type, account.type) que coinciden con hsa / health_savings / health_savings_account. Los nombres de cuenta no se buscan. Si esos campos están ausentes, la herramienta recurre a un ID de cuenta en GET /v2/me/hsa-account-details/. Si todos los candidatos devuelven 404, la herramienta genera un error e incluye esa carga útil de get_hsa_account_details. Esas rutas GET de inversiones se obtuvieron mediante ingeniería inversa y pueden no existir para todas las cuentas.
Licencia
MIT
Stdio
Este servidor habla MCP en stdout y escribe registros en stderr. Usa el script start después de build, o el script dev durante el desarrollo.
Cursor
Añade una entrada benepass a la configuración de MCP (mcp.json) que lance la entrada compilada de este paquete. Autentícate con start_login y luego complete_login.
La configuración de ejemplo de Cursor está en cursor-mcp.example.json.
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
- FlicenseBqualityDmaintenanceEnables read-only access to FileMaker databases through the Data API, allowing users to retrieve records, analyze metadata, search across layouts, and infer relationships while maintaining data security.16
- AlicenseNot gradedqualityBmaintenanceEnables read-only interaction with App Store Connect via MCP tools, including listing apps, versions, builds, and review submissions, with compliance boundaries and no write operations by default.MIT
- AlicenseNot gradedqualityCmaintenanceRead-only access to Stripe data including customers, charges, subscriptions, balance, and invoices.12MIT
- AlicenseNot gradedqualityCmaintenanceEnables read-only access to Bity cryptocurrency account balances, market data (ticker, order book, trades), and order history via the official API.MIT
Related MCP Connectors
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.
Read your Savee saves, boards and home feed, and search its public library. Read-only.
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/brian7989/benepass-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server