Skip to content

English | Русский

TAUSIK MCP — Tool Reference (v1.5)

124 tools for AI agents (117 project + 7 brain; v1.5 actual count, asserted via len(TOOLS) on both servers). The MCP surface covers everything an agent does day-to-day. A few CLI-only commands have no MCP equivalent — they are operator / maintenance verbs that don't belong in an agent loop: skill rebuild, skill bundle, fts optimize, db prune, audit vendors/research, config set/show, push-ok, run, doc extract/constants, hud, suggest-model, hygiene archive --confirm. For the agent's working set, prefer MCP tools over shell calls — they are atomic, return structured data, and keep your context cleaner.

Optional codebase-rag server adds 7 tools (search_code, find_symbol, …). It is enabled separately during bootstrap and is NOT part of the main 124 count — total with it is 131 tools.

Two MCP servers live in this project:

  • tausik-project — project-scoped tools (99): tasks, sessions, knowledge, stacks, roles, gates, skills, exploration, audit, doctor, verify, usage logging.
  • tausik-brain — cross-project Shared Brain tools (7).

There is also an optional codebase-rag server documented at the bottom.

Verify-First Contract (v1.5)

Heavy quality gates (pytest, tsc, cargo, phpstan, javac, js-test, terraform-validate, helm-lint, kubeval, hadolint, ansible-lint) live on a dedicated verify trigger. The MCP workflow:

tausik_task_start(slug=…)        # QG-0
… work on code …
tausik_verify(task_slug=…)        # heavy: subprocess gates → caches green
tausik_task_done(slug=…, ac_verified=True)   # lightweight: cache lookup

tausik_task_done will refuse to close the task if the verify cache is missing or stale — it returns a structured failure with explicit remediation. Opt-out for CI: set {"task_done": {"auto_verify": true}} in .tausik/config.json so the heavy gates fire inside task_done like in pre-v1.5 releases.

Terminology: Verify / QG glossary distinguishes supported opt-out, QG bypass (not available for task_done), verify-cache bypass, and the pytest test shim.

Status, Health, Metrics

