Query interface
The primary way to interact with Trove is conversational, via an MCP server. All real logic lives in an internal RPC API; MCP tools are a thin wrapper over record projections.
See spec §9.
Internal RPC (records)
get_record(record_ref, version?) -> Record
search_records(query, type_prefix?, source?, time_range?, include_deleted?) -> []Record
list_incomplete_records(source?, limit?) -> []Record
Revision audit reads (GetRevision, SearchRevisions, SummarizeRange) are
available on module Core and host RPC — not exposed as MCP tools.
MCP tools
Three built-in tools map onto the record RPC methods — narrow and typed, not raw SQL access:
| Tool | Purpose |
|---|---|
get_record |
Folded record by record_ref (optional version) |
search_records |
FTS5 keyword search over record bodies |
list_incomplete_records |
Records with completeness = incomplete |
search_records uses FTS5 initially; semantic search via sqlite-vec when
embeddings land.
Additional tools from loaded modules (e.g. classify) are aggregated at runtime.
Implementation
Status: Supported — planning/mcp-query.md (milestone 3)