Skip to main content
Glama

elentra-local-connector

Приватный локальный MCP-коннектор только для чтения, который позволяет Claude Desktop искать ваши собственные данные uOttawa Elentra — используя вашу существующую аутентифицированную сессию Chrome, а не храня какие-либо учётные данные.

Спецификация: PRD-FINAL.md является источником истины. Статус: только для чтения. write_enabled = false — константа времени сборки.

Что здесь означает «live»

Данные достаточно актуальны пока коннектор активен — это не гарантия push-уведомлений. Elentra не предоставляет ни webhooks, ни WebSocket, ни SSE, поэтому используется опрос. Токен аутентификации действует 60 минут, поэтому устаревшие данные — это норма; каждый ответ инструмента содержит fetched_at, is_stale и staleness_seconds, чтобы Claude говорил «по состоянию на 3 часа назад», а не подразумевал актуальность в реальном времени.

Архитектура

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

Четыре процесса — намеренно. Chrome запускает хост native-messaging как дочерний процесс, поэтому демон, который является этим хостом, умирал бы вместе с Chrome — прерывая фоновый опрос ICS — и перезапускался бы при каждом перезапуске service-worker, порождая двух писателей в базе данных WAL, которая допускает только одного писателя. Ретранслятор требует ~100 строк без состояния и устраняет обе проблемы.

Настройка

Сборка автоматизирована; сопряжение — нет. Смотрите docs/HANDOFF.md — около 10 минут шагов в Chrome и macOS, которые нельзя автоматизировать скриптом.

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

pnpm bootstrap выполняет всё, что можно автоматизировать, и сообщает, что осталось. Отдельные шаги, если вы предпочитаете выполнить их вручную:

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 работает полностью офлайн: фикстуры синтетические, а tests/no-network.setup.ts заменяет fetch функцией, которая выбрасывает исключение, поэтому любой тест, который обращается к сети, завершается ошибкой, а не молча проходит.

Гарантии

  • Никогда не хранит ваш пароль; никакого кода для работы с паролем не существует.

  • Никогда не экспортирует куки браузера.

  • Никогда не автоматизирует вход, MFA или продление SSO — по истечении срока он останавливается и сообщает вам.

  • Никогда не предоставляет модели универсальный инструмент request(method, url).

  • Репозиторий содержит только код; фикстуры на 100% синтетические.

См. SECURITY.md для инвариантов и PRIVACY.md для того, что попадает в Anthropic.

Лицензия

MIT — см. LICENSE.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors