elentra-local-connector
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@elentra-local-connectorShow me my Elentra schedule for next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 DesktopFour 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-runnablepnpm 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 handoffpnpm 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.
This server cannot be installed
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 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.
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/noorabdalla04/elentra-local-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server