Change velocity
Analyze git history for a period: which pages change most, which don’t change at all, which are suddenly busy, and which have a single author.string
default:"30d"
Window as a number followed by
d (days), w (weeks), or m (months, counted as 30 days).integer
default:"20"
Maximum entries in
hot_spots.string
Only analyze pages under this prefix.
500 if git log fails, for example when versioning is off.
string
Period used.
integer
File changes (one per commit per file) in the period.
object[]
Most changed pages, descending.
object[]
Every page with no changes in the period, each with
path and days_since_change.object[]
Pages whose change rate over the last 7 days is more than three times their average for the period.
string[]
Pages changed in the period by only one author.
Graph analytics
Summarize the wiki link graph: size, connected components, orphans, and the highest PageRank pages.integer
default:"20"
Number of pages in
top_pages.integer
Pages in the link graph.
integer
Wiki links.
integer
Disconnected subgraphs.
integer
Pages in the largest component.
string[]
Pages with no incoming links.
object[]
Highest PageRank pages, each with
path, pagerank, in_degree, and out_degree.Centrality
Return PageRank, betweenness, and degree for every page, highest PageRank first.integer
Maximum pages. Omit to return all.
object[]
Communities
Group pages into topic clusters with Louvain community detection. Links are treated as undirected.object[]
Clusters, each with a numeric
id and its pages.Shortest path
Return the shortest chain of wiki links from one page to another, following link direction.string
required
Start page.
string
required
End page.
400 if either parameter is missing, and 404 if a page isn’t in the graph or no path exists.
string[]
Pages from
from to to, inclusive.Graph walk
Return one page’s immediate neighborhood: outgoing links, backlinks, and pages in the same folder or with a shared tag.string
required
Page path.
boolean
default:"true"
Set to
false to skip folder and tag siblings, which requires scanning every page.404 if the page does not exist.
string
Page path.
string[]
Wiki link targets in the page, as written.
string[]
Pages that link here.
object[]
Each with
path, relation (sibling_dir or sibling_tag), and shared_tag for tag siblings.number
Incoming links divided by pages in the graph.
integer
Length of
links_in.integer
Length of
links_out.Link suggestions
Find pages that are semantically close to a page but not yet linked to or from it. Use this to discover missing wiki links.string
required
Page path.
integer
default:"10"
Maximum suggestions.
400 if path is missing, 404 if the page does not exist, and 503 if vector search is off. suggestions is null when nothing qualifies.
object[]
Similar pages
Rank pages by how similar their frontmatter is, using Gower distance over the fields in a similarity profile. Query by a page, or by an inline set of field values for a case that isn’t in the knowledge base yet..kiwi/config.toml
string
Page to find neighbors of. Required unless
vector is set.string
JSON object of field values. Combined with
path, it overrides that page’s values.string
Profile name. Optional when only one profile is configured.
integer
default:"5"
Number of neighbors.
400 when neither path nor vector is given, the profile is unknown, k isn’t a positive integer, or vector isn’t a JSON object.
string
Profile used.
string
Page queried, if any.
object
Field values compared against.
string[]
Profile fields.
integer
Pages considered.
boolean
true if the candidate set hit its cap.object[]
Most similar first.
Embeddings
Return the stored text chunks and embedding vectors for a page.string
required
Page path.
400 if path is missing, 404 if the page has no embeddings, and 503 if vector search is off.
string
Page path.
integer
Vector length.
object[]
Each with
chunk_idx, text, and vector.Search evaluation
Score full-text, semantic, and hybrid search against questions with known answers. Reports hit rate, MRR, precision, and nDCG attop_k. Same as kiwifs eval.
string
Golden set name. Loads
<set>.topics and <set>.qrels from .kiwi/eval/. Use either set or queries.object[]
Inline questions.
string | string[]
Path prefixes hidden from retrieval before ranking. Use this for leave-one-out evaluation.
integer
default:"5"
Cutoff for every metric.
400 when both or neither of set and queries are given or the set can’t be loaded, and 500 if every search failed.
integer
Cutoff used.
string[]
Prefixes excluded, if any.
object
Full-text search metrics.
semantic and hybrid have the same shape; hybrid only has data when vector search is on.object
Semantic search metrics.
object
Hybrid (reciprocal rank fusion) metrics.
object[]
Per question:
question, relevant, and for each engine its rank (fts_rank, semantic_rank, hybrid_rank; 0 means not found), hits, and nDCG.object[]
Questions that couldn’t be scored, each with
question and reason.integer
Failed searches.
MCP equivalents
kiwi_velocity, kiwi_graph_analytics, kiwi_graph_centrality, kiwi_graph_communities, kiwi_graph_path, kiwi_graph_walk, kiwi_suggestions, kiwi_similar, kiwi_embeddings, and kiwi_eval. The kiwi_eligible task-ranking tool is MCP-only; there is no REST endpoint for it.
Related
Analytics and health
Page views, failed searches, and health checks.
Search
Full-text, semantic, and hybrid search.