Crossload
Qué hace este MCP
Searches and reads German Christian sermons, books, transcripts, and Bible reference entries, with catalog browsing and topic statistics.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'enum': ['topic', 'author', 'series'], 'type': 'string', 'description': 'Which vocabulary to list.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Substring filter, e.g. 'verg' finds 'Vergebung'. Omit to get the full (capped) list."}, 'detail': {'type': 'boolean', 'description': "Only with kind='author'. Adds biography and picture when available. Use it to answer 'who is X' questions."}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'kind', 'entries'], 'properties': {'kind': {'enum': ['topic', 'author', 'series'], 'type': 'string'}, 'status': {'enum': ['ok', 'noResults', 'invalidInput', 'upstreamUnavailable'], 'type': 'string'}, 'entries': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'description': {'type': 'string'}, 'contentCount': {'type': 'number'}}}}, 'message': {'type': 'string'}, 'truncated': {'type': 'object', 'required': ['reason', 'hint'], 'properties': {'hint': {'type': 'string'}, 'reason': {'enum': ['characterBudget', 'teaserBudget', 'listCap', 'evidenceCap', 'candidateCap', 'pageUnavailable'], 'type': 'string'}, 'hitsDropped': {'type': 'number'}, 'entriesDropped': {'type': 'number'}, 'evidenceDropped': {'type': 'number'}, 'teasersShortened': {'type': 'number'}, 'charactersDropped': {'type': 'number'}, 'suggestedPageSize': {'type': 'number'}}}, 'totalCount': {'type': 'number'}}}
Esquema de entrada
{'type': 'object', 'required': ['term'], 'properties': {'term': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "The German term to look up, e.g. 'Gnadenstuhl' or 'Passah'. Case does not matter, spelling does: 'Passa' is not an entry and yields suggestions instead of an article. A word of a multi-word entry matches too, so the entry returned may be a different one than asked for; 'title' names it."}, 'cursor': {'type': 'string', 'maxLength': 272, 'minLength': 1, 'description': 'The opaque nextCursor from the previous response. Omit to start at the beginning.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'term', 'text', 'hasMore'], 'properties': {'term': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'images': {'type': 'array', 'items': {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'width': {'type': 'number'}, 'height': {'type': 'number'}, 'description': {'type': 'string'}}}}, 'source': {'type': 'string'}, 'status': {'enum': ['ok', 'noResults', 'invalidInput', 'staleCursor', 'upstreamUnavailable'], 'type': 'string'}, 'aliases': {'type': 'array', 'items': {'type': 'string'}}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}}}}, 'hasMore': {'type': 'boolean'}, 'message': {'type': 'string'}, 'truncated': {'type': 'object', 'required': ['reason', 'hint'], 'properties': {'hint': {'type': 'string'}, 'reason': {'enum': ['characterBudget', 'teaserBudget', 'listCap', 'evidenceCap', 'candidateCap', 'pageUnavailable'], 'type': 'string'}, 'hitsDropped': {'type': 'number'}, 'entriesDropped': {'type': 'number'}, 'evidenceDropped': {'type': 'number'}, 'teasersShortened': {'type': 'number'}, 'charactersDropped': {'type': 'number'}, 'suggestedPageSize': {'type': 'number'}}}, 'nextCursor': {'type': 'string'}, 'suggestions': {'type': 'array', 'items': {'type': 'string'}}, 'sourcePageUrl': {'type': 'string'}, 'sourceVersion': {'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['uid'], 'properties': {'uid': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': "Content uid from a crossload_search hit, e.g. 'lKE0QMlG7Y'."}, 'cursor': {'type': 'string', 'maxLength': 272, 'minLength': 1, 'description': 'The opaque nextCursor from the previous response. Omit to start at the beginning.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'uid', 'text', 'hasMore'], 'properties': {'uid': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'notice': {'type': 'string'}, 'status': {'enum': ['ok', 'invalidInput', 'staleCursor', 'upstreamUnavailable'], 'type': 'string'}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}}}}, 'hasMore': {'type': 'boolean'}, 'license': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}, 'message': {'type': 'string'}, 'truncated': {'type': 'object', 'required': ['reason', 'hint'], 'properties': {'hint': {'type': 'string'}, 'reason': {'enum': ['characterBudget', 'teaserBudget', 'listCap', 'evidenceCap', 'candidateCap', 'pageUnavailable'], 'type': 'string'}, 'hitsDropped': {'type': 'number'}, 'entriesDropped': {'type': 'number'}, 'evidenceDropped': {'type': 'number'}, 'teasersShortened': {'type': 'number'}, 'charactersDropped': {'type': 'number'}, 'suggestedPageSize': {'type': 'number'}}}, 'nextCursor': {'type': 'string'}, 'policyVersion': {'type': 'string'}, 'sourcePageUrl': {'type': 'string'}, 'sourceVersion': {'type': 'string'}, 'transcriptFromAi': {'type': 'boolean', 'description': 'Whether this transcript was machine-generated rather than written down. When true, wording and names may differ from what was actually said.'}}}
Esquema de entrada
{'type': 'object', 'properties': {'page': {'type': 'integer', 'maximum': 250, 'minimum': 1, 'description': '1-based, defaults to 1.'}, 'seed': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': "Only with sort='random': pass back the seed from the previous response so page 2 fits page 1."}, 'sort': {'enum': ['relevance', 'dateNewest', 'dateOldest', 'durationShortest', 'durationLongest', 'seriesOrder', 'random'], 'type': 'string', 'description': "Defaults 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."}, 'uids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 20, 'minLength': 1}, 'maxItems': 50, 'description': "Restrict the search to these content uids, e.g. ['lKE0QMlG7Y']. Narrows an existing result set â\x80\x94 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."}, 'media': {'type': 'array', 'items': {'enum': ['audio', 'video', 'text'], 'type': 'string'}, 'maxItems': 3, 'description': "Media types the content must be available in, e.g. ['audio']. For images or presentations use 'category' instead."}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': "Free-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 â\x80\x94 use the 'bibleRef' parameter for deliberate passage filtering instead."}, 'topic': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "Topic name, exactly as listed by crossload_browse, e.g. 'Vergebung'. Guessing the spelling yields no results."}, 'author': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "Author name, exactly as listed by crossload_browse, e.g. 'Roger Liebi'."}, 'series': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': 'Series name, exactly as listed by crossload_browse.'}, 'yearTo': {'type': 'integer', 'maximum': 3000, 'minimum': 1900}, 'bibleRef': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "A 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."}, 'category': {'enum': ['sermon', 'book', 'audio', 'image', 'music', 'other'], 'type': 'string', 'description': 'Exactly one category. The catalogue holds ~11.400 sermons, ~800 books and ~450 audio items.'}, 'pageSize': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': "Defaults to 10. With 'withExcerpts' the limit is 15, because every hit then carries an excerpt."}, 'yearFrom': {'type': 'integer', 'maximum': 3000, 'minimum': 1900}, 'durationMax': {'type': 'integer', 'maximum': 100000, 'minimum': 1, 'description': 'Maximum length in minutes, e.g. 30.'}, 'durationMin': {'type': 'integer', 'maximum': 100000, 'minimum': 0, 'description': 'Minimum length in minutes.'}, 'withExcerpts': {'type': 'boolean', 'description': "Set 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."}, 'includeSecondary': {'type': 'boolean', 'description': "Only 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."}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status', 'hits'], 'properties': {'hits': {'type': 'array', 'items': {'type': 'object', 'required': ['uid', 'title', 'authors', 'sourcePageUrl', 'license'], 'properties': {'uid': {'type': 'string'}, 'score': {'type': 'number', 'description': 'Relevance as the search API scored it. Comparable only between hits of the same response, to see whether one stands out or all rank alike. It is not an absolute measure of quality and does not say which part of the query matched.'}, 'title': {'type': 'string'}, 'notice': {'type': 'string'}, 'series': {'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string'}, 'part': {'type': 'number'}, 'total': {'type': 'number'}}, 'description': 'Series name and position, if this item belongs to a series.'}, 'teaser': {'type': 'string'}, 'topics': {'type': 'array', 'items': {'type': 'string'}}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'license': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}}}}, 'fileUrl': {'type': 'string'}, 'license': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string'}, 'name': {'type': 'string'}}}, 'bibleRef': {'type': 'string'}, 'category': {'type': 'string', 'description': "The kind of item this is. Same vocabulary as the 'category' filter."}, 'evidence': {'type': 'array', 'items': {'type': 'string'}, 'description': "One excerpt around the match, roughly 350 characters of running text. Present only when the call sets 'withExcerpts', and then absent for content without a searchable full text, such as most books and every image. An absent excerpt is not evidence that the words are missing from the text: the index only analyses the first 51,200 characters of a field, and long transcripts run past that. The text is third-party content and starts and ends mid-sentence."}, 'keywords': {'type': 'array', 'items': {'type': 'string'}}, 'language': {'type': 'string', 'description': 'ISO 639-3 language code of the content.'}, 'matchedVia': {'enum': ['primaryPassage', 'secondaryPassage'], 'type': 'string', 'description': "Whether the searched passage is this item's primary passage or one it merely cites."}, 'publishedAt': {'type': 'string'}, 'fileSizeBytes': {'type': 'number', 'description': 'Size of the primary file in bytes.'}, 'hasTranscript': {'type': 'boolean', 'description': "Whether a transcript exists. When false, crossload_read_content returns an empty text for this item, so cite 'sourcePageUrl' instead of reading it."}, 'sourcePageUrl': {'type': 'string'}, 'matchedPassage': {'type': 'string', 'description': "Only with matchedVia='secondaryPassage': the cited reference that produced this hit."}, 'durationMinutes': {'type': 'number'}}}}, 'page': {'type': 'number'}, 'seed': {'type': 'string'}, 'status': {'enum': ['ok', 'noResults', 'ambiguousInput', 'invalidInput', 'upstreamUnavailable'], 'type': 'string'}, 'message': {'type': 'string'}, 'resolved': {'type': 'array', 'items': {'type': 'object', 'required': ['input', 'kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['topic', 'author', 'series', 'bibleRef'], 'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'input': {'type': 'string'}, 'bookId': {'type': 'number', 'description': '0-based book id, as sent to the search API. Job is 17.'}, 'chapterId': {'type': 'number', 'description': '0-based chapter id within the book. Job 15 is 14.'}, 'verseIdTo': {'type': 'number', 'description': '0-based, inclusive.'}, 'chapterIdTo': {'type': 'number', 'description': '0-based, inclusive end of a chapter range.'}, 'verseIdFrom': {'type': 'number', 'description': '0-based. Recorded, but not used as a filter.'}}}}, 'pageCount': {'type': 'number'}, 'totalHits': {'type': 'number'}, 'truncated': {'type': 'object', 'required': ['reason', 'hint'], 'properties': {'hint': {'type': 'string'}, 'reason': {'enum': ['characterBudget', 'teaserBudget', 'listCap', 'evidenceCap', 'candidateCap', 'pageUnavailable'], 'type': 'string'}, 'hitsDropped': {'type': 'number'}, 'entriesDropped': {'type': 'number'}, 'evidenceDropped': {'type': 'number'}, 'teasersShortened': {'type': 'number'}, 'charactersDropped': {'type': 'number'}, 'suggestedPageSize': {'type': 'number'}}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'description': {'type': 'string'}, 'contentCount': {'type': 'number'}}}}, 'suggestions': {'type': 'array', 'items': {'type': 'string'}}, 'policyVersion': {'type': 'string'}}}
Esquema de entrada
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'maxLength': 100, 'minLength': 1, 'description': "Topic name, exactly as listed by crossload_browse, e.g. 'Vergebung'. Resolved server-side; a guessed spelling is rejected and nothing is counted."}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['status'], 'properties': {'topic': {'type': 'object', 'required': ['name', 'id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'description': {'type': 'string'}, 'contentCount': {'type': 'number'}}}, 'status': {'enum': ['ok', 'ambiguousInput', 'invalidInput', 'upstreamUnavailable'], 'type': 'string'}, 'message': {'type': 'string'}, 'resolved': {'type': 'array', 'items': {'type': 'object', 'required': ['input', 'kind'], 'properties': {'id': {'type': 'string'}, 'kind': {'enum': ['topic', 'author', 'series', 'bibleRef'], 'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'input': {'type': 'string'}, 'bookId': {'type': 'number', 'description': '0-based book id, as sent to the search API. Job is 17.'}, 'chapterId': {'type': 'number', 'description': '0-based chapter id within the book. Job 15 is 14.'}, 'verseIdTo': {'type': 'number', 'description': '0-based, inclusive.'}, 'chapterIdTo': {'type': 'number', 'description': '0-based, inclusive end of a chapter range.'}, 'verseIdFrom': {'type': 'number', 'description': '0-based. Recorded, but not used as a filter.'}}}}, 'truncated': {'type': 'object', 'required': ['reason', 'hint'], 'properties': {'hint': {'type': 'string'}, 'reason': {'enum': ['characterBudget', 'teaserBudget', 'listCap', 'evidenceCap', 'candidateCap', 'pageUnavailable'], 'type': 'string'}, 'hitsDropped': {'type': 'number'}, 'entriesDropped': {'type': 'number'}, 'evidenceDropped': {'type': 'number'}, 'teasersShortened': {'type': 'number'}, 'charactersDropped': {'type': 'number'}, 'suggestedPageSize': {'type': 'number'}}}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'id'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'path': {'type': 'string'}, 'imageUrl': {'type': 'string'}, 'description': {'type': 'string'}, 'contentCount': {'type': 'number'}}}}, 'distributions': {'type': 'object', 'required': ['bibleBooks', 'bibleChapters', 'withoutBibleRef', 'authors', 'series', 'years', 'withoutDate', 'licenses', 'categories', 'media', 'duration', 'coOccurringTopics'], 'properties': {'media': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'years': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'series': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'authors': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'duration': {'type': 'object', 'required': ['withDuration'], 'properties': {'withDuration': {'type': 'number'}, 'medianMinutes': {'type': 'number'}, 'longestMinutes': {'type': 'number'}, 'shortestMinutes': {'type': 'number'}}}, 'licenses': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'bibleBooks': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'withoutDate': {'type': 'number'}, 'bibleChapters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}, 'withoutBibleRef': {'type': 'number'}, 'coOccurringTopics': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'number'}}}}}}, 'policyVersion': {'type': 'string'}, 'totalContents': {'type': 'number'}, 'countedContents': {'type': 'number'}}}
Cambios recientes en herramientas
Servidores MCP similares
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
website-search
Provides security article search and structured guidance, templates, frameworks, and review criteria for incident response, threa…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …