Strategic pivot release. The package previously known as @compr/contextengine-mcp ships as @compr/opscontext-mcp starting with this version. Same code, sharper positioning — the ops + compliance layer Claude Code can't grow natively.
📦 npm: https://www.npmjs.com/package/@compr/opscontext-mcp
🚨 Migration: @compr/contextengine-mcp is deprecated on the registry with a pointer at this package. Existing installs keep working; new installs should use the new name.
Three new pillars
🔭 Operational visibility
Read-only collectors snapshot your live infra so AI agents see what's actually running, not stale code:
- PM2 process state, nginx config, Docker containers
- Git working-tree drift across multiple repos, port-conflict detection
- Crontab, redacted
.env, composer, systemd, shell history - Cross-project search through everything in one query
🧾 Tamper-evident audit log
Hash-chained JSONL at ~/.contextengine/audit.log — compliance evidence out of the box:
- SOC2 CC7.2 (audit logging) + ISO 27001 A.12.4.1 (event logs)
audit_verifywalks the chain; mutating any record breaks verification at the mutated index- 19 adversarial tests covering tamper / splice / forgery / corrupt-JSON-graceful-failure
🛡️ Policy-as-code git hooks
Declarative .contextengine/policy.json with four sections:
secret_patterns(withpathsglob scoping — e.g. JWT pattern only applied todocs/sessions/**)doc_coverage(diff-aware, replaces wall-clock staleness gates that taught their own bypass)deploy_verify_hosts(encodes "DEPLOY = VERIFY LIVE")bypass_tokens(documented escape hatches with reason + TTL — alternative to undocumented--no-verify)- Pre-commit hook now layers gitleaks (~150 patterns) + scoped policy patterns + 17 inline CE patterns
contextengine hook secret-scan/hook doc-coverageCLI for CI use
Plus
- 🪝 Native Claude Code integration:
install-skilladds anopscontextskill to~/.claude/skills/;sync-claude-mdmaintains a managed block inCLAUDE.mdso the latest snapshot reaches the agent at every session start with zero MCP calls; auto-discovery of~/.claude/projects/*/memory/brings Claude's own auto-memory into search results. - 🔐 Ed25519-signed PRO licenses: server now signs license payloads with Ed25519. Client verifies with the embedded public key. Closes a real revenue leak (the old "signature" was a recomputable hash never verified). Backward compatible — legacy SHA-256 licenses grandfathered until 2026-08-15.
- 📦
@huggingface/transformersmoved tooptionalDependencies: cold install drops from 547 MB to 120 MB. BM25 keyword search ships always; semantic re-ranking is opt-in. - 📤
export-learnings --project X: cross-client confidentiality for consultants. - 🧹 101 → 122 kB tarball despite three new substantive modules (audit, policy, hooks). Sourcemaps + obfuscation theater + dead artifacts removed.
What's NOT changed
- Storage paths (
~/.contextengine/), repo policy path (.contextengine/policy.json), env vars (CONTEXTENGINE_HOME), config name (contextengine.json), TypeScript code identifiers — all preserved so existing users lose nothing. - Bin aliases:
opscontext(primary) +opscontext-mcp+contextengine+contextengine-mcp(back-compat).
Stats
- 20 MCP tools, 21 CLI subcommands
- 182 / 182 tests passing
- Build clean, server side also clean
- 1,000+ accumulated learnings preserved
Full changelog
See CHANGELOG.md.
Session arc
The complete story of the pivot + ship is in docs/sessions/SESSION_05_2026-06-11.md, including the production path bug caught and fixed during the Ed25519 deploy.
Built by FASTPROD (PROD LLC). BSL-1.1 license — see LICENSE.