@aihq/ai-continuum
v0.2.0
Published
MCP server exposing AI-Continuum vault tools
Readme
MCP Server
Cloud MCP is primary. Local stdio MCP is the v1 fallback implemented here.
AI-Continuum Pro Package
npm install -g @aihq/ai-continuum
ai-continuum setup --dry-run
ai-continuum setupFor a one-shot dry run without a global install:
npm exec --yes --package @aihq/[email protected] -- ai-continuum setup --dry-runv1 Tools
- memory.get_bootstrap
- memory.get_reconstruction_packet
- memory.search_vault
- memory.submit_candidate
- memory.write_handoff
- memory.validate_vault
- memory.rebuild_from_git
Local Development
npm install
npm run typecheck
npm test
npm run buildRun the stdio server:
npm run build
node dist/index.jsRun vault validation directly:
npm run validate-vaultRun the local stdio protocol smoke test:
npm run smoke:mcpThe smoke command builds the server, launches dist/index.js through the MCP
stdio transport, confirms the current memory and graph tool surface is
registered, and calls read-only retrieval/validation tools.
Run the fixture-backed Stage 16 decision drill:
npm run lifecycle:decision -- --python pythonThe lifecycle drill launches the MCP stdio server against a temporary fixture
repo, calls memory.submit_candidate, then runs the Python curator dry-run
against that fixture and requires a 6-capsule-shape promotion decision.
Run the Stage 17 disposable graph-index builder:
npm run graph:indexThe graph index builder scans vault/ and writes
.var/graph-index/latest.json. The output is generated and ignored by Git;
Graphify/Zep/Graphiti providers must treat it as rebuildable index input, not
source-of-truth memory.
Run the Graphify provider dry-run adapter:
npm run graph:index
npm run graphify:dry-runThe dry-run consumes .var/graph-index/latest.json and writes
.var/graph-index/graphify-dry-run.json. It does not call Graphify, does not
read credentials, and records network_enabled: false.
Run the graph rebuild report:
npm run graph:rebuild-reportThis performs the local graph index and Graphify dry-run steps together, then
writes .var/reports/graph-rebuild/latest.json with the generated output paths,
counts, warnings, and provider boundary.
memory.rebuild_from_git runs the same generated graph checkpoint after vault
validation and includes the .var/ graph paths and counts in its tool output.
Run the Graphify apply preflight plan:
npm run graph:rebuild-report
npm run graphify:apply-planThe apply plan reads .var/graph-index/graphify-dry-run.json and writes
.var/reports/graphify-apply-plan/latest.json. It records the required
graphify-api-key locator, but never reads or materializes a secret value.
It also writes .var/reports/graphify-staging-config/latest.json and records
that staging config is represented but not ready for remote apply. It always
returns apply_enabled: false, network_enabled: false, and can_apply: false
until staging config readiness, secret value materialization, provider rebuild
semantics, and a valid external-action approval token are implemented.
The same command also writes
.var/reports/secret-locators/graphify-api-key-latest.json, a locator-only
contract report that records metadata without reading or materializing the
secret value, and
.var/reports/external-approvals/graphify-apply-latest.json, an approval-token
contract report that records token status booleans without accepting or writing
token values, and
.var/reports/graphify-executor-readiness/latest.json, an executor readiness
contract report that proves the prerequisite bundle is represented while
execution remains blocked, and
.var/reports/external-actions/graphify-apply-latest.json, a redacted
external-action gate report with approval required and execution blocked.
Run the secret-locator contract check directly:
npm run secret-locator:contractThe command records the non-secret backend reference (GRAPHIFY_API_KEY) and
keeps value_materialized: false, value_presence_checked: false, and
materialization_allowed: false. It does not read environment variables or
expose secret values.
Run the Graphify rebuild semantics contract directly:
npm run graphify:rebuild-semanticsThe command writes .var/reports/graphify-rebuild-semantics/latest.json and
records the contract-only replace-generated-namespace strategy. It keeps
remote reads and writes disabled.
Run the Graphify fake-client contract directly:
npm run graphify:client-contractThe command writes .var/reports/graphify-client-contract/latest.json, captures
the read/delete/upsert/verify sequence with a fake transport, and keeps network
access, remote execution, and secret handoff disabled.
Run the Graphify apply audit directly:
npm run graphify:apply-auditThe command writes .var/reports/graphify-apply-audit/latest.json, records the
planned execution bundle, and redacts sensitive keys or secret-pattern-shaped
values. It does not record remote responses.
Run the Graphify external approval contract directly:
npm run graphify:approval-contractThe command writes .var/reports/external-approvals/graphify-apply-latest.json
and records that approval is required, no token is present, no token is valid,
and no token value has been materialized or recorded.
Run the Graphify executor readiness contract directly:
npm run graphify:executor-readinessThe command writes .var/reports/graphify-executor-readiness/latest.json and
records that every prerequisite report is represented, but the executor cannot
be instantiated and remote execution remains blocked.
Run the disabled Graphify apply executor contract:
npm run graphify:apply-executorThe command writes .var/reports/graphify-apply-executor/latest.json. It
consumes the readiness bundle, refuses execution, and records that no executor
was instantiated, no network was opened, no secret or approval token was
materialized, and no remote mutation was attempted.
Run the Graphify executor refusal audit:
npm run graphify:executor-auditThe command writes .var/reports/graphify-executor-refusal-audit/latest.json.
It compares readiness and executor reports, verifies the refusal, and records
that no mutation, secret materialization, token materialization, or remote
response occurred.
Run the Graphify staging config contract:
npm run graphify:staging-config
npm run graphify:staging-config -- --environment staging-smoke --namespace ai-os/vault/staging-smoke --api-base-url https://staging.graphify.exampleThe command writes .var/reports/graphify-staging-config/latest.json. It
records non-secret staging settings such as environment, namespace, and API
base URL host/scheme, while refusing to read GRAPHIFY_API_KEY, approval token
values, or open the network.
Run the Graphify apply plan with the same non-secret staging smoke overrides:
npm run graphify:apply-plan -- --staging-environment staging-smoke --staging-namespace ai-os/vault/staging-smoke --staging-api-base-url https://staging.graphify.exampleThis can mark staging config ready while still keeping apply_enabled: false,
network_enabled: false, and can_apply: false.
Run the Graphify transport discovery contract:
npm run graphify:transport-discoveryThe command writes .var/reports/graphify-transport-discovery/latest.json. It
records the public Graphify transport surface as local CLI, generated artifacts,
MCP stdio, and explicit Neo4j push, while blocking an assumed remote HTTP apply
API until provider docs confirm one.
Run the local Graphify CLI contract:
npm run graphify:cli-contractThe command writes .var/reports/graphify-cli-contract/latest.json. It records
the graphifyy package, graphify . command shape, and expected
graphify-out/ artifacts without installing or executing Graphify.
Run the Graphify CLI execution gate:
npm run graphify:cli-execution-gateThe command writes .var/reports/graphify-cli-execution-gate/latest.json. It
records the planned install/run commands and required approvals while refusing
package installation, command execution, network use, Neo4j push, and remote
mutation.
Safety Notes
- Write tools only write to
vault/memory/inbox/,vault/handoffs/<domain>/, and rebuild reports. - Candidate and handoff writes scan for known secret patterns before touching disk.
- Writes use 24-hour stomp protection via
git log --since=24.hours. rebuild_from_gitusesgit pull --ff-only; it never force-pulls or rewrites history.- Graphify remains dry-run only in this slice: no network calls and no credential reads.
graphify:apply-planis a blocked preflight artifact, not a remote apply.- External-action gate reports redact sensitive audit fields and stay under
.var/reports/external-actions/. - Secret-locator contract reports are metadata-only and stay under
.var/reports/secret-locators/. - Graphify rebuild semantics reports are contract-only and stay under
.var/reports/graphify-rebuild-semantics/. - Graphify client contract reports use fake transport only and stay under
.var/reports/graphify-client-contract/. - Graphify apply audit reports are redacted generated artifacts and stay under
.var/reports/graphify-apply-audit/. - External approval contract reports are generated artifacts and stay under
.var/reports/external-approvals/. - Graphify executor readiness reports are generated artifacts and stay under
.var/reports/graphify-executor-readiness/. - Disabled Graphify apply executor reports are generated artifacts and stay
under
.var/reports/graphify-apply-executor/. - Graphify executor refusal audit reports are generated artifacts and stay
under
.var/reports/graphify-executor-refusal-audit/. - Graphify staging config reports are generated artifacts and stay under
.var/reports/graphify-staging-config/. - Graphify transport discovery reports are generated artifacts and stay under
.var/reports/graphify-transport-discovery/. - Graphify CLI contract reports are generated artifacts and stay under
.var/reports/graphify-cli-contract/. - Graphify CLI execution gate reports are generated artifacts and stay under
.var/reports/graphify-cli-execution-gate/.
