Skip to main content
This page summarizes the MCP tools by category. Fetch 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 with query, 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 Requires external_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 original operation_id. Returns that durable operation’s state without substituting the current head’s outcome.

retract_source

Profiles: F Requires external_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. Prefer ingest_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.
Recomputation follows assertion evidence. Attribution introduced only by a later deduplicated promotion without an evidence row is not reconstructed and may be removed. Inspect the result before relying on the corrected metadata.

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.
A replacement uses the same source identity and preserves its security and subject restrictions. Supply all three fields under 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.
For explicit replacements, use the exact relative paths returned by this tool:
The map is limited to 1024 entries and 1,000,000 encoded UTF-8 bytes; each path key is at most 4096 bytes. Keys use forward slashes and must name selected files. Absolute paths, parent/dot segments, repeated separators and backslashes are invalid. The full map is validated before any file is accepted. Each successful 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.
Changed content at the same URL requires 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 complete security 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 current security 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 explicit manage: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 explicit manage: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. Use get_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 as confidence, 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 requires name and accepts optional uri, source_type, and the staged-document and ingest-mode fields above.

batch_ingest_sources

Profiles: D, F Accepts required items, 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_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 one assertion_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 by time_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. Both read:work_item and write:work_item, plus clearance for the actual stored work item, are required.
The successful tool response contains 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. Both read:work_item and write:work_item, plus current clearance for the actual stored item, are required.
Missing, null or blank 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
Use only for trusted callers entitled to all content in the selected space. The current handler checks scopes and space but does not authorize each returned claim or evidence record. It must not serve as a clearance-filtered provenance API. See security boundaries.
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.

import_snapshot

Profiles: M, F Replace the live embedded store from a host snapshot.
Snapshot import is a whole-store administrative operation. It is only available on embedded deployments and only to callers that qualify for global snapshot administration.

revert_audit

Profiles: F Revert changes from an audit log entry.

stream_events

Profiles: F Stream system events from a cursor position.