mcpserver.lol
registry/meridian
Connection check verified live · 27h ago

meridian

Persistent memory, task coordination, and HITL queue for AI coding sessions.

Tools 180
GitHub stars
Installs / wk
Licence
Transport sse, stdio
Last checked 27h ago

Tools & capabilities

180 tools

Read from the running server on 27h ago.

accept_handoff goal_tokenlive_itemsproject_idproject_namepresented_bodyrequired_tools +5
[SUPPORT] Read-only: (1bd5e810) Canonical receiver-side acceptance check for a handoff envelope — composes token verification, capability/tool availability, tool-manifest drift, an…
activate_profile_layer actorscope_id*
[SUPPORT] 0bec79a7 (PROFILE-5) — Advance a hosted_default layer's lifecycle to 'active' — the single 'publish' operation for the hosted_default floor (fae6e882 pinned decision coll…
add_custom_hook name*event*enabledmatcherblockingscript_sh* +3
[MAINTENANCE] 273287cb — define a user-creatable Claude Code hook (PreToolUse | PostToolUse | Stop), generalizing past sprint_guard.sh/.ps1 (the only hook Meridian auto-writes toda…
add_insight bodytagstitle*horizonproject_idproject_name
[SUPPORT] Record a durable STRATEGIC INSIGHT — accumulated understanding that generates future decisions. A first-class knowledge type SEPARATE from decisions (choices with a lifec…
add_note body*kindtagstitle*sourcesymbol +5
[SUPPORT] Add a per-project wiki note (setup, gotcha, howto, env, ...). Free-form title/body; comma-separated tags optional. Optional kind (wiki=gotcha/rule/howto, insight=strategi…
add_proposal_gate affected*category*evidence*question*created_byexpires_at +4
[SUPPORT] Raise a typed, lane-blocking HITL gate for a materially ambiguous decision — legal/IP, product scope, destructive operations, production deployment, human acceptance of a…
add_sprint_item waveforcegroupnotestitle*track +16
ALWAYS call get_sprint_items first to check for existing pending items before adding. Append a todo item to the project's sprint checklist. Use when starting work on a new version…
add_sprint_item_pointer labeltargets*project_idsource_type*project_namesprint_item_id*
[SUPPORT] 2976e168 — attach a GENERIC POINTER to a sprint item: a portable, composable reference to a thing-in-a-source, grounded in LSP Location + W3C Web Annotation Selector comp…
add_sprint_note body*title*note_kindsession_id*
[SUPPORT] Add an ephemeral note to the current session's scratch pad. Use for constraints, blockers, working assumptions valid only this session. Notes are auto-deleted when the se…
add_subtask ownertitle*parent_id*project_idproject_name
[SUPPORT] Add a child sprint item under an existing parent item. Inherits the parent's version. Status starts as pending. Rejects if the parent is already done, failed, or skipped.…
add_workspace_note body*tagstitle*
[MAINTENANCE] Add a workspace-level wiki note that applies across ALL projects in this workspace (onboarding, cross-cutting conventions, shared infra). Unlike add_note, it is not t…
add_workspace_proposal body*tagstitle*
Capture a workspace-level flash of insight into the 'drawer of inspiration' — cross-project ideas that don't belong to any one project yet. Unlike sprint items these are NOT execut…
add_workspace_sprint_item grouptitle*human_id
[MAINTENANCE] Add an item to the workspace-level personal backlog — a cross-project board NOT tied to any single project (track thesis + Meridian + personal goals in one view). Use…
advance_proposal_status status*proposal_id*
[SUPPORT] Transition a workspace proposal through its lifecycle. Enforced transitions: raw → investigating|rejected; investigating → promoted|rejected|raw; rejected → raw. 'promote…
analyze_model_efficiency read-only sizefilestitlefile_countdescriptiontouches_resources
[MAINTENANCE] 0fba4cb6 — MECHANICAL (zero-token) model-tier suggestion for a task or sprint item. Deterministic, rule/heuristic classifier: NO model call, NO DB, NO network — it mi…
analyze_sprint versionproject_idproject_name
[MAINTENANCE] PLANNING: Read-only synthesis of the current sprint into one structured brief — parallelizability (conflict-free groups + max fan-out), dependency chains (depends_on…
annotate_outputs note*path*run_paramsoutputs_dir*
[SUPPORT] 9e02e448 — capture a human annotation for a path inside an outputs tree WITHOUT touching the filesystem. Upserts a row into the annotations layer of the local DuckDB outp…
answer_hitl answer*request_id*answered_by
[SUPPORT] Answer a pending HITL request programmatically. Marks it answered so the waiting session can resume. Use list_hitl_requests to find request IDs. Persistent-state disclosu…
archive_decision can modify data decision_id*
[SUPPORT] Archive a pinned decision by id. Soft-deletes to preserve the audit trail. Use when something was filed by mistake or is a duplicate. For retiring a valid but superseded…
assign_sprint_waves versionproject_idproject_name
[MAINTENANCE] 58a45b92 — PERSIST the parallel grouping: writes the conflict-free batches get_parallelizable_groups computes onto each eligible item's stored `wave` field (group i -…
batch_mutate mode*entries*project_idsession_idmax_entriesproject_name +1
[SUPPORT] 133bfff6 — run a batch of TRANSACTIONAL mutation entries in ONE call, mixing entry kinds selected per-entry via 'kind': 'sprint_item_pointer' (attach a pointer — same sha…
batch_read read-only requests*project_idmax_requestsproject_name
[SUPPORT] 133bfff6 — run a batch of DOMAIN-AWARE, CONCURRENT read requests in ONE call. Each request names an 'adapter' + 'operation' + 'args'; independent requests (no depends_on)…
capture_research_finding url*summary*project_idproject_namerelated_decision_id
[SUPPORT] Inline capture for web/paper research during planning: save a finding from a URL as an addressable note with the source link, optionally linked to a decision. A research-…
checkpoint versionproject_idsession_id*project_name
[SUPPORT] Save progress mid-session. Runs auto_capture (buckets done tasks into a note), generates a delta handoff, and returns a compact summary with what was done, what's pending…
claim_docx_region file_path*element_id*session_id*
[MAINTENANCE] f7ee1ba7 — Model B scoped-region claiming for .docx files. Claim a specific paragraph/element by its durable `element_id` (the w14:paraId surfaced by get_document_str…
claim_file modesymbolcontentitem_idfile_path*session_id*
[SUPPORT] Claim edit rights on a file for this session. Whole-file by default (auto-expires after 2 hours). For symbol-level claims — so two sessions can edit the same file if they…
claim_sprint_item actoritem_id*project_idsession_idproject_nameresource_contents +2
Claim a pending sprint item: sets status to in_progress and records claimed_at + actor. Read-only: false. Rejects if the item is already in_progress, done, failed, skipped, its tou…
clear_capability_profile scope_id*scope_type*
[SUPPORT] 02038afe — Delete a scope's ENTIRE capability profile row (both its capabilities and its disabled_capability_ids) so it reverts to purely inheriting from less specific la…
clone_profile_layer actorsource_scope_id*target_scope_id*source_scope_type*target_scope_type*
[SUPPORT] 0bec79a7 (PROFILE-5) — Copy one layer's fields/reset_fields/provenance onto another scope, going through the exact same validation/hashing path as save_profile_layer (not…
commit_proposal_promotion actordepth*pointersproject_idsession_idproposal_id* +8
[SUPPORT] Commit a proposal's promotion through 'depth' (ce4883f3), cumulative over every shallower depth. Requires 'preview_hash' from a just-called preview_proposal_promotion wit…
complete_sprint_item actornotesitem_id*task_idproject_idsession_id +9
Mark a sprint item done. Pass task_id to link the task that shipped it. Pass session_id to get a board_change field (items injected mid-run) and an active-worktree merge reminder i…
complete_wave_gate actorversionproject_idsession_idwave_label*project_name +1
[SUPPORT] d2430713 — EXECUTOR GATE: call this AFTER you have actually run a wave's gate action list (push, deploy, wait, run_verification) to unblock the next wave's sprint items.…
complete_workspace_sprint_item item_id*
[MAINTENANCE] Mark a workspace personal-backlog item done (stamps completed_at). Returns the updated item. Persistent-state disclosure: on hosted Meridian, supplied text and projec…
configure_wave_gate actoractions*versionwave_end*project_idsession_id +2
[SUPPORT] 74a8f420 — PLANNING: configure (or on-the-fly reconfigure) a deterministic action pipeline attached to a wave or wave-range, ENFORCED STRUCTURALLY — not just advisory /go…
create_project name*execution_modeparent_project_id
[MAINTENANCE] Create a new Meridian project. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata -- including task log entries, pinned decis…
delete_custom_hook can modify data hook_id*project_idproject_name
[MAINTENANCE] 273287cb — delete a user-defined hook by id (the id returned by add_custom_hook / get_custom_hooks). Idempotent: deleting an already-gone hook returns {deleted:false}…
delete_note can modify data note_id*
[MAINTENANCE] Hard-delete a project note by id. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata -- including task log entries, pinned de…
delete_sprint_item_pointer can modify data pointer_id*
[MAINTENANCE] 2976e168 — delete ONE generic pointer from a sprint item by its pointer id (the id returned by add_sprint_item_pointer / get_sprint_item_pointers). A stored pointer i…
dismiss_hitl can modify data request_id*
[SUPPORT] Dismiss a HITL request (won't-answer / no longer relevant). Stays in audit trail. Use list_hitl_requests to find request IDs. Persistent-state disclosure: on hosted Merid…
execute_batch mode*entries*operation*project_idsession_idmax_entries +2
[SUPPORT] 627187b8 — run a HOMOGENEOUS batch of management writes (all entries the SAME operation) with real atomic-or-independent semantics. Every entry in ``entries`` is validate…
export_ai_log read-only limitevent_typeproject_idsession_idproject_namecorrelation_id +1
[MAINTENANCE] c0168425 — Read-only: project-scoped, receipted export of ai_log_events (meridian.db.ai_log — the append-only ExecutionEvent log). Nothing captures events into this t…
export_ai_log_artifacts read-only project_idproject_namecontent_hashes
[MAINTENANCE] c0168425 — Read-only: project-scoped, receipted export of stored ai_log artifacts (meridian.artifact_store — the local-first, content-addressed blob store an Executio…
fan_out_sprint_items modeitems*strictproject_idproject_nameidempotency_key
[SUPPORT] Bulk-insert sprint items from a single orchestrator call — decompose a goal into parallel work items without N sequential add_sprint_item calls. Pass a list of {title, de…
finalize_wave_run actorevidencewave_run_id*expected_revision_hash
[SUPPORT] 2a654cb0 — IDEMPOTENT FINALIZATION: close a wave run opened by start_wave_run. Safe to retry: if the run is already merged this returns the ORIGINAL result with already_f…
find_outputs_by_source read-only limitoutputs_dir*source_path*
[SUPPORT] 2ae25966 — READ-ONLY reverse provenance lookup over a run's OUTPUTS tree: the mirror image of resolve_figure_output's forward direction (figure -> source). Given a script…
find_similar_equation read-only doc*latex*limitproject_idproject_name
[MAINTENANCE] 06df6ab3 — fuzzy-match a LaTeX string against every equation already indexed (via index_equation) for one stored document, best match first. Each result carries the s…
find_similar_figure read-only doc*limitproject_idoutputs_dirproject_namedescription_or_path*
[MAINTENANCE] c623e648 — fuzzy-match a free-text description OR a file path against every figure already indexed (index_figure) for one stored document, best match first. Each resu…
find_similar_table read-only doc*limitproject_iddescription*project_name
[MAINTENANCE] 2622182d — fuzzy-match a free-text description against every table already indexed (index_table) for one stored document, best match first. Each result carries the st…
find_symbol_usages read-only doc*project_idproject_namesymbol_or_equation_id*
[MAINTENANCE] 9605edb0 — READ-ONLY cross-reference tracking: given a document and EITHER a doc_equations row id OR a symbol / normalized-LaTeX string, resolve it to ONE target norm…
generate_handoff read-only modeversionroot_dircheckpointproject_idsession_id +8
EXECUTOR SESSIONS: MANDATORY - call at end of every session before disconnect. Never write markdown manually. Read-only: Generate a context handoff. mode='full' writes the complete…
get_agent_instructions read-only project_idproject_name
[MAINTENANCE] Read-only: Return the custom agent_instructions for a project. These are injected automatically by start_session so every session picks them up. Use this when you nee…
get_blog_posts read-only status
[MAINTENANCE] Read-only: List workspace-scoped blog posts, newest first. Optional 'status' filter (draft|published|archived). Each post includes a 'url' (/blog/<slug>).
get_capability_manifest project_idproject_name
[SUPPORT] 649e095f — Read-only: return a project's structured capability manifest (id/purpose/required_tools/fallback_chain/provenance/availability_policy/verification_command per…
get_citation_edges read-only sourceproject_iddocument_idproject_name
[MAINTENANCE] fefb596a — read the CITATION GRAPH of a project's ingested documents. Returns every in-text citation marker (a kind='citation' element parsed from an ingested .tex/.d…
get_connection_log read-only limitsince
[MAINTENANCE] Read-only: Return the recent /mcp connection-event log for this tenant (newest first, up to 200 entries). Every HTTP /mcp request Meridian receives is recorded: times…
get_context_block read-only modeproject_idproject_name
[SUPPORT] Read-only: Return a compact project context block (north star, sprint, pending sprint items, recent tasks, recent decisions, active sessions) wrapped in a <meridian_conte…
get_custom_hooks read-only eventproject_idenabled_onlyproject_name
[MAINTENANCE] 273287cb — list a project's user-defined hooks (newest first). Optional event filter and enabled_only flag. Each entry includes the derived slug (the filename stem us…
get_document_structure file_path*
[SUPPORT] 13462df2 — return the heading outline of a Word .docx WITHOUT ingesting it as a note. Meridian parses the .docx server-side (stdlib only, no python-docx, no persistent in…
get_docx_region_claims file_path*
[MAINTENANCE] f7ee1ba7 — Read-only: list active scoped docx-region claims on a file (who owns which element_ids). Use before update_paragraph to see whether the target element is c…
get_effective_capability_profile project_idproject_nameuser_scope_idsprint_item_idworkspace_scope_id
[SUPPORT] 02038afe — Read-only: resolve and return the MERGED capability profile for a project (optionally narrowed to one sprint item) across every applicable layer — workspace ->…
get_effective_profile read-only project_idsession_idproject_nameuser_scope_idworkspace_scope_idhosted_default_scope_id
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: resolve and return the MERGED profile for a project across every applicable layer — hosted_default -> workspace -> user -> project -> se…
get_file_claims read-only symbolfile_path*project_idproject_name
[SUPPORT] Read-only: show active claims on a file — the whole-file lock (with the holder's session name, if any) plus any symbol-level claims. Use to check who owns a file before e…
get_findings keylimitproject_idsession_idproject_name
[MAINTENANCE] Read-only (c35370cc): read stored session_findings for a project (newest first), optionally scoped by key and/or session_id. The read side of store_finding. Persisten…
get_flag_drift read-only docroot_dirflag_nameelement_idproject_idproject_name
[MAINTENANCE] 8ca89e8f — read side of link_flag_to_section: for every recorded flag link (optionally scoped to one doc / element_id / flag_name — pass flag_name alone with no doc f…
get_flag_registry read-only root_dir
[SUPPORT] 45802b67 — scan a source tree for `os.environ.get(...)` / `os.getenv(...)` call sites (AST-based, not regex) and return a flat inventory of every config flag the codebase…
get_goal read-only project_idproject_name
[SUPPORT] Read-only: Fine-grained — return just the goal fields (north_star, sprint, version_goal) in isolation. Use start_session or get_session_brief for full context including t…
get_graph_diff read-only session_a*session_b*
[MAINTENANCE] Read-only: compare the latest code-graph snapshots of two sessions — returns delta in node_count, hotspot_count, and file_churn. Use snapshot_graph_metrics first to r…
get_hitl_request read-only request_id*
[SUPPORT] Read-only: Poll a HITL request for the human's answer. Returns the row including status ('pending'|'answered'|'dismissed') and answer text.
get_insights read-only horizonproject_idproject_name
[SUPPORT] Read-only: List a project's strategic insights (newest first), optionally filtered by horizon (permanent|year|quarter). Review accumulated understanding before planning.…
get_latex_structure sourcefile_path
[SUPPORT] 106118cd — parse a LaTeX (.tex) source's structure WITHOUT a PDF intermediary. Meridian parses the .tex server-side with pylatexenc (pure-Python, no LaTeX install) and re…
get_notes read-only tagsortlimitquerybodiescursor +2
[SUPPORT] Read-only: List project notes (newest first), LIGHTWEIGHT by default — each item is id/slug/title/tags/kind/priority/timestamps with NO body, so the list never overflows…
get_parallelizable_groups versionproject_idproject_name
[MAINTENANCE] Read-only: Return clusters of pending sprint items that are safe to run simultaneously. Filters pending/todo items (optionally by version) whose depends_on is satisfi…
get_pinned_decisions read-only project_idproject_nameinclude_superseded
[SUPPORT] Read-only: List pinned decisions, highest priority first (urgent → normal → low, then newest-first). Active only by default. Each row includes its priority and a parsed e…
get_planning_brief read-only sinceexpandproject_idproject_name
PLANNING SESSIONS: CALL THIS FIRST before anything else. Read-only: Return a compact planning context — sprint, north star, pending items, in-progress items, recent tasks, active s…
get_plugin_details read-only name*
[MAINTENANCE] Read-only: Full schema for one named plugin (all tool definitions, description overrides, and stored skill guide if available). Use list_plugins first to see which pl…
get_profile_layer read-only scope_id*scope_type*
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: return the raw, single-layer profile for one (scope_type, scope_id) — one row of the hosted_default -> workspace -> user -> project -> s…
get_profile_layer_revisions read-only limitscope_id*
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: the hosted_default revision/audit history for one scope_id, newest first — the rollback/audit trail the profile contract requires for th…
get_project_by_name read-only name*
[MAINTENANCE] Read-only: Find a project by name — look up, search, or resolve a project's project_id from its name (case-insensitive substring match). Use when the user names a pro…
get_proposal_gates read-only statecategoryproject_idproject_namesprint_item_id
[SUPPORT] Read-only: list proposal HITL gates for a project, optionally filtered by category and/or (raw, stored) state. Pass sprint_item_id to instead list only the gates currentl…
get_server_log_checkpoint read-only seek_to
[MAINTENANCE] b241a437 -- Read-only: Return the positional/checkpoint index for the server_logs ring-buffer. The checkpoint is a lightweight 'table of contents' mapping minute-leve…
get_server_logs read-only limitsinceseek_tolevel_filtermodule_filter
[MAINTENANCE] Read-only: Return recent application-level WARNING/ERROR/EXCEPTION log records (newest first, up to 500 entries). Captures any logging.warning() / logging.error() / u…
get_session_activity read-only limitsession_id*
[MAINTENANCE] Read-only: Return the raw MCP-tool-call heartbeat feed for the given executor session — a ring-buffer of the last tool calls (newest first, up to 50 entries). Populat…
get_session_brief read-only roleproject_idsession_idproject_name
[SUPPORT] Read-only: Call this FIRST for project summaries or to see what a session did — returns session, tasks, decisions, and recent commits in one call. Replaces the start_sess…
get_session_log read-only session_id*activity_limit
[MAINTENANCE] Read-only: Return the full task log for the given session. Returns every log_task description logged during the session (transcript/task_count) PLUS a recent_activity…
get_sprint_item_pointers read-only project_idproject_namesprint_item_id*
[SUPPORT] 2976e168 — list the GENERIC POINTERS attached to a sprint item (oldest first). Each pointer is {id, source_type, targets:[{uri, selector, subSelector?}], label, created_a…
get_sprint_items read-only expandstatusproject_idproject_name
Read-only: List sprint items for a project. Optional status filter (todo|pending|in_progress|provisional_complete|done|failed|skipped|pushed|indeterminate). Cold sessions read this…
get_sprint_notes read-only note_kindsession_id*
[SUPPORT] Read-only: Get all ephemeral scratch-pad notes for the current session. Shown at the top of session briefs so every cold start sees active constraints. Pass note_kind='th…
get_sprint_progress read-only versionitem_groupproject_idsession_idproject_name
[SUPPORT] Read-only: Return a SUMMARY of sprint items by status (pending/in_progress/done/failed) optionally filtered by version or item_group. Returns total, done, in_progress, pe…
get_symbol_claims read-only file_path*
[MAINTENANCE] Read-only: list symbol-level claims on a file (who owns which class/function/method line ranges).
get_symbol_hotspots read-only daysfile_pathmin_sessions
[MAINTENANCE] Read-only: symbols claimed by 3+ distinct sessions within 14 days — a refactor/ownership smell. Optionally scope to one file.
get_tasks read-only limitproject_idproject_name
[SUPPORT] Read-only: Get recent tasks across all sessions.
get_tunnel_diagnostics read-only hostname
[MAINTENANCE] f1e0df55 — Read-only: ONE layered diagnostic snapshot of your tunnel/connectors, separating what's SAVED in the dashboard from what's ACTUALLY running so a saved-but-…
get_workspace_decisions read-only include_superseded
[MAINTENANCE] Read-only: List workspace-level pinned decisions (active only by default, newest first).
get_workspace_notes read-only tag
[MAINTENANCE] Read-only: List workspace-level notes (newest first). Optional ?tag substring filter.
get_workspace_proposals taglimitoffsetstatus
[SUPPORT] Read-only: List a bounded page of workspace proposals (human-authored flashes of insight), newest first. When status is omitted, defaults to 'live' proposals only (raw +…
get_workspace_settings read-only
[MAINTENANCE] Read-only: Read workspace-global default settings (applies across ALL projects in this workspace): hitl_auto_answer_default and sprint_name_default. Returns the singl…
get_workspace_sprint_items groupstatus
[MAINTENANCE] Read-only: List workspace personal-backlog items (grouped by 'group', then position). Optional 'status' (todo/pending/in_progress/done/skipped/failed) and 'group' fil…
github_search read-only typelimitquery*sort_by
[SUPPORT] Search GitHub — a REAL external lookup (keyless), sibling to paper_search/social_search for external prior-art / competitive-repo research. Distinct from search_code, whi…
idle_until_all_done session_ids*
[MAINTENANCE] PARALLEL COORDINATION (d3a3a01d): non-blocking barrier check across sibling sessions. Returns {all_done, pending, statuses}; a session is done when closed/archived/mi…
idle_until_session_done read-only timeout_secondswatching_session_id*
[MAINTENANCE] Read-only: Poll every 30 seconds until another session is closed or archived. Use this when you need to wait before editing a locked file. 6f9503a9 — BOUNDED: the wai…
index_equation doc*project_idproject_nameomml_or_latex*semantic_label
[MAINTENANCE] 06df6ab3 — index ONE Word equation (OMML) against a document already stored in the doc-structure store — populated by ingest_document (which registers a docx/latex do…
index_figure doc*captionfile_pathproject_idproject_namesemantic_label
[MAINTENANCE] c623e648 — index ONE figure into the SEMANTIC figure index against a document already stored in the doc-structure store — populated by ingest_document (which register…
index_table doc*captionproject_idtable_indexproject_namesemantic_label +1
[MAINTENANCE] 2622182d — index ONE table into the SEMANTIC table index against a document already stored in the doc-structure store — populated by ingest_document (which registers…
ingest_document tagstitlesourcecontentfile_pathproject_id +1
[SUPPORT] Turn a Word/PDF/text document into a queryable kind='document' note with a source link — a report, thesis chapter, or spec doc becomes searchable project memory. Pass fil…
ingest_document_structure titleblocks*source*doc_typeproject_idproject_name
[MAINTENANCE] db42acce — persist pre-parsed structural data (headings/figures/tables) into the doc-structure store, keyed on the SAME source as ingest_document(content=...) so find…
insert_equation doc*para_id*positionproject_idproject_nameequation_id_or_omml*
[MAINTENANCE] 51a595e7 — write an OMML equation DIRECTLY into a stored document's source .docx (real OOXML write-back), collapsing the manual resolve->open->parse->splice->rewrite-…
link_figure_caption doc*figure_id*project_idproject_namecaption_element_id*
[MAINTENANCE] 0ff8b982 — DURABLY link an already-indexed figure (doc_figures row) to its caption paragraph (a doc_elements id), by stable structural id rather than paragraph proxim…
link_flag_to_section doc*value*defaultflag_name*element_id*project_id +3
[MAINTENANCE] 8ca89e8f — DURABLY link a docx section/paragraph/figure/table (any doc_elements id — the same id space index_figure/index_table/link_figure_caption already anchor to)…
link_manual_github_issue item_id*project_idsession_idissue_number*project_name
[SUPPORT] 5dfe34b2 — attempt to link a manually-filed GitHub issue (one Meridian did NOT create) to a sprint item, extending fdaa5b55's automated comment/propose flow to it. No-ops…
link_table_caption doc*table_id*project_idproject_namecaption_element_id*
[MAINTENANCE] 42d398a5 — DURABLY link an already-indexed table (doc_tables row) to its caption paragraph (a doc_elements id), by stable structural id rather than paragraph proximit…
list_hitl_requests read-only limitstatusproject_idproject_name
[SUPPORT] Read-only: List HITL requests without needing UUIDs. OMIT project_id to list pending HITLs across ALL your projects (matches the dashboard) — planning sessions should cal…
list_plugins read-only
[MAINTENANCE] Read-only: Lightweight index of active tunnel plugins — name, description, enabled state, and tool_count. Does NOT return full tool schemas (use get_plugin_details fo…
list_profile_layers read-only scope_type
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: enumerate every persisted profile_layers row across the 5-layer hosted_default -> workspace -> user -> project -> session contract (see…
list_projects read-only
[MAINTENANCE] Read-only: List all projects — find, browse, or look up your projects and their IDs. Call this first when you have a project name but need its project_id, or to disco…
list_sessions read-only statusproject_idproject_name
[MAINTENANCE] Read-only: List active sessions for a project. Useful for planning chat to see what's currently running before filing new sprint items.
load_handoff read-only project_idproject_name
[MAINTENANCE] Read-only: Return the latest stored handoff for a project as an MCP tool result — a trusted-channel alternative to a copy-pasted /goal. Returns {pending_goal, handoff…
log_task kindstatusproject_idsession_id*description*project_name
[SUPPORT] Log a task this session completed or is working on. Valid statuses: pending, in_progress, done, failed, backlog, future, backburner. Persistent-state disclosure: on hoste…
merge_project archive_sourcesource_project_id*target_project_id*
[MAINTENANCE] d6bd60e0 — merge a phantom-duplicate project INTO another. Re-parents EVERY child row of the source project (sprint items, tasks, decisions, insights, notes, HITL req…
merge_sprint_items item_ids*new_title*project_idproject_name
[SUPPORT] Merge multiple sprint items into one. Source items are closed (skipped, merged_into=survivor). Returns the new survivor item. Persistent-state disclosure: on hosted Merid…
paper_search read-only limitquery*sourcesort_by
[SUPPORT] Search academic papers — a REAL external lookup (keyless). Per the research-routing protocol, use this FIRST for academic/paper questions (cite the paper itself, not a se…
pin_decision body*title*categorypriorityassumptionproject_id +1
[SUPPORT] Create a pinned decision (editable constitution row). Use for the current authoritative truth that supersedes earlier statements. category is free-text; suggested values:…
pin_workspace_decision body*title*category
[MAINTENANCE] Pin a workspace-level decision that applies across ALL projects (shared architecture, org-wide standards). Injected at the top of every project's context block + hand…
preview_proposal_promotion read-only depth*project_idproposal_id*project_namesprint_item_titletouches_resources +2
[SUPPORT] Read-only (ce4883f3): preview what commit_proposal_promotion would do for a proposal at a given depth, WITHOUT writing anything. Depths are cumulative, shallow to deep: '…
promote_proposal project_idproposal_id*project_namesprint_item_titlesprint_item_version
Promote a workspace proposal into a real sprint item, creating the link between them. The proposal must be in 'raw' or 'investigating' state. Creates a sprint item under the given…
prospect_symbol read-only kindlimitsymbol*root_dirproject_idsession_id +2
[SUPPORT] 2ce5bc76 — ROBUST symbol prospecting with a three-rung fallback chain: tries codebase__search_graph FIRST (fast, graph-indexed); when it returns zero results OR the calle…
purge_ai_log can modify data cutoff*project_idproject_name
[MAINTENANCE] c0168425 — Project-scoped, cutoff-based retention sweep spanning BOTH ai_log_events (meridian.db.ai_log.purge_events_before) and their stored artifacts (meridian.arti…
read_note read-only slug*project_idproject_name
[SUPPORT] Read-only: Fetch one project note's full body by its per-project slug (the ``slug`` field from get_notes). The pull half of the list→read model — get_notes returns slugs…
receive_messages limitmark_readsession_id*
[MAINTENANCE] PARALLEL COORDINATION (d3a3a01d): fetch unread messages addressed to a session (oldest first) and mark them read by default. The receive side of send_message. Persist…
reconcile_sprint_drift read-only project_idproject_name
[MAINTENANCE] Read-only: Cross-reference pending sprint items against recent git commits and return items that may already be done. Uses keyword matching — confidence 'high' means…
record_handoff_correction modestatusversionoutput_dirproject_idregenerate +12
[MAINTENANCE] 3af86d28 — record a corrective handoff when a blocked executor session reaches a wall after receiving a handoff (its evidence/scope no longer holds, a pointer stopped…
refresh_context project_idproject_name
[SUPPORT] Single-call post-compaction recovery for planning chats. Returns a COMPACT snapshot — current sprint + progress, next pending items, the active session id, recent handoff…
refresh_tool_manifest read-only
[MAINTENANCE] Read-only: return the authoritative, compact manifest of ALL built-in Meridian MCP tools (name + one-line summary). Call this when you suspect your client's tool sche…
register_session clienthuman_idproject_idproject_namesession_name*
[MAINTENANCE] Low-level: register this session without loading goal context. Use start_session instead for executor/human sessions — it registers AND returns goal + tasks in one ca…
release_docx_region_claims file_pathelement_idsession_id*
[MAINTENANCE] f7ee1ba7 — Release scoped docx-region claims held by a session. Without element_id releases all claims on the file; with element_id releases only that one element. Wi…
release_file file_path*session_id*
[SUPPORT] Release a file lock (and any symbol claims this session holds on it). Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata -- inclu…
rename_project new_name*project_idproject_name
[MAINTENANCE] 7acb8563 — rename a project. Returns the updated project, or {error} if it does not exist. Persistent-state disclosure: on hosted Meridian, supplied text and project/…
reopen_proposal_gate actor*reason*gate_id*project_idproject_name
[SUPPORT] Invalidate a still-standing proposal gate decision (e.g. new evidence surfaced) so resolve_proposal_gate can be called again. Resets the lane to 'blocked' (fail-safe), sn…
request_hitl kindcontextoptionsurgencyquestion*project_id +5
Surface a question to the human-in-the-loop queue. ALWAYS use this to ask the human a question — never just ask in chat, which is invisible to the dashboard and to an unattended/au…
request_manual_issue_screening_toggle enable*contextproject_idsession_idproject_name
[SUPPORT] 5dfe34b2 — request enabling/disabling the OFF-by-default opt-in extension that lets the automated GitHub-issue comment/propose flow (never auto-close) also act on issues…
reset_plugin_override slot*hostname
[MAINTENANCE] Clear a tenant's stored command/config override for one plugin slot, resetting it back to the built-in default. Fixes the gap where stale_override detection (surfaced…
reset_profile_layer scope_id*scope_type*
[SUPPORT] 0bec79a7 (PROFILE-5) — Delete a scope's ENTIRE profile-layer row so it reverts to purely inheriting from less-specific layers — mirrors clear_capability_profile's semanti…
resolve_citations max_itemsproject_idproject_name
[MAINTENANCE] fefb596a — resolve this project's in-text citation markers to canonical Zotero items via Zotero's LOCAL API and materialise the cross-document 'cites' -> zotero_item…
resolve_proposal_gate actor*state*gate_id*decision*expires_atproject_id +2
[SUPPORT] Record a human decision on a proposal gate: the lane's new state (blocked | quarantined | allowed), the free-text decision, and the actor who decided (decided_at is auto-…
resolve_sprint_item_pointers read-only root_dirproject_idproject_namesprint_item_id*
[SUPPORT] 2976e168 — resolve EVERY generic pointer on a sprint item to its concrete location, dispatching by selector.type. A range target returns its location as-is; symbol resolv…
resume_wave goal_tokenwave_run_id*presented_body
[SUPPORT] efaa918a — STALE-MANIFEST GATING: check whether a wave run opened by start_wave_run is still safe to resume against the LIVE board before you act on its pinned manifest.…
run_verification project_idproject_name
[SUPPORT] 0e973e52 — run the project's stored test_cmd on YOUR local machine via the tunnel and return a REAL, structured result — not self-reported. Fields: {exit_code, passed, fa…
save_blog_post idbodyslugtitle*status
[MAINTENANCE] Create or update a workspace-scoped blog post (draft|published|archived lifecycle). Posts belong to the whole workspace, not a single project, and are served publicly…
save_finding summary*project_idsource_urldecision_idsource_typeproject_name
[SUPPORT] Phase-agnostic capture primitive: turn a finding into a durable, addressable note with provenance — works with ANY source (Claude's built-in web search, the arXiv MCP, Se…
save_profile_layer actorfieldsscope_id*provenancescope_type*reset_fields +2
[SUPPORT] 0bec79a7 (PROFILE-5) — Validate and persist ONE layer of the hosted_default -> workspace -> user -> project -> session profile contract (see meridian.profile_contract.FIE…
search_all read-only limitquery*expandproject_idproject_name
[SUPPORT] Read-only: Universal search across all project content: tasks, notes, pinned decisions, and sprint items. Uses LIKE matching (SQLite) or ILIKE (Postgres). Returns grouped…
search_code_semantic read-only kindlimitquery*reindexroot_dir*
[SUPPORT] 93fce816 — Cursor-style LOCAL semantic code search over a source tree, entirely in a DuckDB sidecar (no cloud round-trip). Parses Python (stdlib ast) and TypeScript/JavaS…
search_outputs read-only limitquery*max_secondsoutputs_dir*include_archival
[SUPPORT] a0e9133e — READ-ONLY full-text search over a run's OUTPUTS tree (numeric/tabular/array artifacts), backed by DuckDB native FTS (Okapi BM25). Walks outputs_dir recursively…
search_server_logs read-only levellimitquery*since
[MAINTENANCE] 222d54f8 — BM25 full-text search over the server_logs ring-buffer. Complements get_server_logs (which filters by level/module/since) with keyword-ranked retrieval — u…
search_synthesis read-only limitquery*project_idproject_name
[SUPPORT] Read-only: Natural-language search that returns a short, CITED answer (which notes/items it drew from) synthesized over the same retrieval as search_all — not just a list…
search_tasks read-only limitquery*project_idproject_name
[SUPPORT] Read-only: Search tasks by keyword or natural-language query. Uses trigram similarity on Postgres, LIKE on SQLite. Returns top matches with similarity score.
send_message kindpayload*project_idproject_nameto_session_id*from_session_id
[MAINTENANCE] PARALLEL COORDINATION (d3a3a01d): enqueue an actor-model message to another session (session_messages table). 'Done with X, you do Y' between parallel agents. The rec…
set_active_repo repo_pathworktree_id
[MAINTENANCE] Update the tunnel's active Serena repo at runtime. When a planning session switches to a different codebase, call this so subsequent Serena requests (find_symbol, fin…
set_agent_instructions project_idinstructions*project_name
[MAINTENANCE] Set or update the custom agent_instructions for a project. Instructions are injected into every start_session response so AI sessions see them automatically — no need…
set_capability_manifest project_idcapabilities*project_name
[SUPPORT] 649e095f — Persist a project's structured capability manifest: a list of capability declarations, each with id, purpose, required_tools (non-empty list of tool/server nam…
set_capability_profile scope_id*provenancescope_type*capabilitiesdisabled_capability_ids
[SUPPORT] 02038afe — Persist ONE layer of the capability-inheritance chain: workspace -> user -> project -> sprint_version -> item (least to most specific). scope_type selects the…
set_executor_config branchenv_filetest_cmdtest_minmax_turnsrepo_path +10
[MAINTENANCE] Store per-project executor defaults (repo_path, env_file, test_cmd, test_min, deploy_cmd, shell_type, branch). Merges onto the existing config — other keys (hostnames…
set_goal content*project_idproject_name
[MAINTENANCE] Set or update the goal state. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata -- including task log entries, pinned decisi…
set_north_star north_star*project_idproject_name
[MAINTENANCE] Update only the north star — the long-lived product vision that rarely changes. Distinct from the version goal (set_goal). Any team member can call this. Persistent-s…
set_parent_project project_idproject_nameparent_project_idparent_project_name
[MAINTENANCE] 7acb8563 — set, change, or clear a project's parent AFTER creation (create_project only accepted parent_project_id at creation time). Use this to retroactively nest a…
set_sprint forcesprint*project_idproject_name
[MAINTENANCE] Update only the sprint — the short-term focus that changes each session or week. Any team member can call this; no ownership check. If pending items from the current…
snapshot_graph_metrics project_idsession_id*project_name
[MAINTENANCE] Record a code-graph snapshot for a session (node count, edge count, hotspot count, file churn). Call at session start and end to enable get_graph_diff comparisons. Pe…
social_search read-only limitquery*sourcesort_by
[SUPPORT] Search public social-media / discussion content — a REAL external lookup (keyless), sibling to paper_search but for social discussion rather than academic papers. Current…
split_sprint_item titles*item_id*project_idproject_name
[SUPPORT] Split a sprint item into multiple smaller items. The original is closed (skipped) and N new items are created with split_from referencing the original. Returns list of ne…
start_session moderoleclientcompactversionhuman_id +3
Register a session and return orientation. Compact by default (session_id, sprint focus + status counts, 3 recent tasks, board_change count) to keep an executor's context small. Pa…
start_wave_run actorversionitem_idsproject_idwave_labelproject_name +2
[SUPPORT] 2a654cb0 — DURABLE WAVE STATE: open a wave run before dispatching a parallel wave. Returns an immutable wave_run_id pinned to the canonical expanded board snapshot (revis…
store_finding keytitlecontent*task_idproject_idsession_id +1
[MAINTENANCE] PARALLEL COORDINATION (c35370cc): persist a per-task intermediate result to the session_findings table so it survives session boundaries. Parallel reader agents write…
update_custom_hook nameeventenabledhook_id*matcherblocking +4
[MAINTENANCE] b4f4627f — the previously-missing generic enable/disable/edit path for a user-defined hook (id returned by add_custom_hook / get_custom_hooks): patches name, event, m…
update_decision bodytitlestatuscategorynew_bodypriority +4
[SUPPORT] Patch a pinned decision. Pass new_title + new_body to atomically supersede (creates a new active row, marks old as superseded with back-link). Otherwise patches body/titl…
update_md_section file*forceanchor*content*urgencyproject_id +2
[MAINTENANCE] Propose a replacement for an anchored section of an agent template doc (CLAUDE.md or AGENTS.md). Does NOT write the file directly — it creates a human-in-the-loop req…
update_paragraph doc*runspara_id*new_textproject_idsession_id +4
[MAINTENANCE] f978e588 — ID-addressable docx WRITE (the write counterpart of the get_element_by_id / paraId read primitive). Targets ONE paragraph in a stored .docx by its w14:para…
update_sprint_item wavegroupnotestitletrackpolicy +19
[SUPPORT] Edit fields on an existing sprint item: title, version, notes, human_id (assignee), group, deferred_until (enforced deferral), track, or depends_on (dependency ordering).…
update_workspace_settings handoff_templatetool_priority_mapsprint_name_defaultloop_enabled_defaultexecution_mode_defaultclaim_verification_mode +2
[MAINTENANCE] Update workspace-global default settings. Pass only the fields you want to change. hitl_auto_answer_default (bool) seeds new projects' HITL auto-answer behaviour; spr…
update_workspace_sprint_item grouptitlestatusitem_id*human_id
[MAINTENANCE] Edit a workspace personal-backlog item: title, status, group, or human_id (assignee). Only the fields you pass are changed. Pass an empty string for group/human_id to…
validate_assumption symbolfinding*confirmed*file_pathsession_iddecision_id*
[SUPPORT] Confirm or invalidate the assumption a pinned decision rests on, in one call — no phase switching. Stamps the decision's assumption_status (confirmed|invalidated), saves…
verify_handoff_token read-only token*project_idproject_namepresented_body
[MAINTENANCE] Read-only: Verify a handoff provenance token (dd07ece0). When a /goal block is copy-pasted into chat rather than delivered via the trusted MCP channel (start_session…