tools/call request. Angle-bracket values are placeholders:
replace them with complete IDs returned by earlier calls.
Choose the profile for the whole workflow
Profiles expose different tool sets; they are not interchangeable roles. A visible tool still requires the principal’s operation scopes, clearances, and space authorization. Checktools/list on your actual connection.
Check MCP errors and, for core handlers, the Meerkat Recall response envelope:
ok: false is a failed operation even if transport succeeded. Carry values from
data only after success. Runtime-control tools such as get_runtime_status
return JSON directly, without this envelope. Keep the same authenticated space
throughout a workflow. See response handling.
Retrieve an answer with its evidence
Use the default/mcp endpoint for this workflow. get_provenance is
registered there and is not exposed by the Full dispatcher. This convenience
path is for trusted callers entitled to all content in the space: the
current provenance handler does not enforce per-record clearance on every
returned evidence record. See security boundaries.
For readers with restricted clearances, use individually authorized assertion
and document reads on Agent, Maintenance, or Full.
1
Find the subject
Call Inspect the names and types in
search_entities:data.items. Select the intended entity and
save its complete ID. Matching names alone do not establish identity.2
Read its context
Call Inspect the entity, relationships, attributes, truth slots, events,
assertions, freshness, and statistics. Sections are bounded by
get_entity_context_bundle:limit;
the historical window affects ended relationships/attributes, assertions,
and events. This is a context sample, not a complete evidence export.3
Trace a relevant relationship
Copy a returned relationship’s ID into Read
get_provenance:data.chain for the linked assertions, immutable revision spans, and
available source quotes. The tool accepts relationship and attribute IDs,
not an entity ID.4
Answer only what the evidence supports
Use the source quote to verify the relationship’s meaning. Include relevant
time or uncertainty qualifications. If the graph has no evidence links,
report that limit instead of treating the relationship as a verified quote.
search_all and inspect its separate result buckets.
See Searching for choosing a retrieval method.
Ingest and verify a document
Use/mcp/full to run every step on one connection. This workflow performs
model-backed extraction and uses the configured provider.
1
Check runtime readiness
Call
get_runtime_status with {}. Continue only when
semantic_ingest_ready is true. Otherwise inspect issues and the
storage, worker, and extractor readiness fields.2
Stage the source and its content
Call Save
ingest_source_simple:data.source_id, data.doc_id, and data.work_item_id. This request
supplies the text directly; the URI is provenance metadata. A success
receipt confirms staging and enqueueing, not finished extraction.3
Inspect progress
Call
get_doc_pipeline_status:extraction_state is pending, running, completed, failed, or
not_triggered. Inspect extraction_guidance if the selected purpose or
skill differs from your request. Space configuration has higher priority.
Use get_source with the saved source ID to inspect lifecycle and decisions.4
Read the claims from this source
Call Inspect the actual claims, their entity links, evidence, and resolution
statuses. Follow
list_assertions:next_cursor while has_more is true. A count of generated
assertions does not establish their factual correctness.Review an identity merge
Use/mcp/maintenance or /mcp/full. Merging changes graph references and
soft-deletes one entity, so first establish that both records identify the same
real-world subject.
1
Inspect both candidates
Use
search_entities, then call get_entity_context_bundle separately for
each returned ID. Compare identity keys, type, evidence, and relationships.
Shared names or employers alone are weak evidence.2
Record the proposal
Call Replace the sample evidence with what you actually checked. A proposal
records a candidate; it does not merge the entities. Review proposals with
propose_identity_candidate:list_identity_candidates and filters.status: "pending".3
Choose the survivor and merge
Once identity is established, call
merge_entities:prefer_a selects the first record. prefer_b selects the second, and
prefer_newer selects by the records’ update timestamps. Choose based on
the desired canonical entity, not on an assumption about result ordering.4
Verify the returned survivor
Read
data.survivor.id, data.merged_id, and data.relations_updated.
Fetch get_entity_context_bundle using the returned survivor ID and check
the resulting relationships. Never assume entity A survived when using
prefer_newer.Govern predicate vocabulary
Start withlist_predicates and get_predicate to inspect the existing canonical
vocabulary, aliases, and semantics. Reuse an appropriate predicate before
registering another spelling.
Propose an alias
On/mcp/maintenance or /mcp/full, call propose_predicate_alias:
predicate_alias record with status: "proposed". It does not
return a work_artifact proposal. Do not pass this alias record ID to the
artifact validation or approval tools.
Approve a separately staged proposal
When your pipeline or operator workflow has produced a predicate proposal work artifact, use/mcp/full and its actual artifact ID:
- Call
validate_predicate_proposalwith{"proposal_id":"<work artifact ID>"}. - Inspect the validation response. Only continue for a validated proposal.
- Call
approve_predicate_proposalwith the sameproposal_idand an optionalconfidenceoverride. - Call
get_predicatewithinclude_aliases: trueand verify the active alias.
