operations-pulse
Enables AI assistants to run local-first operations checks, review evidence, and manage durable tickets in a SQLite-backed ledger through self-describing MCP tools.
README
Operations Pulse
A local-first loop orchestrator for useful, explainable operations.
Operations Pulse turns recurring checks into evidence, evidence into durable tickets, and tickets into a reviewable operating memory. It runs without a paid service by default: Node.js, SQLite, Git, local files, and local logs are enough to get a useful pulse.
It is an Openly Useful project: useful things, openly made.
Use the live, credential-safe setup guide at operations-pulse-five.vercel.app.
What launches in v0.1
- A SQLite ticket and pulse ledger.
- Read-only local checks for repository state, documentation, and configured log files.
- An MCP server with self-describing tools and structured results.
- A portable
operations-pulseskill for Codex and compatible agents. - Optional role definitions for operations, signal review, triage, and integrations.
- A connection catalog and guided setup that distinguish free/local, subscription, host OAuth, self-hosted, and bring-your-own-credential paths.
- A complete migration ledger: imported, rewritten, referenced, or excluded.
Free-first quick start
Requirements: Node.js 24 or newer. No API key is required for the default workflow.
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
Configure an optional read-only adapter without placing a credential in the repository, SQLite database, MCP argument, or chat transcript:
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
On a local machine already authenticated with the GitHub CLI, the zero-copy alternative uses that session only for the read-only check; its token is never stored or printed:
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
The browser-based picker at apps/site generates these safe setup steps. It
never collects credentials. Host OAuth remains in the host's own consent UI.
Run the MCP server over stdio:
npm run mcp
The database defaults to .operations-pulse/pulse.sqlite. Override it with
OPERATIONS_PULSE_DB.
Safety model
Operations Pulse is read-only unless a tool or command clearly says it writes.
Pulse runs do not create tickets unless --create-tickets (or the equivalent
MCP argument) is explicitly enabled. Connections are disabled until configured,
credentials are never stored in the catalog, and externally visible or paid
actions require a separate human approval boundary.
Connection records retain only an ID, non-secret settings, an endpoint, and an
environment-variable reference. connections disconnect removes that reference
from the local ledger. The initial adapters are read-only: IMAP unread-count
metadata, GitHub identity, Linear viewer identity, Sentry project access, and
PostHog project access. No remote mutation adapter ships in v0.1.
Optional heartbeat
Run a bounded foreground heartbeat anywhere Node can run:
node packages/core/dist/cli.js heartbeat serve --interval-minutes 30 --root .
On macOS, inspect then explicitly install a user-level 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 .
The scheduler is never installed by an MCP tool, a model response, or a page
load. Removal requires schedule uninstall --confirm-uninstall.
Repository map
packages/core— SQLite ledger and deterministic checks.packages/mcp— MCP stdio server.skill/operations-pulse— portable agent skill.plugins/openai/operations-pulse— generated Codex skill and MCP wrapper.plugins/claude/operations-pulse— generated Claude Code skill and MCP wrapper..agents/plugins/marketplace.json— repository-local Codex marketplace..claude-plugin/marketplace.json— repository-local Claude marketplace.mcp-registry/operations-pulse/server.json— staged official MCP Registry metadata.publisher/publisher.json— repository consumer mirror of the public publisher authority.agents— optional role definitions.catalog— tool and connection explanations shown at launch.docs— architecture, workflows, connection guide, and launch checklist.migrations— source inventory and sanitization decisions.vendor— attributed third-party skill packs, never silently merged.apps/site— dependency-free project site.
Status
This repository is being prepared for its first public release. The local-first core is the supported baseline. IMAP, GitHub, Linear, Sentry, and PostHog have read-only adapter tests; host OAuth requires a compatible host's native consent flow, and no remote write adapter is enabled by default.
Publisher and registration model
Openly Useful is the publisher and developer brand. openlyuseful.org is the
open-source, publisher, policy, security, and support surface;
openlyuseful.com is the Studio/commercial surface. Openly Useful LLC is the
planned legal entity and is not represented as formed or active. Openly Useful
is currently operated by its founder as an individual, and the founder-owner
has authorized external source and registry publication while formation proceeds.
The repository mirror at publisher/publisher.json consumes the published
authority endpoint at https://openlyuseful.org/publisher/manifest.json.
Provider manifests derive the public name, contact, namespaces, and policy URLs
from that record. The repository URL in staged provider metadata is the planned
public source at https://github.com/Openly-Useful/operations-pulse.
The canonical skill remains skill/operations-pulse. Provider wrapper copies
are generated artifacts, not separately editable sources:
npm run registration:sync
npm run registration:check
The wrappers register the portable skill plus the immutable stdio command
npx --yes @openly-useful/operations-pulse-mcp@0.1.0. They do not authenticate
an account, install a scheduler, configure adapters, or collect credentials.
The corresponding MCP Registry identity is org.openlyuseful/operations-pulse.
After installing or upgrading the plugin, start a new Codex task or restart
Claude Code so the host refreshes its MCP tools. By default the MCP database is
.operations-pulse/pulse.sqlite under the host process working directory;
set OPERATIONS_PULSE_DB in the host environment to choose an explicit path.
Local generation and validation are allowed. Public repository creation,
package publication, MCP Registry submission, marketplace submission,
installation, authentication, and deployment are separate external actions.
Both publishable workspaces fail closed at prepublishOnly unless the exact
founder-owner authorization, publisher identity, policy sources, namespace,
package identity, and repository provenance match the public authority. LLC
formation-pending is not itself an npm artifact blocker because Openly Useful
is founder-operated and the authorization is explicitly effective during
formation. Namespace verification, provider authentication, and provider review
remain separate requirements for the relevant registry or provider workflow.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。