Catalyst Governance
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Governance middleware for AI agents: permission gates, approvals, compliance scanning, audit ledger.
| Author | io.github.Stratogenic-AI |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 3015 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Catalyst Governance": {
"url": "https://catalyst.stratogenic.ai/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (31)
catalyst_ingest_taskIngest one or more tasks into Catalyst governance pipeline. Items should include at minimum a 'title'. Optional fields: details, owner, priority (Low/Medium/High/Critical), stage, domain, due_at, tags, group_id. Returns ingested count and proposal IDs created.
Parameters:
items(required) — arraydomain
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_search_tasksread-onlySearch normalised tasks in the tenant flow cycle. Performs case-insensitive substring match on title/details. Filter by canonical domain (e.g. security, product, operations) or priority.
Parameters:
q— stringlimit— integerdomainoffset— integerpriority
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_update_taskUpdate a single task in the governance flow. Ledger-recorded. Patch may include: title, details, owner, priority, stage, domain, due_at, status, tags, done. Normalisation is applied automatically.
Parameters:
task_id(required) — stringpatch(required) — object
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_bulk_update_tasksBulk update all tasks matching a filter. Growth/Enterprise plans only. filter keys: domain, priority, stage, owner, tag, group_id. updates keys: owner, priority, domain, stage, tags_add, tags_remove. Returns matched and updated counts.
Parameters:
filter(required) — objectupdates(required) — object
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_list_proposalsread-onlyList all pending governance proposals awaiting acceptance or decline. Proposals are work items that have been ingested but not yet committed to the live flow cycle. They require human (or agent) review. Each proposal contains an `idempotency_key` field — this is the canonical proposal identifier. Always use `idempotency_key` (not `task_id` or `id`) when passing proposal IDs to catalyst_accept_proposals, catalyst_decline_proposals, or catalyst_review_proposal.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_accept_proposalsAccept one or more proposals, committing them to the flow cycle. ids: list of proposal `idempotency_key` values from catalyst_list_proposals. Do not pass `task_id` or `id` — the backend looks up proposals by `idempotency_key` and will silently match nothing if the wrong field is used. Acceptance is the governance commit step: items move from review state into live execution state and are recorded in the immutable ledger.
Parameters:
ids(required) — array
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_decline_proposalsDecline one or more proposals without committing them. ids: list of proposal `idempotency_key` values from catalyst_list_proposals. Do not pass `task_id` or `id` — the backend looks up proposals by `idempotency_key` and will silently match nothing if the wrong field is used. Declined proposals are recorded for audit and learning but are not added to the live flow cycle.
Parameters:
ids(required) — array
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_review_proposalApprove or reject a review-required proposal (AI governance hold). proposal_id: the `idempotency_key` field from catalyst_list_proposals. Do not pass `task_id` or `id` — the backend looks up by `idempotency_key`. decision must be 'approve' or 'reject'. Approved proposals can then be accepted via catalyst_accept_proposals. Rejected proposals are marked review-rejected in the ledger.
Parameters:
proposal_id(required) — stringdecision(required) — stringreasonreviewer_id
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_get_graph_viewsread-onlyGet all 7 governance graph views for the tenant. Views: org_snapshot, execution_flow, ownership_map, compliance_web, risk_heatmap, client_influence, catalyst_metrics. Read-only, derived from flow_cycle on demand. Requires governance_dashboard entitlement.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_get_dashboardread-onlyGet the governance dashboard snapshot including all views. Returns tenant metadata, execution metrics, and all 5 governance views (execution_flow, ownership_map, compliance_web, risk_heatmap, client_influence).
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_get_org_summaryread-onlyGet an AI-generated narrative summary of the org's execution state. time_window: 'last_7_days' or 'last_30_days'. extra_query: optional focus bias (e.g. 'compliance', 'delivery risk'). Returns a MASC-L3 compliant narrative — no individual evaluations. Requires governance_dashboard entitlement.
Parameters:
extra_querytime_window— string
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_run_compliance_scanRun a compliance scan against all loaded compliance documents. Detects compliance gaps, conflicts, and policy violations across the current flow cycle. Requires can_scan entitlement. Returns findings grouped by severity.
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_get_compliance_findingsread-onlyGet the latest compliance findings from the most recent scan. Returns findings flattened by category: conflicts, gaps, ok. Each finding includes category, severity, status, and task linkage. Does not trigger a new scan — use catalyst_run_compliance_scan first.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_create_tasks_from_findingsMaterialise compliance findings as actionable flow tasks. classes: list of finding classes to convert, e.g. ['MISSING_CONTROL', 'PROHIBITED_ACTION']. Defaults to both. Created tasks enter the governance pipeline like any other ingest.
Parameters:
classes
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_list_compliance_frameworksread-onlyList all available pre-built compliance framework packs. Returns each pack (GDPR, SOC 2, ISO 27001, HIPAA, PCI-DSS, EU AI Act, Bribery Act, AML/KYC) with its name, description, rule count, and whether it is currently active for this organisation. Activate a pack with catalyst_activate_compliance_framework.
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_activate_compliance_frameworkActivate a pre-built compliance framework pack for this organisation. framework: one of gdpr, soc2, iso27001, hipaa, pci_dss, eu_ai_act, bribery_act, aml_kyc. Once activated, the pack's DENY/REQUIRE/ADVISE rules are merged into every subsequent compliance scan — no document upload required. Requires can_scan entitlement.
Parameters:
framework(required) — string
Hints: read-only no · destructive no · idempotent yes · open-world not declared
catalyst_list_compliance_rulesread-onlyList all compliance rules currently in effect for the organisation. Returns rules from three sources combined and deduplicated: - Rules extracted from uploaded policy documents - Custom org-level rules (PATCH /compliance/rules) - Rules from any activated framework packs Each rule includes: id, type (DENY/REQUIRE/ADVISE), trigger sentence, severity, scope, remediation guidance, confidence score, and authority citation.
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_register_machine_actorRegister a machine actor (agent, automation) with Catalyst governance. runtime_type: zapier_zap | n8n_workflow | openai_assistant | make_scenario | claude_agent | custom_agent | internal_worker. governance_mode: observe | advisory | proposal | strict. risk_class: low | standard | high. Requires can_configure_ai_workflows entitlement (Enterprise+).
Parameters:
display_name(required) — stringruntime_type(required) — stringnotesscopesrisk_class— stringcapabilitiesgovernance_mode— string
Hints: read-only no · destructive no · idempotent yes · open-world not declared
catalyst_evaluate_agent_actionread-onlyEvaluate whether an agent action is permitted by the governance gate. Returns decision: 'allow' | 'proposal_required' | 'deny'. High-risk actors with allow decisions are escalated to proposal_required. The actor must be registered and active for this tenant.
Parameters:
actor_id(required) — stringcapability(required) — stringcontext
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_register_workflowRegister an AI workflow for EU AI Act compliance governance. risk_level: unacceptable (rejected) | high | limited | minimal. mode: observe | advisory | proposal. High-risk workflows are forced to proposal. Sets ai_standards=True to opt into the Built to AI Standards evidence trail. Requires can_configure_ai_workflows (Enterprise+).
Parameters:
workflow_id(required) — stringmodenotesrisk_level— stringai_standards— boolean
Hints: read-only no · destructive no · idempotent yes · open-world not declared
catalyst_send_lite_eventSend a lifecycle event for a registered AI workflow. event_type examples: run.started, action.executed, approval.requested, run.completed, run.failed. Idempotent via request_id (UUID recommended). Payload is scrubbed of credentials before storage.
Parameters:
workflow_id(required) — stringevent_type(required) — stringpayloadrequest_id
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_get_workflow_trustread-onlyGet the four-component trust score for a registered AI workflow. Score = 0.25×ai_declared + 0.25×risk_eval + 0.25×override + 0.25×(1−failure). Range 0.0–1.0. window_days controls the lookback period (1–365).
Parameters:
workflow_id(required) — stringwindow_days— integer
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_export_workflow_auditread-onlyExport audit events for an AI workflow as JSON. since: ISO timestamp filter (inclusive). ai_standards_only: limit to events from workflows opted into Built to AI Standards. Suitable for regulatory submissions and investor due diligence.
Parameters:
workflow_id(required) — stringsinceai_standards_only— boolean
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_weekly_summaryread-onlyGet a 7-day activity rollup: ingested, accepted, declined proposals, domain breakdown, priority breakdown, and average risk score. Fully deterministic — no LLM calls.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_export_ledgerread-onlyExport the immutable SHA-256 chained audit ledger. since: ISO timestamp to filter entries (inclusive). format: 'json' returns full entries; 'csv' sets entries to null (use REST API for CSV). The ledger is tamper-evident — any modification breaks the hash chain.
Parameters:
sinceformat— string
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_my_governanceread-onlyShow your governance profile, actor registration, and plan capabilities. Returns governance_mode (observe/advisory/proposal/strict), risk_class, declared capabilities, and actor_id. Auto-registers you in observe mode on first connection — the lightest governance touch. Also returns plan_capabilities showing which features are active and which require an upgrade — relay any upgrade_required fields to the user so they can unlock compliance scanning or AI workflow governance. Call this first to understand what you are and are not permitted to do.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_check_actionCheck if a capability/action is permitted by your governance policy. Returns decision: 'allow' | 'proposal_required' | 'deny' with guidance. Call BEFORE any consequential action (API call, data write, send, deploy). If title is provided and decision is 'proposal_required', the intent is logged automatically and proposal_id is returned — no second call needed. If 'proposal_required' without a title, call catalyst_log_task separately. capability examples: 'send_email', 'write_file', 'deploy_code', 'update_record', 'delete_record', 'external_api_call'.
Parameters:
capability(required) — stringtitlecontext
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_log_taskLog a task or action into the Catalyst governance pipeline. Records work, decisions, and actions for audit and governance. priority: Low | Medium | High | Critical. domain: security | product | operations | compliance | finance | legal | other. Returns ingested count and any proposal_ids created (if a governance hold applies).
Parameters:
title(required) — stringdomaindetailspriority— string
Hints: read-only no · destructive no · idempotent no · open-world not declared
catalyst_pending_approvalsread-onlyList proposals currently awaiting governance approval. Shows proposals with status pending or in review. Use this to check whether an action you submitted is still waiting for human sign-off before you proceed. Returns count and full proposal objects with IDs for catalyst_await_approval.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
catalyst_await_approvalread-onlyCheck approval status for a specific proposal. Returns approved: true/false and clear guidance on whether to proceed. Call this after catalyst_check_action returns 'proposal_required'. Do NOT proceed with the gated action until approved: true is returned. POLLING vs EVENT-DRIVEN: For interactive sessions, poll this tool. For autonomous long-running workflows, prefer registering a webhook via catalyst_register_approval_webhook(callback_url) so your orchestrator is notified the moment a human acts — no polling loop required.
Parameters:
proposal_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world not declared
catalyst_register_approval_webhookRegister a callback URL to receive proposal approval notifications. Subscribes callback_url to proposal.accepted and proposal.declined events. When a human approves or declines any proposal, Catalyst POSTs the event to your URL with the resolved proposal IDs in data.ids. Use this instead of polling catalyst_await_approval for autonomous workflows: register once, let your orchestrator (Temporal, job queue, webhook relay) wake the agent when the relevant proposal_id arrives. Then call catalyst_await_approval once to confirm and proceed. Returns subscription IDs, the expected payload shape, and usage guidance. Returns upgrade_required: true if outbound webhooks are not on your plan.
Parameters:
callback_url(required) — string
Hints: read-only no · destructive no · idempotent yes · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.