benepass-mcp
benepass-mcp
Inoffizieller, schreibgeschützter MCP-Server für die Benepass-Employee-Web-API.
Dieses Projekt ist nicht mit Benepass verbunden, von Benepass unterstützt oder befürwortet. Es rekonstruiert den öffentlichen Employee-Web-Client. Kontaktieren Sie den Benepass-Support nicht bezüglich dieses Servers, Anmeldeproblemen, fehlenden Endpunkten oder irgendetwas anderem, das mit diesem inoffiziellen Tool zusammenhängt.
Der Paketname in der öffentlichen Registry ist bereits vergeben. Dieses Repository setzt private: true und ist dort nicht veröffentlicht.
Layout
src/index.ts— stdio-Einstiegspunkt (serveStdio)src/server.ts—McpServer-Factorysrc/tools.ts— dünne MCP-Adapter (TOOL_NAMES)src/app.ts— Kompositionswurzelsrc/accounts.ts— Benefits-Ableitung, HSA-Kontoauswahlsrc/hsa.ts— Investment-GET-Pfad-Walksrc/api.ts— GET-only Benepass-HTTP-Clientsrc/http.ts— ky + Host-Allowlistsrc/cognito.ts— Cognito-OTP + Token-Aktualisierungsrc/session.ts— lokale Sitzungsdateisrc/schemas.ts— Zod-Modelle für Benepass-JSONsrc/errors.ts— typisierte Fehlertest/— Vitest (In-Process-MCP-Client + Unit-Tests)
Related MCP server: appstoreconnect-codex-mcp
Sicherheitsmodell
Schreibgeschützt. Der ky-Client für
api.benefitsapi.comwirft einen Fehler, wenn die Methode nicht GET ist. Es gibt keine Tools für Einzahlungen, Abhebungen, Spesen-Einreichung/-Aktualisierung/-Löschung, Karten/PIN, Auszahlungen oder generischescall_api.Tokens bleiben auf Ihrem Rechner. Nach dem OTP-Login wird das Cognito-Refresh-Token unter
~/.config/benepass-mcp/session.jsongespeichert (XDG überenv-paths), Modus0600. Überschreiben mitBENEPASS_SESSION_PATH(zwei P's). Tools geben niemals Refresh- oder Access-Tokens zurück. Tokens werden nie protokolliert. Sitzungsdateien sind gitignored.Nur ausgehende Hosts:
cognito-idp.us-east-1.amazonaws.com,cognito.benefitsapi.com,api.benefitsapi.com.Die Cognito-App-Client-ID
6l7jeu4r44kgndgeab4aot355mist eine öffentliche Client-ID (kein Geheimnis); sie ist in die Employee-Web-App eingebettet.
Anmeldeablauf
Rufen Sie
start_loginmit Ihrer Benepass-E-Mail auf. Cognito InitiateAuth CUSTOM_AUTH sendet ein OTP.Rufen Sie
complete_loginmit E-Mail, OTP undchallenge_sessionauf. Cognito RespondToAuthChallenge CUSTOM_CHALLENGE liefert ein Refresh-Token, das in die lokale Sitzungsdatei geschrieben wird. Das Tool gibt nur{ ok, email }zurück.Spätere API-Aufrufe senden POST
grant_type=refresh_tokenan die Token-URL und senden das Access-Token als Authorization Bearer. Die Ablaufzeit wird berücksichtigt (expires_inund JWTexp).Wenn
workspace_idweggelassen wird, GET/v2/me/workspaces/und den erstentype=employment-Workspace speichern.
Tools
Auth: start_login, complete_login, auth_status, logout.
Reads: list_workspaces, list_accounts, list_benefits (abgeleitet aus Konten enrollment.benefit + verfügbarer Saldo), list_transactions, get_hsa_account_details, get_hsa_investments, list_documents, get_document, get_current_user.
list_benefits: Benepass hat kein /v2/me/benefits/. Benefits werden aus jedem Konto enrollment.benefit und dem Saldoschlüssel, der auf /available endet, abgeleitet.
get_hsa_investments: versucht nur GET, der erste 2xx gewinnt:
/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/
Wenn account_id weggelassen wird, werden HSA-Konten aus Zod-geparsten Feldern (enrollment.benefit.benefit_type, enrollment.benefit.key, account.key, account.account_type, account.type) ausgewählt, die mit hsa / health_savings / health_savings_account übereinstimmen. Kontonamen werden nicht durchsucht. Wenn diese Felder fehlen, fällt das Tool auf eine Konto-ID bei GET /v2/me/hsa-account-details/ zurück. Wenn jeder Kandidat 404 liefert, gibt das Tool einen Fehler aus und enthält diese get_hsa_account_details-Nutzlast. Diese Investment-GET-Pfade sind reverse-engineered und existieren möglicherweise nicht für jedes Konto.
Lizenz
MIT
Stdio
Dieser Server spricht MCP auf stdout und schreibt Logs auf stderr. Verwenden Sie das start-Skript nach build oder das dev-Skript während der Entwicklung.
Cursor
Fügen Sie einen benepass-Eintrag zu den MCP-Einstellungen (mcp.json) hinzu, der den kompilierten Einstieg dieses Pakets startet. Authentifizieren Sie sich mit start_login und dann complete_login.
Eine Beispiel-Cursor-Konfiguration finden Sie in 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