operations-pulse
OfficialOperations Pulse
Локально-ориентированный (local-first) оркестратор циклов для полезных, объяснимых операций.
Operations Pulse превращает повторяющиеся проверки в доказательства, доказательства — в долговечные тикеты, а тикеты — в проверяемую оперативную память. По умолчанию он работает без платного сервиса: Node.js, SQLite, Git, локальных файлов и локальных логов достаточно, чтобы получить полезный пульс.
Это проект Openly Useful: полезные вещи, сделанные открыто.
Используйте актуальную инструкцию по настройке, безопасную для учётных данных, на operations-pulse-five.vercel.app.
Что входит в v0.1
Журнал (ledger) тикетов и пульса на базе SQLite.
Локальные проверки только на чтение для состояния репозитория, документации и настроенных файлов логов.
MCP-сервер с самоописываемыми инструментами и структурированными результатами.
Переносимый навык
operations-pulseдля Codex и совместимых агентов.Необязательные определения ролей для операций, анализа сигналов, триажа и интеграций.
Каталог подключений и управляемая настройка, которые различают пути: бесплатные/локальные, подписочные, host OAuth, собственный хостинг (self-hosted) и собственные учётные данные.
Полный журнал миграций: импортированные, переписанные, связанные или исключённые записи.
Related MCP server: Project Telos
Бесплатный быстрый старт: сначала бесплатно
Требования: Node.js 24 или новее. Для базового сценария не требуется API-ключ.
npm install
npm run build
node packages/core/dist/cli.js init
node packages/core/dist/cli.js pulse run --root .
node packages/core/dist/cli.js tickets listНастройте необязательный адаптер только на чтение, не размещая учётные данные в репозитории, базе данных SQLite, аргументе MCP или в истории чата:
export OPERATIONS_PULSE_GITHUB_TOKEN='stored by your shell or secret manager'
node packages/core/dist/cli.js connections configure \
--id github --mode env-token \
--credential-env OPERATIONS_PULSE_GITHUB_TOKEN
node packages/core/dist/cli.js connections test --id github
node packages/core/dist/cli.js pulse run --root . --connections githubНа локальной машине, где уже выполнен вход в GitHub CLI, альтернатива без копирования использует эту сессию только для проверки на чтение; её токен никогда не сохраняется и не выводится:
gh auth login
node packages/core/dist/cli.js connections configure --id github --mode github-cli
node packages/core/dist/cli.js connections test --id githubБраузерный выбор на apps/site генерирует эти безопасные шаги настройки. Он никогда не собирает учётные данные. OAuth хоста остаётся в собственном интерфейсе согласия хоста.
Запустите MCP-сервер через stdio:
npm run mcpПо умолчанию база данных находится в .operations-pulse/pulse.sqlite. Переопределите её с помощью OPERATIONS_PULSE_DB.
Модель безопасности
Operations Pulse работает только на чтение, если инструмент или команда явно не сообщает о записи. Запуски Pulse не создают тикеты без явного включения параметра --create-tickets (или эквивалентного аргумента MCP). Подключения отключены до настройки, учётные данные никогда не сохраняются в каталоге, а внешне видимые или платные действия требуют отдельной границы одобрения человеком.
Записи подключений содержат только идентификатор, не секретные настройки, endpoint и ссылку на переменную окружения. connections disconnect удаляет эту ссылку из локального журнала. Начальные адаптеры работают только на чтение: метаданные IMAP о количестве непрочитанных сообщений, идентичность GitHub, идентичность просмотрщика Linear, доступ к проектам Sentry и доступ к проектам PostHog. В v0.1 не поставляется ни один удалённый адаптер для выполнения изменений.
Необязательный heartbeat
Запустите ограниченный по времени heartbeat на переднем плане в любом месте, где может работать Node:
node packages/core/dist/cli.js heartbeat serve --interval-minutes 30 --root .В macOS сначала просмотрите, затем явно установите пользовательский LaunchAgent:
node packages/core/dist/cli.js schedule plan --interval-minutes 30 --root .
node packages/core/dist/cli.js schedule install --confirm-install --interval-minutes 30 --root .Планировщик никогда не устанавливается инструментом MCP, ответом модели или загрузкой страницы. Для удаления требуется команда schedule uninstall --confirm-uninstall.
Карта репозитория
packages/core— журнал (ledger) на SQLite и детерминированные проверки.packages/mcp— MCP-сервер через stdio.skill/operations-pulse— переносимый навык агента.plugins/openai/operations-pulse— сгенерированный навык Codex и обёртка MCP.plugins/claude/operations-pulse— сгенерированный навык Claude Code и обёртка MCP..agents/plugins/marketplace.json— локальный в репозитории маркетплейс Codex..claude-plugin/marketplace.json— локальный в репозитории маркетплейс Claude.mcp-registry/operations-pulse/server.json— подготовленные официальные метаданные реестра MCP.publisher/publisher.json— зеркало публичного источника издателя для потребителей репозитория.agents— необязательные определения ролей.catalog— описания инструментов и подключений, показываемые при запуске.docs— архитектура, рабочие процессы, руководство по подключению и чек-лист запуска.migrations— инвентаризация источников и решения по очистке.vendor— сторонние наборы навыков с указанием авторства, никогда не объединяемые молча.apps/site— сайт проекта без зависимостей.
Статус
Этот репозиторий готовится к публикации первой версии. Поддерживаемой базовой версией является локально-ориентированное ядро. Для IMAP, GitHub, Linear, Sentry и PostHog есть тесты адаптеров только на чтение; host OAuth требует нативного потока согласия соответствующего хоста, и ни один удалённый адаптер записи по умолчанию не включён.
Модель издателя и регистрации
Openly Useful — это бренд издателя и разработчика. openlyuseful.org — площадка для открытого кода, сведений об издателе, политиках, безопасности и поддержке; openlyuseful.com — площадка Studio и коммерческая. Openly Useful LLC — это планируемое юридическое лицо, которое не указывается как зарегистрированное или действующее. В настоящий момент Openly Useful управляется своим основателем как физическим лицом, и основатель-владелец разрешил внешнюю публикацию исходного кода и запись в реестры, пока продолжается процесс регистрации.
Зеркало в publisher/publisher.json обращается к опубликованному источнику авторитета по адресу https://openlyuseful.org/publisher/manifest.json. Манифесты провайдеров получают из этой записи публичное имя, контакт, пространства имён и адреса политик. URL репозитория в подготовленных метаданных провайдера — это планируемый публичный исходный код по адресу https://github.com/Openly-Useful/operations-pulse.
Каноническим остаётся навык skill/operations-pulse. Копии обёрток провайдеров — это сгенерированные артефакты, а не отдельные редактируемые источники:
npm run registration:sync
npm run registration:checkОбёртки регистрируют переносимый навык и каноническую команду stdio npx --yes @openly-useful/operations-pulse-mcp@0.1.0. Они не аутентифицируют аккаунт, не устанавливают планировщик, не настраивают адаптеры и не собирают учётные данные. Соответствующая идентификация в реестре MCP — org.openlyuseful/operations-pulse. После установки или обновления плагина начните новую задачу в Codex или перезапустите Claude Code, чтобы хост обновил свои инструменты MCP. По умолчанию база данных MCP находится в .operations-pulse/pulse.sqlite в рабочем каталоге процесса хоста; задайте OPERATIONS_PULSE_DB в окружении хоста, чтобы выбрать явный путь.
Локальная генерация и проверка разрешены. Публичное создание репозитория, публикация пакета, отправка в реестр MCP, маркетплейс MCP, установка, аутентификация и развёртывание — это отдельные внешние действия. Оба опубликованных пакета блокируют публикацию на этапе prepublishOnly, если точная авторизация основателя-владельца, идентичность издателя, источники политик, пространство имён, идентичность пакета и происхождение репозитория не совпадают с публичным источником авторитета. Незавершённое создание LLC само по себе не блокирует публикацию npm-артефакта, потому что Openly Useful управляется основателем, а авторизация явно действует в период регистрации. Проверка пространства имён, аутентификация провайдера и рецензирование провайдера остаются отдельными требованиями для соответствующего реестра или процесса провайдера.
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 Servers
- AlicenseNot gradedqualityAmaintenanceLocal-first harness and ticket operations for AI assistants via CLI or MCP.6MIT
- FlicenseAqualityBmaintenanceLocal-first MCP tools for AI-assisted work receipts, workspace maps, routing ledgers, measured verdicts, and shared state verification across the five Project Telos flagships.232
- AlicenseNot gradedqualityFmaintenanceLocal-first, auditable memory for AI agents. Provides durable context for MCP hosts with SQLite storage, CLI, and MCP tools for memory management.2Apache 2.0
- AlicenseBqualityBmaintenanceA local, evidence-driven MCP runtime and control plane for open-source maintainers that provides workspace-bounded tools including controlled file operations, command execution, validation primitives, durable execution records, and human review workflows via stdio and Streamable HTTP transports.33MIT
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
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/Openly-Useful/operations-pulse'
If you have feedback or need assistance with the MCP directory API, please join our Discord server