Skip to main content
Glama

Crossload

crossload_search

Search the Crossload catalogue of German Christian content (sermons, books, audio, images) and get matching items with title, author, licence, duration and a teaser. Use it whenever the question is what was preached, written or said about a topic, a bible passage, by an author, or within a length limit ('something good under 30 minutes'). Use 'uids' to narrow a set of items you already found; it returns the items, not the position of a passage inside them. Topic, author and series take names and are resolved server-side; if a name is not an exact match the search is NOT run and the answer says so — call crossload_browse to get the exact spelling. Bible references are given in German ('Epheser 2', 'Joh 3,16-18') and filtered by range, verses included. Note that 'query' is matched semantically, not literally: it always returns something, so a hit is not proof that the words appear in the text. Combine it with a filter when precision matters. Natural-language questions (German question words, '?', six or more words) trigger stronger semantic matching. A bible reference inside the query text triggers a server-side boost on matching content that may skew results — use the 'bibleRef' parameter for deliberate passage filtering instead. Set 'withExcerpts' when you need to quote WHERE something is said: every hit then carries an excerpt around the match, and matching becomes literal, so a hit does prove the words appear and no hit means they do not.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based, defaults to 1.
seedNoOnly with sort='random': pass back the seed from the previous response so page 2 fits page 1.
sortNoDefaults to 'relevance'. Setting it also switches a bibleRef search back to the search API's order, instead of ordering by closeness to the passage. 'seriesOrder' sorts items by their position within a series and works best together with the 'series' filter.
uidsNoRestrict the search to these content uids, e.g. ['lKE0QMlG7Y']. Narrows an existing result set — combine with other filters to ask whether these items match. It returns the items themselves, not the position of a passage inside them: hits carry the item's general teaser, no excerpt and no cursor. To locate a passage in the text, read the item with crossload_read_content.
mediaNoMedia types the content must be available in, e.g. ['audio']. For images or presentations use 'category' instead.
queryNoFree-text query, e.g. 'grace alone' or 'forgiveness in marriage'. A bible reference in the query text triggers a server-side boost on matching content — use the 'bibleRef' parameter for deliberate passage filtering instead.
topicNoTopic name, exactly as listed by crossload_browse, e.g. 'Vergebung'. Guessing the spelling yields no results.
authorNoAuthor name, exactly as listed by crossload_browse, e.g. 'Roger Liebi'.
seriesNoSeries name, exactly as listed by crossload_browse.
yearToNo
bibleRefNoA German bible reference, e.g. 'Epheser 2', 'Joh 3,16-18' or 'Röm 8,28'. Filtering covers ranges in both directions: a lecture on Job 1-42 is found under 'Hiob 15', and 'Joh 3,16-18' excludes a sermon that stops at verse 15. A single verse is filtered as that one verse, so give a range if you mean the passage that follows. Items that only cite the passage in passing are left out unless 'includeSecondary' is set; their number is stated in the message, so totalHits for a passage search is counted here, not by the search API. Every hit carries 'matchedVia', saying whether the passage is its primary one or a secondary reference. Without 'query' and without 'sort', hits are ordered by how closely they match the passage: items covering the requested verses come first, then the ones with the tightest chapter range. Adding 'query' or 'sort' hands the order back to the search API.
categoryNoExactly one category. The catalogue holds ~11.400 sermons, ~800 books and ~450 audio items.
pageSizeNoDefaults to 10. With 'withExcerpts' the limit is 15, because every hit then carries an excerpt.
yearFromNo
durationMaxNoMaximum length in minutes, e.g. 30.
durationMinNoMinimum length in minutes.
withExcerptsNoSet this when you need to show WHERE in a text something is said, not just which texts say it: every hit then carries 'evidence', an excerpt of about 350 characters around the match, so you do not have to fetch the full transcript to quote it. Three conditions: it needs 'query', it cannot be combined with 'bibleRef', and 'pageSize' is then at most 15. The trade-off is that matching becomes literal: without it a query also finds texts that put the same thing in other words, with it only texts that contain the words themselves. No result therefore means the words do not appear, not that the topic is absent. An absent 'evidence' likewise does not prove the words are missing from the text.
includeSecondaryNoOnly with 'bibleRef' naming a chapter. Defaults to false, which lists only items whose primary passage matches. Set it to also list items that merely cite the passage, appended after the primary ones; each carries matchedVia='secondaryPassage' and matchedPassage naming the reference. A sermon on Psalm 139 citing John 3,16 is not a mismatch: it expounds the verse without filing it as its main passage.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
hitsYes
pageNo
seedNo
statusYes
messageNo
resolvedNo
pageCountNo
totalHitsNo
truncatedNo
candidatesNo
suggestionsNo
policyVersionNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden, and it does so richly. It discloses non-literal semantic matching, the exact-name no-run behavior, the bibleRef range-filtering semantics, the withExcerpts literal-matching trade-off, and the uids limitation of returning items rather than passage positions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every clause earns its place, front-loading the result type and the primary use case before edge cases. It packs substantial guidance into a compact paragraph without repeating schema mechanics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an 18-parameter tool with no annotations and an output schema that already covers return values, the description is remarkably complete. It covers when to use it, when not to, sibling routing, semantic pitfalls, filtering behaviors, and special parameter interactions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is high at 89%, the description meaningfully adds cross-parameter behavior: 'query' is semantic and not literal, natural-language questions trigger stronger semantic matching, bible references inside the query skew results, and exact names are resolved server-side. These facts are not fully evident from individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Search the Crossload catalogue of German Christian content' and lists the returned fields (title, author, licence, duration, teaser). It also distinguishes itself from siblings by pointing to crossload_browse for exact names and crossload_read_content for passage location, so an agent can tell it apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit trigger: 'Use it whenever the question is what was preached, written or said about a topic, a bible passage, by an author, or within a length limit.' It also provides routing guidance and exclusions, such as calling crossload_browse when exact spelling is unknown and using withExcerpts when quoting a passage is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: browse resolves controlled vocabulary, search finds content items, read_content reads transcripts, lexicon looks up bible terms, and topic_stats aggregates counts. There is no real overlap or ambiguity between them.

Naming Consistency4/5

All tools share the crossload_ prefix and use snake_case, which makes the set feel consistent. The main deviation is that browse and search are bare verbs while read_content is verb_noun and lexicon/topic_stats are noun-style names, but the pattern is still easy to predict.

Tool Count5/5

Five tools is well-scoped for a retrieval-focused archive server. Every tool covers a distinct, necessary capability without redundancy or bloat.

Completeness4/5

The tool surface covers search, controlled-vocabulary lookup, transcript reading, term definition, and topic statistics, which is comprehensive for the domain. Minor gaps exist, such as no standalone metadata-by-uid retrieval and no way to locate a passage inside an item except by reading through it, but agents can work around these.

Resources