ToolDescriptionRequired Parameters
tausik_healthHealth check: version, DB, tables
tausik_self_checkMCP-server freshness: startup time, watched-module mtime snapshot vs current on-disk mtimes, drift_detected flag, stale modules with delta_seconds, sibling MCP project server count. Call from /start to catch silent-hang precursors (gotchas #77/#79/#80).
tausik_statusProject overview: tasks, session, epics. Optional compact: true → one-line JSON (default text unchanged).compact (optional)
tausik_doctor4-group health (venv + DB + MCP + skills + drift)
tausik_metricsSENAR metrics: Throughput, FPSR, DER, Dead End Rate, Cost/Task
tausik_usage_event_logAppend manual row to usage_events (does not update session aggregates)tokens_input, tokens_output, tokens_total, cost_usd
tausik_searchFull-text search across tasks, memory, decisionsquery

Tasks

ToolDescriptionRequired Parameters
tausik_task_addCreate task (optionally in a story)slug, title
tausik_task_quickQuick creation with auto-slugtitle
tausik_task_startStart work (QG-0: requires goal + AC + negative scenario)slug
tausik_task_doneComplete (QG-2: ac_verified=true, scoped pytest, verify cache). Returns structured JSON: blocking_failures, per-gate results, cache status.slug
tausik_task_showFull task informationslug
tausik_task_listList tasks with filters (status enum: planning,active,blocked,review,done)
tausik_task_updateUpdate fields (title/goal/AC/scope/notes/stack/complexity/role/tier/call_budget)slug
tausik_task_planSet plan stepsslug, steps[]
tausik_task_stepMark step as completedslug, step_num
tausik_task_logAppend journal entryslug, message
tausik_task_logsRead structured logs (filter by phase)slug
tausik_reason_stepRENAR reasoning step (intent|premise|action|verification)slug, kind, content
tausik_task_replayChronological task timeline (logs + reasoning + events + verification)slug
tausik_task_blockBlock taskslug
tausik_task_unblockUnblockslug
tausik_task_reviewMove to reviewslug
tausik_task_deleteDelete taskslug
tausik_task_moveMove to another storyslug, new_story_slug
tausik_task_nextPick next task by score
tausik_task_claimClaim task (multi-agent)slug, agent_id
tausik_task_unclaimRelease taskslug

tausik_task_done parameters

  • ac_verifiedrequired for QG-2
  • evidence — inline AC verification log (replaces a separate task_log call)
  • no_knowledge — confirm no knowledge to capture (suppresses warning)
  • relevant_files[] — files modified; drives scoped pytest gate (basename match → tests/test_<file>.py). Empty list with non-empty original → gate skipped (no false-positive on full suite). Verify cache (10 min TTL) skips re-runs with same files_hash.

There is no --force on task_done — QG-2 cannot be bypassed. task_start does have --force to bypass session capacity, with audit trail.

tausik_task_done structured response

tausik_task_done returns JSON for agent workflows:

  • stage flags (plan_complete, ac_verified, gates_passed)
  • per-gate results (gates[])
  • blocking_failures[] with gate, files, output, and remediation hints
  • warnings[], cache_status, and final ok

Pre-1.4 there was a parallel tausik_task_done_v2 alias for the structured-JSON variant. v14b-task-done-rename-drop-v2 consolidated both into the single tausik_task_done returning the structured JSON above — there is no _v2 suffix. The Verify-First Contract is honoured on every path.

Sessions

ToolDescriptionRequired Parameters
tausik_session_startStart session
tausik_session_endEnd session
tausik_session_extendExtend active-time limit beyond 180 min
tausik_session_currentCurrent active session
tausik_session_listList sessions
tausik_session_handoffSave handoff datahandoff (object)
tausik_session_last_handoffGet handoff from previous session
tausik_session_open (v1.5)Compound RPC: session start + status + handoff + active/blocked tasks + self_check in one envelope. Powers /start Phase 1.

Session limit is gap-based active time (paused after 10-min idle gap), not wall clock. See session-active-time.md.

Hierarchy (Epics and Stories)

ToolDescriptionRequired Parameters
tausik_epic_addCreate epicslug, title
tausik_epic_listList epics
tausik_epic_doneComplete epicslug
tausik_epic_deleteDelete (cascade: stories + tasks)slug
tausik_story_addCreate story in epicepic_slug, slug, title
tausik_story_listList stories
tausik_story_doneComplete storyslug
tausik_story_deleteDelete (cascade: tasks)slug
tausik_roadmapTree: epic → story → task

Knowledge

ToolDescriptionRequired Parameters
tausik_memory_addSave to project memorytype, title, content
tausik_memory_searchFull-text search in memoryquery
tausik_memory_listList entries (filter by type)
tausik_memory_showShow entry by IDid
tausik_memory_deleteDelete entryid
tausik_memory_blockCompact markdown: recent decisions + conventions + dead ends (for /start re-injection)
tausik_memory_compactAggregate recent task_logs (phases + top words + top files)
tausik_memory_archive (v1.5)Soft-archive memory rows older than a duration (90d / 12w / 2m / 1y). Dry-run unless confirm: true.before (string), confirm (bool, optional)
tausik_memory_dedupe (v1.5)List near-duplicate memory pairs above a similarity threshold (read-only).threshold (float, optional), limit (int, optional)
tausik_decideRecord an architectural decisiondecision
tausik_decisions_listList decisions

Memory types: pattern, gotcha, convention, context, dead_end.

Graph Memory

ToolDescriptionRequired Parameters
tausik_memory_linkCreate edge between nodessource_type, source_id, target_type, target_id, relation
tausik_memory_unlinkSoft-invalidate edge (never deletes)edge_id
tausik_memory_relatedFind related nodes (1–3 hops)node_type, node_id
tausik_memory_graphList edges with filters

Relation types: supersedes, caused_by, relates_to, contradicts.

Dead Ends and Explorations

ToolDescriptionRequired Parameters
tausik_dead_endDocument a failed approachapproach, reason
tausik_explore_startStart time-boxed investigationtitle
tausik_explore_endEnd investigation
tausik_explore_currentCurrent investigation

Quality Gates and Verification

ToolDescriptionRequired Parameters
tausik_gates_statusStatus of all gates (by stack)
tausik_gates_enableEnable gatename
tausik_gates_disableDisable gatename
tausik_verifyv1.5 Verify-First: run heavy gates (pytest, tsc, …) and cache green in verification_runs. After that tausik_task_done reads the cache and closes instantly.task_slug

Available gates: pytest, ruff, mypy, bandit, tsc, eslint, go-vet, golangci-lint, cargo-check, clippy, phpstan, phpcs, javac, ktlint, filesize, tdd_order. Stack-scoped gates auto-enable based on detected stack; universal gates (filesize, tdd_order) apply to all stacks.

tdd_order is disabled by default. Enable with tausik_gates_enable name=tdd_order.

Stacks

ToolDescriptionRequired Parameters
tausik_stack_listList built-in + custom stacks
tausik_stack_showResolved stack: gates per language + override infostack
tausik_stack_exportExport resolved declaration as JSONstack
tausik_stack_diffDiff between built-in and user overridestack
tausik_stack_resetRemove user override at .tausik/stacks/<stack>/stack
tausik_stack_lintValidate user-override stack.json files
tausik_stack_scaffoldCreate .tausik/stacks/<name>/{stack.json,guide.md} skeletonname

DEFAULT_STACKS: 25 entries (python, fastapi, django, flask, react, next, vue, nuxt, svelte, typescript, javascript, go, rust, java, kotlin, swift, flutter, laravel, php, blade, ansible, terraform, helm, kubernetes, docker). Custom stacks via .tausik/config.jsoncustom_stacks.

Roles

ToolDescriptionRequired Parameters
tausik_role_listList roles
tausik_role_showShow role profileslug
tausik_role_createCreate role (optionally extends a base profile)slug, title
tausik_role_updateUpdate role metadataslug
tausik_role_deleteDelete roleslug
tausik_role_seedBootstrap rows from harness/roles/*.md + existing task usage

Role storage is hybrid: SQLite metadata + harness/roles/{role}.md profile markdown. Roles on tasks remain free-text.

Periodic Audit (SENAR Rule 9.5)

ToolDescriptionRequired Parameters
tausik_audit_checkCheck whether audit is overdue
tausik_audit_markMark audit as completed

Skills

ToolDescriptionRequired Parameters
tausik_skill_listList skills: active, vendored, available
tausik_skill_installInstall skill from repo (clone + copy + deps)name
tausik_skill_uninstallUninstall skill completelyname
tausik_skill_activateActivate installed skillname
tausik_skill_deactivateDeactivate skill (keep files)name
tausik_skill_repo_addAdd TAUSIK-compatible skill repo (third-party URLs need force)url, optional force
tausik_skill_repo_removeRemove skill reponame
tausik_skill_repo_listList repos and available skills
tausik_skill_catalogDiscovery: list skills offered by configured/cloned repos (name, category, description)optional repo, optional as_json

Cross-Project Queue (CQ)

ToolDescriptionRequired Parameters
tausik_cq_publishPublish a cross-project eventpayload
tausik_cq_queryQuery cross-project queue

Multi-agent and Maintenance

ToolDescriptionRequired Parameters
tausik_teamTasks grouped by agent
tausik_eventsAudit log (events)
tausik_update_claudemdUpdate dynamic section in CLAUDE.md
tausik_fts_optimizeOptimize FTS5 indexes

Shared Brain (tausik-brain, 7 tools)

ToolDescriptionRequired Parameters
brain_searchSearch the Notion-backed brain (FTS over local mirror)query
brain_getGet a brain record by idid, category
brain_store_decisionStore a cross-project decisionname, decision
brain_store_patternStore a cross-project patternname, description
brain_store_gotchaStore a cross-project gotchaname, description
brain_draft_artifactDry-run artifact publish (taxonomy + scrub + classifier risk; no Notion write)kind
brain_cache_webCache a web result for token reusename, url, content

The tausik-brain MCP server runs config-agnostic at startup and reads registry from .tausik-brain/ configuration. The total tool count for this server is 7 (verified via len(TOOLS) in harness/claude/mcp/brain/tools.py).

Brain config requirements

When brain.enabled=true in .tausik/config.json, ALL of the following must be set or tausik_decide (and other brain-routing operations) will return a ⚠ ... saved LOCALLY ONLY — brain mirror BLOCKED warning and skip the Notion mirror:

  • brain.database_ids.decisions, database_ids.patterns, database_ids.gotchas, database_ids.web_cache — all four Notion database UUIDs.
  • brain.notion_integration_token_env — env var name (default NOTION_TAUSIK_TOKEN) that must resolve to a non-empty token via env, .tausik/.env, or brain.notion_integration_token in config.

tausik doctor surfaces validation errors as a Brain config warning row. The fastest fix is tausik brain init (interactive wizard) or set brain.enabled=false to opt out cleanly. After fixing the config, run tausik brain move --to-brain to migrate decisions/gotchas/patterns that were saved locally during the misconfiguration window.

Codebase RAG (separate optional MCP server)

ToolDescriptionRequired Parameters
search_codeSearch project code via RAG indexquery
search_knowledgeSearch project knowledge basequery
reindexReindex the codebasemode (incremental/full), max_seconds (soft limit, full only). v1.5: stderr progress every 100 files; truncated=true on timeout.
rag_statusRAG index status
archive_doneArchive completed tasks
cache_web_resultCache web search result for reusequery, content
search_web_cacheSearch cached web resultsquery

These are not part of the main 105 count — they belong to the optional codebase-rag server.

Launching the Tausik MCP Server

The bootstrap step generates IDE-specific MCP launchers under harness/<ide>/mcp/. Claude Code reads .claude/settings.json (auto-generated). To regenerate IDE assets and MCP wiring, run python bootstrap/bootstrap.py from your TAUSIK checkout (or python .tausik-lib/bootstrap/bootstrap.py when using the submodule layout). Use python bootstrap/bootstrap.py --refresh only to rewrite .tausik/config.json (e.g. after setting TAUSIK_MODEL_PROFILE) without copying skills/scripts — it does not regenerate .mcp.json files.