Skip to main content
Glama

elentra-local-connector

A private, local, read-only MCP connector that lets Claude Desktop search your own uOttawa Elentra data — by borrowing your existing authenticated Chrome session rather than storing any credential.

Spec: PRD-FINAL.md is authoritative. Status: read-only. write_enabled = false is a build-time constant.

What "live" means here

Reasonably current while the connector is active — never a push guarantee. Elentra exposes no webhooks, no WebSocket, and no SSE, so this polls. The auth token lasts 60 minutes, so stale is the normal case; every tool response carries fetched_at, is_stale, and staleness_seconds so Claude says "as of 3 hours ago" instead of implying live truth.

Architecture

Chrome MV3 extension   has the session · owns the allowlist · GET only
        │              no chrome.cookies · no chrome.scripting
        ▼  native messaging
relay                  thin, stateless, ~100 LOC
        │  unix socket (0600)
        ▼
daemon (launchd)       sole DB writer · parsers · ICS poller · audit
        │  direct SQLite read-only (WAL)
        ▼
mcp-server (stdio)     read-only tools → Claude Desktop

Four processes, deliberately. Chrome spawns a native-messaging host as a child process, so a daemon that is that host would die with Chrome — killing unattended ICS polling — and be re-spawned on every service-worker restart, producing two writers against a WAL database that permits one. The relay costs ~100 stateless lines and removes both problems.

Setup

The build is automated; the wiring is not. See docs/HANDOFF.md — about 10 minutes of Chrome and macOS steps that cannot be scripted.

pnpm install
pnpm bootstrap  # build, keys, index, daemon, health — idempotent, re-runnable

pnpm bootstrap does everything scriptable and reports what is left. The individual steps, if you would rather run them yourself:

pnpm verify     # typecheck + lint + test + secret scan — the gate
pnpm build      # four bundles: mcp, daemon, relay, extension
pnpm build:mcpb # the Claude Desktop .mcpb — separate from pnpm build
pnpm health     # live diagnostics, after handoff

pnpm install && pnpm verify runs fully offline: fixtures are synthetic, and tests/no-network.setup.ts replaces fetch with a thrower, so any test that reaches for the network fails rather than silently succeeding.

Guarantees

  • Never stores your password; no password code path exists.

  • Never exports browser cookies.

  • Never automates login, MFA, or SSO renewal — on expiry it stops and tells you.

  • Never exposes a generic request(method, url) tool to the model.

  • Repo contains code only; fixtures are 100% synthetic.

See SECURITY.md for the invariants and PRIVACY.md for what reaches Anthropic.

License

MIT — see LICENSE.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

  • Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

View all MCP Connectors

Latest Blog Posts

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/noorabdalla04/elentra-local-connector'

If you have feedback or need assistance with the MCP directory API, please join our Discord server