When an AI assistant first connects to theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/exegia/corpora-py/llms.txt
Use this file to discover all available pages before exploring further.
cf-mcp server, it receives an instruction that outlines the recommended exploration sequence. Following this six-step workflow prevents wasted calls, avoids fetching unexpectedly large result sets, and ensures the agent builds up enough context about the corpus structure before querying it.
The Recommended Workflow
Understand Corpus Structure
Call The section hierarchy tells the agent how references like
describe_corpus() first. It returns the section hierarchy, total feature count, and every node type with its population count — giving the agent a complete map of what is in the corpus before any queries are run."Genesis 1:1" are structured, and the node type counts show the relative size of each level.Browse Available Features
Call This returns feature names like
list_features() to see all annotation dimensions available for querying. Filter by node type to keep the list focused:lex, pos, gloss, gn, nu, st, vs, vt, sp, pdp, and others — the vocabulary of conditions the agent can use inside a search template.Learn the Query Syntax
Call Available sections are
search_syntax_guide() for full inline documentation, or request a specific section to keep the context window lean:nodes, relations, quantifiers, and examples. Skipping this step before crafting a complex template is the most common cause of malformed queries.Check Result Scale
Before fetching any result tuples, estimate the size of the result set with Use this count to decide whether to paginate, narrow the template with additional conditions, or export to CSV instead.
return_type="count". This is a fast operation — the corpus engine runs the query but returns only the total:Retrieve Paginated Results
Use Each call to
return_type="results" to get the first page of node tuples. The response includes a cursor_id that can be passed to search_continue() to walk through the full result set page by page:search_continue() advances the cursor and reports how many results remain.Read Passage Text
Use References follow the
get_passages() to retrieve the rendered text for any section references returned by the search. Pass an explicit fmt to select a specific text encoding — omitting it uses the corpus default:"Book Chapter:Verse" pattern. The tool resolves each reference to a corpus node and returns the formatted text.Quick Reference
Return Types for search()
Thesearch() tool supports four return_type values, each suited to a different stage of the workflow:
return_type | What it returns |
|---|---|
results | Node tuples with section refs and a cursor_id for pagination |
count | Total result count as a formatted number |
statistics | Node type breakdown of all matched nodes |
passages | Rendered text for the first N matches |
Cursor TTL
Cursors created bysearch() expire after 5 minutes of inactivity. The server automatically purges expired cursors before each new search() or search_continue() call. If a cursor has expired, search_continue() returns "Cursor expired or not found. Run search() again." — simply re-run the original search() to get a fresh cursor.