mcp_knowledge_ops 0.4.0
mcp_knowledge_ops: ^0.4.0 copied to clipboard
Knowledge operations including pipelines, workflows, scheduling, and automated processing for curation, summarization, and pattern mining in the MCP ecosystem.
MCP Knowledge Ops #
Positioning:
mcp_knowledge_opsis an internal component of the MakeMind knowledge stack exposed through themcp_knowledgefacade. Application code should importpackage:mcp_knowledge/mcp_knowledge.dart— the symbols declared here are re-exported from there. Directpackage:mcp_knowledge_ops/imports remain valid for advanced or integration scenarios but are discouraged in product code.
A stateless orchestration layer for MakeMind. Coordinates pipelines, workflows, scheduling, runbooks, and observability across the ecosystem; persistence is delegated to mcp_fact_graph.
Components #
- Execution Engine — runs pipeline / workflow definitions: stages with retry and failure policies, gates, checkpoints with resume, review / approval stages through the
ApprovalPort, parallel execution. - Pipelines and workflows — declarative specifications (ingest, curation, summary refresh, pattern mining, index rebuild; skill, profile and bundle build); their
run()is a placeholder, the host builds engine definitions and registers the stage handlers. - Scheduler — cron (
*or exact numbers per field), event, deadline, manual and composite triggers with timeout, concurrency and de-duplication. - Runbooks — operational procedures with variables, checks and approvals.
- Behavior engine — guard / outcome based step runner with suspend and resume.
- Events, observability — event toolkit (publisher, subscriber, router, store, replay, dead letters, reliability) and logging, metrics, tracing, audit, alerts, health checks as independent tools.
- Standard port adapters —
OpsRuntimeprovidesWorkflowPort,PipelinePort,ScheduleTriggerPort,AuditPortandRunbookPortfrom themcp_bundlecontract layer.
Quick Start #
import 'package:mcp_knowledge_ops/mcp_knowledge_ops.dart';
// 1. Run a definition on the engine.
final handlers = HandlerRegistry()
..register('myHandler', MyHandler());
final engine = ExecutionEngine(
config: const ExecutionEngineConfig(),
handlers: handlers,
);
final result = await engine.executePipeline(definition, input, context);
// 2. Or assemble the whole runtime from your ports. The built-in pipelines
// are specifications: runPipeline calls their placeholder run(), so use the
// runtime's engine with your own definition to execute stages.
final runtime = OpsRuntime.fromConsumedPorts(consumedPorts);
runtime.handlers.register('myHandler', MyHandler());
final result2 = await runtime.engine.executePipeline(definition, input, context);
See docs/ for the requirements, design, test lists and operations guides.
Support #
License #
MIT — see LICENSE.