Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,537Letters: 14Defects: 1,323counted 3 min ago
teppi

MCP serverio.github.ajc3xc/meridian

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

Overview

Score?
UNRATED 0.622
of what a free look can see, on 24 looks
Looks
31
last 1 day ago
Tools
235
changed 7 days ago

More info

URL
usemeridian.us/mcp/sse
sse
Says it is
meridian 0.2.6
protocol 2025-03-26
In the record since
32 days ago

Among servers18,413 with a card

0median 0.606 · this server 0.622 · highest on record 0.8561

Toolsfrom sha256:338daf53a6…f68aab · +0 −0 7 days ago

The tools this server lists, read out of the definition it returned
ToolSchema
accept_handoff
[SUPPORT] Read-only: (1bd5e810) Canonical receiver-side acceptance check for a handoff envelope — composes token verification, capability/tool availability, tool-manifest drift, an
input · no output
acquire_docx_document_lease
[MAINTENANCE] 6507e83a — Whole-document cross-process lease for .docx files, the counterpart claim_docx_region never provided (that tool hard-requires a specific element_id). Use t
input · no output
activate_profile_layer
[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
input · no output
add_custom_hook
[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
input · no output
add_insight
[SUPPORT] Record a durable STRATEGIC INSIGHT — accumulated understanding that generates future decisions. A first-class knowledge type SEPARATE from decisions (choices with a lifec
input · no output
add_note
[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
input · no output
add_proposal
Capture an idea into a proposal — PROJECT-SCOPED BY DEFAULT (a8afd8f9). This is the preferred entry point going forward; add_workspace_proposal remains available as the explicit wo
input · no output
add_proposal_gate
[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
input · no output
add_sprint_item
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
input · no output
add_sprint_item_pointer
[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
input · no output
add_sprint_note
[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
input · no output
add_subtask
[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.
input · no output
add_workspace_note
[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
input · no output
add_workspace_proposal
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
input · no output
add_workspace_sprint_item
[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
input · no output
advance_proposal_status
[SUPPORT] Transition a workspace proposal through its lifecycle. Enforced transitions: raw → investigating|rejected; investigating → promoted|rejected|raw; rejected → raw. 'promote
input · no output
analyze_model_efficiency
[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
input · no output
analyze_sprint
[MAINTENANCE] PLANNING: Read-only synthesis of the current sprint into one structured brief — parallelizability (conflict-free groups + max fan-out), dependency chains (depends_on
input · no output
annotate_outputs
[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
input · no output
answer_hitl
[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
input · no output
archive_decision
[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
input · no output
assign_sprint_waves
[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 -
input · no output
batch_mutate
[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
input · no output
batch_read
[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)
input · no output
capture_research_finding
[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-
input · no output
checkpoint
[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
input · no output
claim_docx_region
[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
input · no output
claim_file
[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
input · no output
claim_sprint_item
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
input · no output
clear_capability_profile
[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
input · no output
clone_profile_layer
[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
input · no output
commit_proposal_promotion
[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
input · no output
compare_proposal_versions
[SUPPORT] Read-only: structural diff between two proposals — most commonly two adjacent versions in a lineage chain, but works for any two existing proposal ids. Reports per-field
input · no output
complete_experiment_run
[SUPPORT] 3f6b8715 — finalize a run as status='completed' (default) or status='abandoned'. outcome_summary and disposition (keep|discard|promote) are explicit and REQUIRED — reject
input · no output
complete_external_job
[SUPPORT] Finalize an external job with an explicit terminal outcome. This never infers success from output files and never reopens a terminal record. It appends a final task-log e
input · no output
complete_research_run
[SUPPORT] a5343387 — finalize a research run with a compact, byte-bounded receipt (16KB cap; exceeding it is REJECTED, never silently truncated). disposition is explicit and REQUIR
input · no output
complete_sprint_item
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
input · no output
complete_wave_gate
[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.
input · no output
complete_workspace_sprint_item
[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
input · no output
configure_wave_gate
[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
input · no output
create_experiment
[SUPPORT] 3f6b8715 — W1-M Experiment Registry: create a named experiment (a research question; many runs belong to one). Reuses the pre-existing experiments table (4376e655) additi
input · no output
create_project
[MAINTENANCE] Create a new Meridian project. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata -- including task log entries, pinned decis
input · no output
create_proposal_successor
[SUPPORT] Create a NEW, distinct proposal that is a version/successor of an existing one, linked to it by an explicit typed relation (supersedes/refines/forks/continues/duplicates/
input · no output
delete_custom_hook
[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}
input · no output
delete_note
[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
input · no output
delete_sprint_item_pointer
[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). Idempotent: return
input · no output
delete_watchlist_query
[SUPPORT] Delete a saved research watchlist query. Scoped to project_id + the watchlist tag, so it never deletes an unrelated note. Persistent-state disclosure: on hosted Meridian,
input · no output
dismiss_hitl
[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
input · no output
execute_batch
[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
input · no output
export_ai_log
[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
input · no output
export_ai_log_artifacts
[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
input · no output
export_ai_log_otel
[MAINTENANCE] R2-G — Run ONE bounded export pass of new ai_log_events to the configured OTel/Langfuse-compatible OTLP endpoint for a project, resuming from the durable watermark le
input · no output
fan_out_sprint_items
[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
input · no output
finalize_wave_run
[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
input · no output
find_orphaned_docx_staged_files
[MAINTENANCE] 6507e83a — Maintenance diagnostic: detect staged-DOCX temp files (.meridian-docx-stage-*.tmp) left behind by a process that crashed between STAGE and PROMOTE inside m
input · no output
find_outputs_by_source
[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
input · no output
find_similar_equation
[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
input · no output
find_similar_figure
[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
input · no output
find_similar_table
[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
input · no output
find_symbol_usages
[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
input · no output
generate_handoff
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
input · no output
get_agent_instructions
[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
input · no output
get_ai_log_export_status
[MAINTENANCE] R2-G — Read-only: status/diagnostics for the OPTIONAL AI-log -> OTel/self-hosted-Langfuse export adapter (meridian.ai_log_otel_export). Attempts NO network call — onl
input · no output
get_blog_posts
[MAINTENANCE] Read-only: List workspace-scoped blog posts, newest first. Optional 'status' filter (draft|published|archived). Each post includes a 'url' (/blog/<slug>).
input · no output
get_capability_manifest
[SUPPORT] 649e095f — Read-only: return a project's structured capability manifest (id/purpose/required_tools/fallback_chain/provenance/availability_policy/verification_command per
input · no output
get_citation_edges
[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
input · no output
get_connection_log
[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
input · no output
get_context_block
[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
input · no output
get_custom_hooks
[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
input · no output
get_document_structure
[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
input · no output
get_docx_document_lease
[MAINTENANCE] 6507e83a — Read-only: the live whole-document lease on a .docx file, if any (who holds it). Use before acquire_docx_document_lease or a bulk rewrite to see whether th
input · no output
get_docx_region_claims
[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
input · no output
get_effective_capability_profile
[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 ->
input · no output
get_effective_profile
[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
input · no output
get_experiment
[SUPPORT] 3f6b8715 — read one project-scoped experiment by id.
input · no output
get_experiment_events
[SUPPORT] 3f6b8715 — list an experiment's events, oldest first. Optionally scoped to one run_id. Includes BOTH auto-skeleton writes (dead_end/pivot/breakthrough) and manually recor
input · no output
get_experiment_run
[SUPPORT] 3f6b8715 — read one project-scoped experiment run by id.
input · no output
get_external_job
[SUPPORT] Read one project-scoped external job and its durable observation history. Use this from a fresh session before taking any action on a live job.
input · no output
get_file_claims
[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
input · no output
get_findings
[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
input · no output
get_flag_drift
[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
input · no output
get_flag_registry
[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
input · no output
get_goal
[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
input · no output
get_graph_diff
[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
input · no output
get_hitl_request
[SUPPORT] Read-only: Poll a HITL request for the human's answer. Returns the row including status ('pending'|'answered'|'dismissed') and answer text.
input · no output
get_insights
[SUPPORT] Read-only: List a project's strategic insights (newest first), optionally filtered by horizon (permanent|year|quarter). Review accumulated understanding before planning.
input · no output
get_latex_structure
[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
input · no output
get_notes
[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
input · no output
get_parallelizable_groups
[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
input · no output
get_pinned_decisions
[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
input · no output
get_planning_brief
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
input · no output
get_plugin_details
[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
input · no output
get_profile_layer
[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
input · no output
get_profile_layer_revisions
[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
input · no output
get_project_by_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
input · no output
get_proposal_gates
[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
input · no output
get_proposal_lineage
[SUPPORT] Read-only: everything known about one proposal's place in its lineage graph in one call — raw relation edges touching it (either direction), its ancestor chain (walking p
input · no output
get_remote_task_status
[SUPPORT] 32d3d5de — Open a FRESH SSH connection (never the launching one) and determine a remote task's real status: completed (with the real exit code), still running (PID alive)
input · no output
get_research_run
[SUPPORT] a5343387 — read one project-scoped research run by id.
input · no output
get_server_log_checkpoint
[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
input · no output
get_server_logs
[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
input · no output
get_session_activity
[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
input · no output
get_session_brief
[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
input · no output
get_session_log
[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
input · no output
get_session_recovery
[SUPPORT] cdd0ef6c — Read-only: fetch one session's recovery record (by session_id or recovery_id) plus, by default, a continuation payload that RE-DERIVES the live sprint board an
input · no output
get_sprint_item_pointers
[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
input · no output
get_sprint_items
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
input · no output
get_sprint_notes
[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
input · no output
get_sprint_progress
[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
input · no output
get_symbol_claims
[MAINTENANCE] Read-only: list symbol-level claims on a file (who owns which class/function/method line ranges).
input · no output
get_symbol_hotspots
[MAINTENANCE] Read-only: symbols claimed by 3+ distinct sessions within 14 days — a refactor/ownership smell. Optionally scope to one file.
input · no output
get_tasks
[SUPPORT] Read-only: Get recent tasks across all sessions.
input · no output
get_tunnel_diagnostics
[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-
input · no output
get_workspace_decisions
[MAINTENANCE] Read-only: List workspace-level pinned decisions (active only by default, newest first).
input · no output
get_workspace_notes
[MAINTENANCE] Read-only: List workspace-level notes (newest first). Optional ?tag substring filter.
input · no output
get_workspace_proposals
[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 +
input · no output
get_workspace_settings
[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
input · no output
get_workspace_sprint_items
[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
input · no output
github_search
[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
input · no output
idle_until_all_done
[MAINTENANCE] PARALLEL COORDINATION (d3a3a01d): non-blocking barrier check across sibling sessions. Returns {all_done, pending, statuses}; a session is done when closed/archived/mi
input · no output
idle_until_session_done
[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
input · no output
index_equation
[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
input · no output
index_figure
[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
input · no output
index_table
[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
input · no output
ingest_document
[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
input · no output
ingest_document_structure
[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
input · no output
insert_equation
[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-
input · no output
link_figure_caption
[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
input · no output
link_flag_to_section
[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)
input · no output
link_manual_github_issue
[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
input · no output
link_proposal_lineage
[SUPPORT] Record a typed lineage relation between two EXISTING proposals: from_proposal_id --relation_type--> to_proposal_id (to_proposal_id is the older/predecessor side). Idempot
input · no output
link_table_caption
[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
input · no output
list_active_worktrees
[SUPPORT] dffcde86 — Read-only: list active (not-removed) git worktrees registered for a project, newest first, each row including the owning session's name. Reads the same active_
input · no output
list_experiment_runs
[SUPPORT] 3f6b8715 — list a project's experiment runs, newest-started first. Optionally scoped to one experiment_id and/or status.
input · no output
list_experiments
[SUPPORT] 3f6b8715 — list a project's experiments, newest first.
input · no output
list_external_jobs
[SUPPORT] Read the project's live external-job register. By default terminal jobs are omitted so a new session sees only work that may require observation or resumption. The respon
input · no output
list_hitl_requests
[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
input · no output
list_plugins
[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
input · no output
list_profile_layers
[SUPPORT] 0bec79a7 (PROFILE-5) — Read-only: enumerate every persisted profile_layers row across the 5-layer hosted_default -> workspace -> user -> project -> session contract (see
input · no output
list_projects
[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
input · no output
list_remote_tasks
[SUPPORT] 32d3d5de — Read the project's persisted remote-task register (last-known status only — no live SSH check is made; call get_remote_task_status for that). By default termin
input · no output
list_research_runs
[SUPPORT] a5343387 — list a project's research runs, newest-started first. By default terminal runs (completed/failed/abandoned/expired) are omitted so a fresh session sees only ru
input · no output
list_resumable_sessions
[SUPPORT] cdd0ef6c — Read-only: list this project's session recovery registry, newest heartbeat first, each with a freshly computed liveness classification (resumable/stale/dead/un
input · no output
list_sessions
[MAINTENANCE] Read-only: List active sessions for a project. Useful for planning chat to see what's currently running before filing new sprint items.
input · no output
list_watchlist_queries
[SUPPORT] Read-only: list saved research watchlist queries for a project (optionally filtered by source_type), each with its watchlist_id, query, source_type, limit, and sort_by.
input · no output
list_worktrees_pending_cleanup
[SUPPORT] dffcde86 (a03c0eeb) — Read-only: list active_worktrees rows still marked active in the DB (removed_at IS NULL) whose owning sprint item has reached a terminal status (don
input · no output
load_handoff
[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
input · no output
log_task
[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
input · no output
merge_project
[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
input · no output
merge_sprint_items
[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
input · no output
move_workspace_note_to_project
[MAINTENANCE] Reclassify a workspace-level note (visible across ALL projects) into a single project's notes: copies title/body/tags to a new project note then removes the workspace
input · no output
paper_search
[SUPPORT] Search academic papers — a REAL external lookup. Per the research-routing protocol, use this FIRST for academic/paper questions (cite the paper itself, not a secondary wr
input · no output
pin_decision
[SUPPORT] Create a pinned decision (editable constitution row). Use for the current authoritative truth that supersedes earlier statements. category is free-text; suggested values:
input · no output
pin_workspace_decision
[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
input · no output
preview_proposal_promotion
[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: '
input · no output
promote_docx_candidate
[MAINTENANCE] W1-K — explicitly promote a status='candidate' docx derivative to be THE accepted derivative for its source_path, demoting whatever derivative previously held that ro
input · no output
promote_experiment_run
[SUPPORT] 3f6b8715 — explicitly promote a run whose stored disposition is already 'promote' (set at completion time via complete_experiment_run) — rejects with {error} otherwise. N
input · no output
promote_proposal
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
input · no output
promote_research_run
[SUPPORT] a5343387 — explicitly promote a completed, disposition='promote' research run into a durable, addressable project finding (kind='finding' note, discoverable via get_findi
input · no output
prospect_symbol
[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
input · no output
purge_ai_log
[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
input · no output
read_note
[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
input · no output
receive_messages
[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
input · no output
reconcile_sprint_drift
[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
input · no output
reconcile_stale_claims
[MAINTENANCE] 56e9b3c7 — project/version-scoped, auditable stale-claim reconciliation sweep. The bulk counterpart to claim_sprint_item's own inline autonomous reconciliation (which
input · no output
record_experiment_event
[SUPPORT] 3f6b8715 — manually record an experiment_events row (dead_end|pivot|breakthrough|note|milestone). Separate from, and coexists freely alongside, the auto-skeleton events s
input · no output
record_handoff_correction
[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
input · no output
refresh_context
[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
input · no output
refresh_tool_manifest
[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
input · no output
register_docx_derivative
[MAINTENANCE] W1-K — record that derivative_path (e.g. a rendered PDF/DOCX export) was generated FROM source_path at a known content state. source_content_hash is the CALLER-comput
input · no output
register_external_job
[SUPPORT] Create or reaffirm a project-scoped record for long-running external work such as RunPod, SSH, Slurm, or CI. Meridian records the opaque external identity and resumable s
input · no output
register_run_artifact
[SUPPORT] 3f6b8715 — register a project-RELATIVE artifact against a run. Rejects an absolute path (any shape capability_manifest recognizes, a bare leading '/', a drive letter, a U
input · no output
register_session
[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
input · no output
register_session_recovery
[SUPPORT] cdd0ef6c — Create or reaffirm (upsert + heartbeat) this session's entry in the cross-client session recovery registry, so another client/session can tell whether it is re
input · no output
release_docx_document_lease
[MAINTENANCE] 6507e83a — Release a session's whole-document lease on a .docx file, if held. Returns {released: <0 or 1>, session_id, file_path}. Persistent-state disclosure: on hos
input · no output
release_docx_region_claims
[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
input · no output
release_file
[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
input · no output
release_sprint_item_claim
[MAINTENANCE] W1-I — voluntarily release a LIVE in_progress claim on a sprint item back to pending. Distinct from reconcile_stale_claims: that tool is for a claim whose owning sess
input · no output
relocate_sprint_item_pointer
[SUPPORT] W1-J — atomically UPDATE an existing generic pointer's targets/source_type/label IN PLACE (a single UPDATE statement), replacing the delete_sprint_item_pointer + add_spri
input · no output
rename_project
[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/
input · no output
reopen_proposal_gate
[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
input · no output
request_hitl
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
input · no output
request_manual_issue_screening_toggle
[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
input · no output
reset_plugin_override
[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
input · no output
reset_profile_layer
[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
input · no output
resolve_citations
[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
input · no output
resolve_proposal_gate
[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-
input · no output
resolve_sprint_item_pointers
[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
input · no output
resume_wave
[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.
input · no output
run_verification
[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
input · no output
run_watchlist_query
[SUPPORT] b924fd7c — re-run a saved watchlist query and diff its results against everything already captured for it. Every newly-seen result (matched by a per-source stable id — ar
input · no output
save_blog_post
[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
input · no output
save_finding
[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
input · no output
save_profile_layer
[SUPPORT] 0bec79a7 (PROFILE-5) — Validate and persist ONE layer of the hosted_default -> workspace -> user -> project -> session profile contract (see meridian.profile_contract.FIE
input · no output
save_watchlist_query
[SUPPORT] b924fd7c — save a recurring research query so it can be re-run and diffed over time via run_watchlist_query. Persisted as a project note (no separate table); the returned
input · no output
search_ai_log
[MAINTENANCE] d26b9943 (R2-B) — Read-only: EXACT-MATCH scoped search over ai_log_events, bounded and cursor-paginated. Every filter is a plain SQL equality (session_id/tenant_id/co
input · no output
search_all
[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
input · no output
search_code_semantic
[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
input · no output
search_outputs
[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
input · no output
search_server_logs
[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
input · no output
Verify it yourselfnpx teppi-check https://usemeridian.us/mcp/ssecurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2E2E4H92CBN4ZN37XYAG