tools/list from the
chosen endpoint for the exact current schema, profile visibility, and runtime
readiness gates. The four runtime-control tools are added by the managed API
runtime rather than the core dispatcher. Local file helper tools are identified
separately. Examples use fictional people and organizations.
Profile legend: D = Default, A = Agent, M = Maintenance, P = Pipeline, F = Full.
Profile membership does not grant scopes or clearances. Examples show tool
arguments, not complete MCP protocol messages; replace record IDs with results
from your own space.
Find a tool by task
For a sequence with prerequisites and completion checks, follow
MCP workflows.
Versioned sources and scoped retrieval
All these tools use the explicitly selected named space. Their permission and record-security checks remain independent of profile membership. Source PUT is an HTTP operation; retained MCP ingest adapters keep their own input contracts.search_scoped
Profiles: D, A, M, F Search withquery, optional limit (1-50), explicit ranking_mode
(lexical, semantic, hybrid), and optional source_revision_constraints.
Returns results, coverage, partial and source-backed evidence.
See scoped retrieval.
get_source_head
Profiles: D, A, M, F Requiresexternal_source_id. Returns current generation, desired/published
revision, lifecycle and cleanup state under read:source authorization.
get_source_operation
Profiles: D, A, M, F Requires the originaloperation_id. Returns that durable operation’s state
without substituting the current head’s outcome.
retract_source
Profiles: F Requiresexternal_source_id, expected_generation; optional idempotency_key.
Withdraws source support under read:source and write:source authorization.
erase_source
Profiles: F Uses the same generation-bound arguments as retract. Physical cleanup and the independent recovery journal govern completion. Ordinary retry cannot recreate the erased source. See source lifecycles.Documents and local ingestion
search_docs
Profiles: A, M, F Search documents using semantic search, with lexical fallback when embeddings are unavailable.ingest_doc
Profiles: D, F Ingest a new document for processing using the full document-shaped body. Meerkat Recall stages a source-backed document and enqueues the source-first pipeline. Preferingest_doc_simple when you only need title, text/media, collection, and metadata.
ingest_doc_simple
Profiles: D, F Simplified document ingestion with title, optional text, optional media, and optional metadata. All base fields are auto-generated.batch_ingest_docs
Profiles: F Batch ingest multiple documents and return a job ID for progress tracking.get_doc
Profiles: A, M, F Get a document by ID.list_doc_chunks
Profiles: A, M, F List all structural nodes (chunks) for a document.get_doc_chunk
Profiles: A, M, F Get a document node (chunk) by ID.delete_doc
Profiles: F Soft delete a document.restore_doc
Profiles: F Restore a soft-deleted document.extract_doc
Profiles: M, F Manually replay render/build/extraction preparation for an existing document. This is a maintenance helper for already-ingested docs, not a primary ingest path.get_doc_pipeline_status
Profiles: F Get document pipeline status including chunks, revisions, nodes, and extraction progress.list_doc_collections
Profiles: F List all document collections in the current space.restamp_attribution
Profiles: F Compatibility operation for application attribution metadata. Supply at least one selector (doc_ids, session_id, or source_uri_prefix) and the required
angel_protectees array. Selectors are unioned; matching documents receive the
exact replacement list, then derived entity attribution is recomputed from
assertion-linked documents. An empty list clears per-subject attribution.
These metadata fields are not a replacement for ABAC security envelopes.
ingest_file
Profiles: F Read a path on the Meerkat Recall server and ingest its text or media content. Explicitly mount intended files into a container; the supplied Compose file does not provide an/ingest mount. The similarly named local-helper tool
reads client-side UTF-8 text and has a separate schema.
intake for changed content; Recall does not obtain the latest generation on the caller’s behalf. Reusing the original intent key returns its original operation. File identity uses the canonical locator, so equal basenames in different directories remain distinct.
ingest_directory
Profiles: F Ingest server-visible files in a directory matching a glob pattern. The local-helper variant instead reads client-side UTF-8 text; do not confuse the two filesystem boundaries.ingested entry includes path, immutable doc_id, its original operation and nullable work_item_id. Unmapped changed files report a generation conflict. Stable intent keys replay original operations. Batches retain per-item outcomes, but a temporary erasure reservation aborts with retryable not_ready; files already accepted remain durable.
ingest_url
Profiles: F Fetch a URL and ingest its content. Text, image, and video URLs are normalized into the same source-first pipeline.intake.revision_id, intake.idempotency_key and the exact intake.expected_generation from the prior receipt. The existing source’s security, subjects and provenance are retained and inherited by the generated document/media. URL ingestion requests graph processing; acceptance does not prove publication is complete.
Entities
search_entities
Profiles: D, A, M, F Search for entities by query and filters.get_entity
Profiles: D, A, M, F Get a single entity by ID.get_entity_with_relations
Profiles: D, F Get an entity with its outgoing and incoming relationships.create_entity_simple
Profiles: F Create an entity with only type and display name. All base fields are auto-generated.update_entity
Profiles: M, F Update an entity’s fields while preserving its completesecurity object.
Read and write access to both versions is required; ordinary scopes do not
permit reclassification, even when the caller can access both classifications.
delete_entity
Profiles: F Soft delete an entity.restore_entity
Profiles: F Restore a soft-deleted entity.batch_entities
Profiles: F Batch create or update entities. Existing entities require read and write access and unchanged security metadata, including when restoring deleted records. Include their currentsecurity in each replacement. Rejected items
are reported in failed and do not update or restore the entity.
Living Wiki and source freshness
create_wiki_from_graph
Profiles: M, F Plan, write, and independently verify wiki articles from the graph. Requires an explicitmanage:wiki scope with unrestricted subject scope; wildcard
operation permission is insufficient. The caller delegates service authority
across the selected space, including its security envelopes.
A draft-only invocation must disable management explicitly:
compile_wiki_article
Profiles: M, F Compile one governed definition with separate writer and verifier calls. Requires the same explicitmanage:wiki service authority. definition_id is
required; publish defaults to false. Optional writer_model and
verifier_model override configured models. Publication also requires an
approved context plan and a clean freshness/quality receipt.
stop_managed_wiki
Profiles: M, F Call with{} to revoke the space’s recurring wiki authority and cancel queued
jobs. Requires explicit manage:wiki and unrestricted subject scope. An
already running publication may finish, but cannot schedule a successor.
Published articles and immutable history remain available. A later explicit
managed creation grants a new registration.
get_knowledge_view
Profiles: D, A, M, F Get or lazily refresh a cited, immutable Living Wiki projection rooted at exactly one entity, source, or governed graph-view definition. Factual Markdown is backed by a statement-level support ledger. The result includes the stable view, current revision, dependencies, citations, freshness, and validation receipts.rebuild_knowledge_view
Profiles: M, F Force publication of a new immutable revision for exactly one entity, source, or governed graph-view definition root. This requires write authorization for the selected root record.materialize_knowledge_views
Profiles: M, F Compile existing Meerkat Recall data into Living Wiki pages without first naming individual roots. The tool scans bounded, ID-ordered pages of entities, sources, and graph-view definitions. It applies record-level ABAC, continues past isolated compilation failures, and returns independent cursors for each record kind. Repeating a page reuses revisions whose dependency receipts are unchanged.get_knowledge_view_definition
Profiles: D, A, M, F Read the typed, bounded selector behind a topic, community, or saved-query projection.upsert_knowledge_view_definition
Profiles: M, F Create or update a governed graph-view definition. Selectors are tagged typed objects, never raw SurrealQL. Supported selectors are bounded topic traversal, bounded seeded community traversal, and a safe entity query with optional entity-type, name/alias, and exact approved-attribute filters.get_source_watch
Profiles: D, A, M, F Read the recurring refresh policy and recent immutable observation receipts for a source without performing network work.configure_source_watch
Profiles: M, F Create, enable, pause, or reschedule a guarded textual web-source watch. The minimum interval is 60 seconds and the maximum is 31 days.check_source_watch
Profiles: M, F Enqueue or reopen the source’s idempotent refresh work item for immediate leased execution. A changed textual representation is staged through source-first re-ingest and canonical triage. Useget_source_watch to inspect the immutable
receipt after the work item completes.
Relationships
relate_entities
Profiles: F Create a relationship between two entities. Optionally creates an evidence assertion.weight becomes confidence. The current handler accepts but does not persist description, properties, valid_from, or valid_to; use update_relationship for stored fields such as validity_window.
upsert_relationship
Profiles: F Create or update a relationship based on from/to/type composite key.fields is merged into the serialized record when a match exists; the creation path currently ignores it. Use update_relationship for explicit field changes after creation.
update_relationship
Profiles: F Update a relationship’s serialized record fields by ID, such asconfidence, status, or validity_window. See the record format.
delete_relationship
Profiles: F Soft delete a relationship.restore_relationship
Profiles: F Restore a soft-deleted relationship.batch_relationships
Profiles: F Batch create relationships.Assertions
list_assertions
Profiles: A, M, F List assertions with optional filtering by status, source, or predicate.get_assertion
Profiles: A, M, F Get a single assertion by ID with related source and predicate info.search_assertions
Profiles: A, M, F Search assertions by text query across subject, predicate, and object fields.Sources
ingest_source
Profiles: D, F Create a source, optionally stage text or media on it, and enqueue source-first ingestion.source must be a complete Source record, including base fields, type, and hash. Use ingest_source_simple to generate these fields. Optional staged-document fields include
title, text, media, collection, metadata, and rendition_key.
ingest_mode accepts skip, metadata, retrieval, or graph.
ingest_source_simple
Profiles: D, F The simplified form requiresname and accepts optional uri, source_type,
and the staged-document and ingest-mode fields above.
batch_ingest_sources
Profiles: D, F Accepts requireditems, an array of ingest_source input objects such as the
complete example above. Every item requires its own full source record. Inspect
each item’s result; queue acceptance is not completed semantic extraction.
search_sources
Profiles: F Search for sources by query and filters.get_source
Profiles: A, M, F Get a single source by ID.create_source
Profiles: F Create a new source record.create_source_simple
Profiles: F Create a source with only a name. Hash and base fields are auto-generated.update_source
Profiles: F Update a source’s fields.delete_source
Profiles: F Soft delete a source.restore_source
Profiles: F Restore a soft-deleted source.Search
search_all
Profiles: D, A, M, F Search across entities, documents, sources, and relationships in a single query. Results are grouped by type.Identity
get_entity_context_bundle
Profiles: D, A, M, F Get authorized, bounded entity context: incoming/outgoing relationships, attributes, truth slots, events, assertions, freshness, and statistics. The historical window filters time-sensitive sections; limits apply per section.propose_identity_candidate
Profiles: M, F Propose two entities as potential duplicates for identity resolution.list_identity_candidates
Profiles: M, F List pending entity merge candidates.merge_entities
Profiles: M, F Merge two entities into one. The survivor entity absorbs the merged entity’s relationships.Predicates
list_predicates
Profiles: D, A, M, F List predicate definitions with optional alias mappings.get_predicate
Profiles: A, M, F Get a single predicate by its predicate_id with optional alias mappings.register_predicate
Profiles: M, F Register a new predicate in the predicate registry.propose_predicate_alias
Profiles: M, F Propose a new alias mapping for a predicate.validate_predicate_proposal
Profiles: F Validate a predicate proposal work artifact.approve_predicate_proposal
Profiles: M, F Approve a predicate alias proposal from a work artifact, creating an active alias.Events
add_timeline_event
Profiles: D, M, F Create a timeline event with explicit evidence references. Meerkat Recall requires at least oneassertion_refs or source_refs item, so this tool stays provenance-safe instead of creating bare events.
search_events
Profiles: D, A, M, F Search domain timeline events in the caller’s space.get_event
Profiles: D, A, M, F Get a single domain event by ID.list_recent_events
Profiles: D, A, M, F List recent domain events for the caller’s space, ordered by recency.list_upcoming_events
Profiles: D, A, M, F List upcoming domain events within a time window. Events are ordered bytime_start. Besides events that start within the window, the result
includes events still in progress (time_end at or after now) and day-precision events
dated today. Day-precision events are anchored at 00:00Z of their date and Elephant has no
household timezone, so they stay listed for 24 hours after that anchor; filter the exact
local day on the client.
The page is applied after candidate and authorization filtering. The response carries
items and truncated, which is true when more visible events existed than were returned.
Truth Slots
list_truth_slots
Profiles: A, M, F List truth slots with filtering by subject entity and predicate.get_truth_slot_history
Profiles: F Get all assertions competing for a truth slot, including conflict group information.Work Items
list_work_items
Profiles: P, F List work queue items with filtering by kind, status, or age.list_pending_work_items
Profiles: P, F List work items that are pending or runnable (ready to be claimed).claim_work_item
Profiles: P, F Claim a runnable work item with a lease for processing. The selected space must be explicit. Bothread:work_item and write:work_item, plus clearance for the actual stored work item, are required.
data.id, status, claimed: true, worker_id, lease_token and lease_expires_at. Save the exact opaque lease_token from this claim for completion. A later claim by the same worker has a different token; the worker name does not authorize completion. A concurrent authority change or unavailable claim returns conflict_generation and requires reconciliation.
complete_work_item
Profiles: P, F Finish the original claimed attempt as success or failure. Bothread:work_item and write:work_item, plus current clearance for the actual stored item, are required.
lease_token is invalid_request. A stale token, worker-name substitute, lost lease or changed observed authority is conflict_generation, with retryable: false; it cannot finish a successor attempt. A successful result contains data.id, terminal status and completed: true. Repeating completion after the attempt is terminal conflicts. Temporary source erasure refusal remains not_ready, with retryable: true.
Existing clients must retain and echo the claim token. Recall does not infer a token from the latest stored lease.
retry_work_item
Profiles: P, F Retry a failed work item by resetting its status to runnable.Spaces
create_space
Profiles: F Create a space config record for a new space.list_spaces
Profiles: D, F List spaces (space_config records).get_space
Profiles: D, F Get space configuration by space_id.update_space
Profiles: F Update space configuration.Reprocess
create_reprocess_job
Profiles: F Create a reprocessing job to backfill or re-extract sources. Automatically enqueues a work item for execution.get_reprocess_job_progress
Profiles: F Get reprocessing job status and progress.System
get_runtime_status
Profiles: D, A, M, F Get managed-runtime readiness, bootstrap status, and semantic ingest availability.This tool is always available on MCP, including bootstrap mode before storage is configured.
initialize_runtime
Profiles: D, M, F (bootstrap mode only) Initialize Meerkat Recall from bootstrap mode and persist.elephant/elephant_config.toml.
get_runtime_config
Profiles: D, M, F (configured admin-capable runtimes) Return the effective runtime configuration with secrets redacted.configure_runtime
Profiles: D, M, F (configured admin-capable runtimes) Patch the persisted runtime configuration and apply it live.get_health
Profiles: D, A, M, F Get lightweight system health status, including the active backend and storage state.get_capabilities
Profiles: A, M, F Get system capabilities and available tools.get_provenance
Profiles: D Get provenance chain for a record, tracing its origin through sources and pipeline steps.get_tool_schema
Profiles: F Return the full JSON schema for a tool, including required fields and examples.get_job_status
Profiles: F Get the status and progress payload for a job (work item).export_snapshot
Profiles: M, F Export the live embedded store to a host path.This tool only appears when Meerkat Recall is running
ELEPHANT_DB=elephant-db and the caller qualifies for global snapshot administration.