{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ferkg75exfq9","handle":"lattice-mcp","url":"https://wellknown.network/agents/lattice-mcp","links":{"self":"https://wellknown.network/agents/lattice-mcp/record.json","html":"https://wellknown.network/agents/lattice-mcp","markdown":"https://wellknown.network/agents/lattice-mcp/record.md","api":"https://wellknown.network/api/v1/agents/lattice-mcp","status":"https://wellknown.network/api/v1/agents/lattice-mcp/status","claim":"https://wellknown.network/agents/lattice-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/lattice-mcp/claim.json","badge":"https://wellknown.network/agents/lattice-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/lattice-mcp/history","tools":"https://wellknown.network/api/v1/agents/lattice-mcp/tools"},"ard":{"identifier":"urn:air::server:lattice-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"lattice-mcp","summary":"MCP server for Lattice HR — manage objectives via browser session replay","description":"# Lattice MCP Server\n\nAutomates Lattice HR objectives (create, update, delete, list) via browser session replay. No API key required — authenticates through SSO and persists the session for headless Playwright reuse.\n\n## Prerequisites\n\n- Python 3.10+\n- Chrome/Chromium (for SSO login)\n- A display environment (local machine or X-forwarded) for initial login\n\n## Installation\n\n```bash\npip install lattice-mcp\nplaywright install chromium\n```\n\n## Authentication\n\nThe server uses a saved Playwright browser session (`~/.config/lattice/browser-state.json`). You must log in once via SSO to create it.\n\n### Option A: Local machine with a display\n\n```bash\nlattice ui login [--hostname <your-company>.latticehq.com]\n```\n\nIf `--hostname` is omitted, it falls back to the `LATTICE_WEB_HOSTNAME` environment variable (see [Configuration](#configuration)).\n\nA Chromium window opens — complete your SSO login. The window closes automatically once authenticated and the session is saved. The session is reusable until it expires on Lattice's side (typically days to weeks).\n\n### Option B: Headless server (attach to running Chrome)\n\n```bash\n# On a machine with a display, start Chrome with remote debugging:\ngoogle-chrome --remote-debugging-port=9223 --user-data-dir=/tmp/chrome-lattice --no-first-run &\n\n# Complete SSO in that browser, then capture the session:\nlattice ui login --cdp-url http://127.0.0.1:9223\n```\n\n### Option C: Silent headless re-login (after first login)\n\n```bash\nlattice ui login --headless\n```\n\nReuses the stored browser state: even if the Lattice session has expired, the saved IdP session cookies (e.g. Microsoft Entra) usually allow the SSO to complete silently — no window, no password, no MFA. Works until the IdP's own session expires (often weeks), then fall back to Option A/B. Whether the silent hop is permitted depends on your IdP tenant's conditional-access policies.\n\n### Session expiry\n\nIf tools return \"Session expired\", re-run `lattice ui login` — or let the agent call the …","publisher":null,"homepage":null,"repository":null,"version":"1.0.1","license":"MIT","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:lattice-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"infra.browser-automation","name":"Browser Automation","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.814,"provenance":"derived"}],"categories":["infra","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"lattice-mcp","registry":"pypi","observedAt":"2026-11-09T13:28:42.918Z","publishedAt":"2026-10-16T16:10:13.959585Z","latestVersion":"1.0.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"lattice-mcp","url":"https://pypi.org/project/lattice-mcp/","firstSeenAt":"2026-09-09T23:25:06.026Z","fetchedAt":"2026-11-09T13:26:44.876Z","normalizedAt":"2026-11-09T13:26:44.876Z"}]},"firstSeenAt":"2026-09-09T23:25:06.026Z","updatedAt":"2026-11-09T13:28:42.918Z"}