# Balthasar & Speyr Catalogue (io.github.balthasarspeyr/catalogue): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.balthasarspeyr%2Fcatalogue/versions/latest)
- Connected to: https://mcp.balthasarspeyr.org/mcp
- Homepage: https://balthasarspeyr.org/en/artificial-intelligence
- Scoring rules: v2
- Tools: 22
- Average: 39.5 / 100 (Rain)
- Near-identical pairs: 1

This page shows how Balthasar & Speyr Catalogue (io.github.balthasarspeyr/catalogue)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: The server's instructions are 4075 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `count_catalog`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `get_topic_evidence`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `list_journals`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `list_works`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize, facets, sortBy, sortOrder.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: The meaning of the boolean argument facets is unclear.
  - Minor: Says nothing about what it returns.
- `get_bibliography_source`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: page, pageSize.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `get_corpus_coverage`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `get_download_links`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: publicationId, checkAvailability.
  - Minor: The meaning of the boolean argument checkAvailability is unclear.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: publicationId. Name the tool or the place that returns it, or models look it up first.
- `get_publications`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize, facets, sortBy, sortOrder.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: The meaning of the boolean argument facets is unclear.
  - Minor: Says nothing about what it returns.
- `list_publications`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize, facets, sortBy, sortOrder.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: The meaning of the boolean argument facets is unclear.
  - Minor: Says nothing about what it returns.
- `get_publication_text`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: publicationId, offset, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: publicationId. Name the tool or the place that returns it, or models look it up first.
- `get_work`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: workId.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: workId. Name the tool or the place that returns it, or models look it up first.
- `search_life_mission_and_community`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: question, subjects, topics, offset, pageSize.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `search_works`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, limit, lexicalQueries, lexicalQueries[].language, lexicalQueries[].text.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `get_common_life_and_mission`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: topic.
  - Minor: No `required` list, so every argument is optional.
- `get_community_of_saint_john`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: topic.
  - Minor: No `required` list, so every argument is optional.
- `aggregate_catalog`: 42 / 100
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize, periodYears, groupBy.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `get_topics_by_period`: 42 / 100
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, offset, page, pageSize, interval, periods, periods[].from, periods[].to, firstYears.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: Says nothing about what it returns.
- `get_person_life_and_mission`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: person, topic.
- `export_bibliography`: 47 / 100
  - Major: Arguments without a description: filters, filters.authorIds, filters.workIds, filters.publicationIds, filters.baselReferences, filters.baselReferencePrefix, filters.journalIds, filters.journalScope, filters.topicIds, filters.includeSemantic, filters.title, filters.reference, filters.workTypes, filters.publicationTypes, filters.originalYearFrom, filters.originalYearTo, filters.publicationYearFrom, filters.publicationYearTo, filters.originalLanguages, filters.publicationLanguages, filters.inOriginalLanguage, filters.labelIds, filters.publisherIds, filters.translatorIds, filters.downloadFormats, filters.hasDownload, filters.hasExtractedText, filters.isIndexed, filters.full, recordType, offset, pageSize, includeInline.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument filters.includeSemantic is unclear.
  - Minor: The meaning of the boolean argument filters.inOriginalLanguage is unclear.
  - Minor: The meaning of the boolean argument filters.hasDownload is unclear.
  - Minor: The meaning of the boolean argument filters.hasExtractedText is unclear.
  - Minor: The meaning of the boolean argument filters.isIndexed is unclear.
  - Minor: The meaning of the boolean argument filters.full is unclear.
  - Minor: The meaning of the boolean argument includeInline is unclear.
  - Minor: Says nothing about what it returns.
- `search_publication_text`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: publicationId, query, offset, limit.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: publicationId. Name the tool or the place that returns it, or models look it up first.
- `get_catalog_options`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `get_vocation_discernment_contact`: 69 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
