Skip to main content

Optional MCP tools

ClawQL Core always registers search, execute, audit, and cache. Everything in this guide is optional — enable per tool with CLAWQL_ENABLE_* env vars. Use this page to pick the right tool, compose workflows, and jump to deep-dive Learn modules.

Hub index: Optional tools reference · Full API: MCP tools · Feature tiers: Configuration

Core vs optional (quick map)

Always on (Core)Optional (this guide)
search, executeschedule, notify, sandbox_exec, knowledge_search_onyx, …
audit, cachememory_ingest / memory_recall (default on — see Memory)
hitl_enqueue_label_studio (planned full plugin)

audit and cache are Core but often taught here because operators enable Loki, schedule, and vault workflows around them.

Enablement cheat sheet

Tool / areaEnablePrerequisites
ScheduleCLAWQL_ENABLE_SCHEDULE=1SQLite job store; URL allowlist for synthetics
NotifyCLAWQL_ENABLE_NOTIFY=1Slack in merged spec / CLAWQL_SLACK_*
Schedule → SlackCLAWQL_SCHEDULE_NOTIFY_CHANNEL + CLAWQL_SCHEDULE_NOTIFY_ON_FAILURE=1Notify enabled
Onyx searchCLAWQL_ENABLE_ONYX=1Enterprise Onyx index + ACL
SandboxCLAWQL_ENABLE_SANDBOX=1Kata / Docker / Seatbelt harness
Memorydefault on; disable with plugin configObsidian vault path
Audit → LokiCLAWQL_LOKI_PUSH_URLLoki push endpoint (no extra tool flag)

Restart the MCP server after changing flags. Confirm with Tools or search for the tool name in your client's tool list.

Pick the right tool

Your goalStart hereDeep dive
Scratch state between chatscacheCache handoff
Durable notes + graph recallmemory_*clawql-memory
Live session breadcrumbsauditAudit & observability
Cron / HTTP syntheticsscheduleSchedule & notify
Slack milestones / pagingnotifySchedule & notify
Enterprise semantic searchknowledge_search_onyxOnyx search
Run untrusted code safelysandbox_execSandbox exec
Human review queuesHITL / Label StudioHITL — Label Studio
Import URLs/Markdown to vaultingest_external_knowledgeExternal ingest

Composed workflows (recipes)

1. Probe → page humans

schedule (synthetic) ──fail──► built-in Slack notify OR agent notify
  1. CLAWQL_ENABLE_SCHEDULE=1 + CLAWQL_ENABLE_NOTIFY=1
  2. Create job with schedule create; validate with trigger + dry_run: true
  3. Set CLAWQL_SCHEDULE_NOTIFY_ON_FAILURE=1 for automatic posts, or call notify yourself for richer Block Kit messages

Details: Schedule & notify workflows.

2. Execute → audit → vault

execute ──► audit.append ──► memory_ingest (summary)

Use correlationId in audit to thread a multi-step run. For compliance-grade trails, add Audit Trail WORM — the in-process audit ring is not legal hold by itself.

3. Search → execute → cache handoff

search ──► execute ──► cache.set ──► (new chat) cache.get

Keeps planning context small; see Cache handoff.

4. Onyx evidence → execute

knowledge_search_onyx ──► execute (with citations in summary)

Ground regulated workflows before mutating upstream systems: Onyx enterprise search.

5. Sandbox → notify on failure

sandbox_exec ──► notify (thread_ts for incident channel)

Pair with Panguard enforcement so only approved tools run in production.

Observability stack (optional tools + platform)

LayerTool / path
MetricsGET /metricsclawql_audit_* counters
LogsCLAWQL_LOKI_PUSH_URL on audit.append
TracesOTel → Tempo (Docker Desktop lab)
ImmutableAudit Trail WORM (separate from audit ring)

Walkthrough: Audit tool & observability.

Safety habits

  • Redact secrets in audit.summary and notify.text — exports are production data.
  • Allowlist synthetic probe URLs (CLAWQL_SCHEDULE_URL_ALLOWLIST_PREFIXES).
  • Fail closed on sandbox and Panguard paths — do not disable enforcement to “unblock” agents.
  • Prefer dry_run: true on schedule and external ingest before live jobs.

Troubleshooting

SymptomFix
Tool missing in clientEnv flag off or wrong MCP process — check Configuration
notify auth errorSlack token / merged spec provider
Schedule never firesWorker poll CLAWQL_SCHEDULE_POLL_MS; job enabled
Onyx empty resultsACL + index connector; CLAWQL_ENABLE_ONYX=1
Audit buffer empty after restartExpected — enable Loki or memory_ingest for durability

Module index (deep dives)