Skip to main content
Glama
malkreide

swiss-academic-libraries-mcp

by malkreide

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.2.0

  • Disambiguation5/5

    Each tool targets a distinct source or operation: e-manuscripta archives, law search, DOI resolution, arXiv preprints, Crossref publications, and swisscovery catalog. library_info provides an overview. No overlapping purposes.

    Naming Consistency3/5

    Naming conventions are mixed: some tools start with source (emanuscripta_, swisscovery_), others with verbs (resolve_, search_), and library_info is a noun phrase. Not fully consistent but still readable.

    Tool Count5/5

    Seven tools is an appropriate number for the domain, covering multiple Swiss academic library resources without being overwhelming or sparse.

    Completeness4/5

    Covers major sources for Swiss academic libraries including archives, law research, international publications, and the national catalog. Minor gaps like detailed record fetching are absent, but core workflows are supported.

  • Average 4.3/5 across 7 of 7 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • 0 of 1 community issues answered or closed in the last 6 months
    • 45 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds that it returns a tabular overview, which is consistent. No additional behavioral traits beyond annotations.

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

    Conciseness4/5

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

    Description is concise, includes a docstring-style args/returns section. No wasted sentences, but slightly verbose for a simple tool.

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

    Completeness4/5

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

    Given rich annotations and existing output schema, description is adequate. It provides key purpose and usage context. Could mention return format more explicitly.

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

    Parameters2/5

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

    Only one parameter (params) with nested filter_name. Schema description coverage is 0% because description does not explain parameters beyond what is in the schema. The description does not add value for parameter meaning.

    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?

    Description states it lists archives and collections in e-manuscripta, with specific mention of set-spec usage. It clearly distinguishes from sibling tools like emanuscripta_list_records.

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

    Usage Guidelines4/5

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

    Description explicitly mentions that set specifiers can be used in emanuscripta_list_records, providing context for when to use the tool. However, it does not explicitly state when not to use it.

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

  • Behavior4/5

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

    Annotations already declare safe read-only, idempotent behavior. The description adds that queries are auto-treated as exact phrases, details return format, and explains DOI resolution, providing useful context beyond annotations.

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

    Conciseness4/5

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

    The description is informative and well-structured, starting with purpose, then usage context, then parameter details. It is somewhat lengthy but each sentence adds value, making it efficient.

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

    Completeness4/5

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

    Given the tool's complexity (nested input, output schema, related tools), the description covers purpose, usage, behavior, and parameter nuances. It references sibling tools in workflow, making it nearly complete.

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

    Parameters4/5

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

    Despite schema descriptions present for all parameters, the tool description adds significant value for the query parameter (auto-phrasing, arXiv syntax handling). Schema coverage is indicated as 0% but descriptions exist; the description compensates.

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

    Purpose4/5

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

    The description clearly states the tool searches arXiv preprints in sciences and answers if an early/open version exists. It does not explicitly differentiate from sibling tools like search_publications, but mentions related tools and workflow.

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

    Usage Guidelines3/5

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

    The description implies usage for finding preprints and explains query handling (auto-phrasing). It mentions using resolve_doi and swisscovery for follow-up, but lacks explicit when-to-use vs. alternatives or exclusion criteria.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds value by clarifying that only metadata is returned (no full text), the license field is always set with 'unknown' for missing machine-readable licenses, and language filtering works only when explicitly set. No contradictions with annotations.

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

    Conciseness4/5

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

    The description is well-structured with three clear paragraphs: purpose/sources, behavioral notes, and parameter list. It is front-loaded with the main purpose. While it could be slightly more concise, every sentence adds necessary context for an agent.

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

    Completeness4/5

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

    Given the presence of a comprehensive input schema and annotations, the description covers the essential contextual aspects: purpose, source list, return type (metadata only), license behavior, and parameter overview. The return value description is brief, but an output schema exists, so no further detail is needed.

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

    Parameters3/5

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

    The input schema already provides detailed descriptions for all parameters. The main description only lists the parameter names without additional context. Since the schema covers parameter semantics well, the description adds minimal value. Baseline 3 is appropriate given schema coverage.

    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 clearly states it searches freely accessible Swiss legal scholarly articles, specifying four specific sources. The verb 'Durchsucht' and resource 'frei zugängliche schweizerische rechtswissenschaftliche Beiträge' are precise. While it doesn't explicitly differentiate from siblings, the domain is so specific that it implicitly stands apart from generic search tools.

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

    Usage Guidelines3/5

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

    The description implies usage for Swiss open-access legal literature but provides no explicit guidance on when to use this tool versus alternatives like 'search_preprints' or 'swisscovery_search'. There are no when-not-to-use instructions or references to sibling tools.

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

  • Behavior4/5

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

    Annotations already convey safety (readOnlyHint, idempotentHint, destructiveHint). The description adds behavior beyond annotations: it specifies the return format (title, author, date, collection, type, URL), pagination via resumption_token, and total count. It also notes the response_format option (markdown/json).

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

    Conciseness4/5

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

    The description is well-structured with Args and Returns sections. The introductory paragraph about e-manuscripta includes useful context but could be trimmed without losing essential meaning. Overall, it is reasonably concise.

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

    Completeness4/5

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

    The description covers purpose, repository background, parameter options, and return structure including pagination. It does not mention potential errors or rate limits, but with annotations and an output schema this is a minor gap. It is complete enough for effective tool selection and invocation.

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

    Parameters3/5

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

    The description lists parameters with types and optionality in an Args section, but the input schema already provides detailed descriptions for each property (dates format, set examples, resumption token semantics). The description adds minimal new meaning beyond the schema; it mostly repeats it.

    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+resource statement: 'Listet digitalisierte Handschriften und Archivalien aus e-manuscripta (OAI-PMH).' It clearly distinguishes this tool from siblings like erara_list_records by naming the e-manuscripta repository and the type of material.

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

    Usage Guidelines4/5

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

    The description explains the context of e-manuscripta (Swiss libraries/archives) and instructs to use emanuscripta_list_collections() for available collections. It provides a clear use case, though it does not explicitly state when not to use it or name alternative list tools.

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

  • Behavior4/5

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

    Annotations already disclose readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds behavioral context by explaining that the tool uses OAI-PMH, returns a list with metadata, and includes resumption_token and total count for pagination. It does not contradict annotations and provides useful operational details beyond the safety profile.

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

    Conciseness4/5

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

    The description is well-structured with clear 'Args:' and 'Returns:' sections and a front-loaded purpose. The background paragraph about e-periodica and the OAI identifier format is informative but not strictly necessary for invocation, adding slight verbosity. Overall, it is efficient and organized.

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

    Completeness4/5

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

    The description covers the tool's purpose, parameters, and return value, and the output schema and annotations provide additional structure and safety information. It lacks explicit guidance on distinguishing from sibling tools, but that is partially addressed by the repository-specific naming and context. The description is complete enough for invoking the tool correctly.

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

    Parameters3/5

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

    The description lists the parameters (from_date, until_date, set_spec, resumption_token, response_format) with brief one-line meanings, but the input schema already contains detailed descriptions for each, including examples, patterns, and notes on behavior (e.g., resumption_token overriding date filters). Thus the description adds little semantic value beyond the schema, meriting the baseline score.

    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 'Listet digitalisierte Zeitschriftenartikel und Periodika aus e-periodica (OAI-PMH)', clearly stating the verb (list), resource (digitized journal articles and periodicals), and repository (e-periodica). This distinguishes it from sibling tools like erara_list_records and emanuscripta_list_records, which target different repositories.

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

    Usage Guidelines4/5

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

    The description provides clear context that this tool is for e-periodica and mentions the OAI-PMH protocol, but it does not explicitly state when to use this versus alternatives such as erara_list_records or swisscovery_search. The sibling names themselves signal different repositories, but no direct comparisons or exclusionary guidance are given.

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

  • Behavior4/5

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

    Annotations already convey read-only, idempotent, and non-destructive behavior. The description adds the return format (tabular overview with set identifier and name) and clarifies that the optional filter narrows by library name, providing useful behavioral context beyond the annotations.

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

    Conciseness4/5

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

    The description is well-structured with a clear purpose statement, usage note, and an Args/Returns section. It is slightly verbose for a tool with one optional parameter, but every section contributes useful information without redundancy.

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

    Completeness4/5

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

    Given the tool's low complexity (one optional parameter, no nesting), the description covers the essential aspects: what it lists, how the output can be used with a sibling tool, and what the return looks like. It does not discuss pagination or limits, but these are not significant concerns for this type of listing operation.

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

    Parameters3/5

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

    The description restates the filter_name parameter and its purpose, but the input schema already provides an equivalent description with additional constraints (maxLength, default null). No new semantic meaning is added beyond what the schema supplies, so a baseline score is appropriate.

    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 clearly states the tool lists all libraries and collections represented in e-rara. It also differentiates from the sibling erara_list_records by explaining that the returned set specifiers can be used there, making the purpose and scope unambiguous.

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

    Usage Guidelines4/5

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

    The description explicitly tells the user that the set-spec values can be used as set_spec in erara_list_records to filter records by library. This provides clear usage context and a direct connection to a related tool, though it does not explicitly discuss when not to use this tool.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint and idempotentHint. The description adds behavioral context about the SRU protocol, return formats (markdown/json), and pagination details, but does not disclose rate limits or authentication requirements.

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

    Conciseness4/5

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

    The description is well-structured with a clear front-loaded statement, followed by examples and parameter details. It is appropriately sized for the tool complexity, though the examples could be trimmed slightly without losing value.

    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 the detailed input schema, comprehensive annotations (including readOnlyHint), and an output schema described in the Returns section, the description covers all necessary context for selecting and invoking the tool correctly. Pagination is explained, and the output format is specified.

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

    Parameters3/5

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

    The input schema already has detailed descriptions and examples for each parameter. The tool description's parameter section adds no new meaning beyond what the schema provides, meeting the baseline.

    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 clearly states the tool searches the swisscovery union catalog via SRU, and lists supported field-specific searches. It effectively distinguishes itself from sibling tools like swisscovery_get_record by focusing on search capabilities.

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

    Usage Guidelines4/5

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

    It provides numerous examples of CQL queries and mentions pagination, giving good usage context. However, it does not explicitly state when not to use this tool or provide alternatives for different scenarios.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true. The description adds useful behavioral context beyond annotations: it specifies the return value as 'Vollständige Dublin-Core-Metadaten' and lists the included fields (title, author, date, etc.), plus it explains the provenance of identifiers. No contradiction with annotations.

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

    Conciseness4/5

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

    The description is well-structured with a clear opening sentence, a note on identifier origin, and separate Args/Returns sections. It is reasonably concise, though the Args section repeats schema property descriptions. No unnecessary fluff, and the most important information (what it does, where identifiers come from) is front-loaded.

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

    Completeness4/5

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

    Given the tool's simplicity (single object fetch, two parameters, output schema exists), the description is complete enough: it covers purpose, input source, identifier format, and return content. It does not mention error handling or edge cases, but these are not critical for this type of read-only tool. Annotations cover safety profile, and the output schema likely describes the return structure further.

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

    Parameters4/5

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

    The schema descriptions for both parameters are present, but the tool description adds meaning by explaining that the oai_identifier originates from list_records and providing a concrete format example. It also clarifies the response_format options ('markdown' oder 'json') and the default. This compensates for the reported 0% schema coverage and adds value beyond the schema.

    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 states a specific verb ('Ruft ab' = retrieve), a specific resource ('einzelnes Handschriften-Objekt' = single manuscript object), and a specific source ('e-manuscripta'). It clearly distinguishes from sibling list tools by emphasizing 'einzelnes' (single) and from sibling get_record tools by naming the platform.

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

    Usage Guidelines4/5

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

    The description provides clear context for usage by explaining that OAI identifiers come from emanuscripta_list_records and giving the identifier format. It does not explicitly name alternative tools or say when not to use it, but the context is sufficient for a simple fetch operation.

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

  • Behavior4/5

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

    Annotations declare readOnlyHint, idempotentHint, and openWorldHint, and the description adds useful context: it lists return fields (title, author, date, publisher, type, URL), pagination via resumption_token, and total count. It also clarifies the response_format option. No contradictions with annotations.

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

    Conciseness4/5

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

    The description is well-structured with clear sections: purpose, context, collection guidance, Args, and Returns. It is not overly verbose, though the repetition of collection examples in both the description and schema is somewhat redundant.

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

    Completeness4/5

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

    Given the presence of an output schema and annotations, the description sufficiently covers the tool's role: listing records with filter options, pagination, and output formats. It lacks only explicit error/edge-case behavior or rate limits, but for a read-only list tool with rich schema, this is adequate.

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

    Parameters4/5

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

    The description enumerates all parameters with brief semantics and provides additional collection examples ('bge_g', 'stibi') beyond the schema's examples. The schema has detailed descriptions for each nested property, but the tool text effectively summarizes and supplements them, acting as a quick reference.

    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 'Listet digitalisierte historische Druckwerke aus e-rara (OAI-PMH)', a specific verb and resource that clearly distinguishes this from siblings like erara_get_record (single record retrieval) and erara_list_collections (listing collections). It also provides context about the collection contents and known sets.

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

    Usage Guidelines4/5

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

    The description states that available set_specs can be retrieved with erara_list_collections, pointing to an alternative tool for that part. It gives examples of collections and mentions OAI-PMH, which implies this is for listing records. However, it does not explicitly state when to use this over erara_get_record or exclude cases where other tools are preferred.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the exact return content (Dublin-Core metadata fields) and the identifier format, which is useful behavioral context beyond annotations.

    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 concise and well-structured with clear 'Args' and 'Returns' sections. It front-loads the main purpose and each sentence contributes relevant information without redundancy.

    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?

    For a simple read-only get_record tool, the description covers the source of identifiers, the input parameters, and the return format. The annotations provide safety semantics, and the output schema (if present) likely covers return structure. This is complete given the tool's complexity.

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

    Parameters4/5

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

    Although the schema already describes both parameters with examples, the tool description explicitly lists them and restates the response_format options and identifier pattern. This reinforces the schema info and adds the formatted pattern string, which slightly exceeds the schema coverage.

    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 clearly states the tool fetches a single journal article from e-periodica ('Ruft einen einzelnen Zeitschriftenartikel aus e-periodica ab'). This distinguishes it from sibling tools like eperiodica_list_records (listing) and other get_record tools for different platforms (erara, emanuscripta).

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

    Usage Guidelines4/5

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

    The description explains that OAI identifiers come from eperiodica_list_records results, providing a clear prerequisite and workflow. It does not explicitly name alternatives or exclusions, but the connection to the sibling tool offers strong contextual guidance.

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

  • Behavior5/5

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

    The description adds valuable behavioral details beyond the readOnly and idempotent annotations: it returns metadata including license, explicitly excludes full text, and returns a hint if nothing is found. No contradiction with annotations.

    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 compact and well-structured with a clear opening sentence, a note on source, an Args section, and a Returns section. Every sentence provides useful information without unnecessary repetition.

    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?

    The tool has rich annotations, a detailed input schema, an output schema, and the description adds return behavior and the no-full-text caveat. For a single-record retrieval tool, this is complete and unambiguous.

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

    Parameters3/5

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

    The description names both parameters (identifier and response_format) and adds that the identifier comes from oa_law_search results, which is helpful. However, it does not go into details like defaults or allowed values; the input schema itself provides those, but given the reported 0% schema description coverage, the description could compensate more.

    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 clearly states the tool fetches a single OA law article via DOI or resolvable URL, using a specific verb and resource. It also differentiates from the sibling oa_law_search by emphasizing it retrieves one result with metadata, not full text.

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

    Usage Guidelines4/5

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

    The description says identifiers come from oa_law_search results, implying it should be used after searching. It explicitly states that it returns metadata and no full text, which provides a clear exclusion. It does not explicitly name alternative tools, but the context is sufficient.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds valuable context about the identifier format and the return content (Dublin-Core metadata), which goes beyond the annotations without contradicting them.

    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 well-structured with sections: purpose, identifier source/format, arguments, and return value. Every sentence provides useful information, and the formatting makes it easy to scan. It is appropriately sized for the tool's complexity.

    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?

    For a single-record retrieval tool, the description covers all necessary aspects: what it does, where identifiers come from, what parameters to pass, and what the return value contains. The presence of an output schema further reduces the need for return-structure details. It is complete within its scope.

    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?

    The description includes an 'Args' section that explains both parameters: oai_identifier and response_format, including the allowed values ('markdown' or 'json') and an example identifier format. This adds meaning beyond the schema, which though also descriptive, is reinforced by the tool description.

    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 clearly states 'Ruft ein einzelnes digitalisiertes Druckwerk aus e-rara ab' (retrieves a single digitized work from e-rara), specifying the exact action, resource, and scope. This distinguishes it from sibling list tools and other repository get_record tools.

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

    Usage Guidelines4/5

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

    The description explicitly mentions that OAI identifiers come from erara_list_records results, giving a clear workflow context. However, it does not explicitly state when not to use this tool or mention alternatives like eperiodica_get_record, so it falls short of a full usage guideline.

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

  • Behavior5/5

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

    Annotations already mark it as read-only and idempotent. The description adds further context: it returns metadata in markdown or JSON, includes a link, and provides a fallback hint when a DOI is not resolvable. No contradictions.

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

    Conciseness4/5

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

    The description is front-loaded with the core purpose and includes necessary usage details. It is slightly verbose but every sentence adds value, and the structure (purpose, usage, limitations) is clear. Could be reduced by a sentence or two without losing information.

    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 the tool's simplicity (one required parameter, clear output), the description is complete. It explains the return format (metadata with license and link), usage boundaries, and provides a concrete chaining example. No missing information.

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

    Parameters3/5

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

    The input schema already includes descriptions for both parameters (doi and response_format). While schema description coverage is reported as 0%, the actual schema has good descriptions. The description does not add significant meaning beyond the schema, so a baseline score of 3 is appropriate.

    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 clearly states it resolves a DOI via Crossref to full publication metadata (title, ISSN, ISBN, authors). It specifies the verb 'auflösen' and resource 'DOI', and distinguishes from siblings by explaining how its output feeds into swisscovery_search, a sibling tool.

    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?

    The description explicitly tells when to use ('Stark bei internationaler Forschungsliteratur') and when not ('für deutschsprachige CH-Bildungspublikationen ist Crossref schwach'). It also provides a concrete alternative workflow using swisscovery_search, which is a sibling tool.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds value by detailing the return format (Markdown MARC entry) and the fields included (title, author, etc.), giving the agent a clear expectation of the output without contradicting annotations.

    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 succinct and well-structured: a one-sentence purpose, a source note, a clear Args section, and a Returns section with a field list. Every sentence adds value and is front-loaded with the most important information.

    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?

    For a simple get-by-ID tool, the description covers all essentials: what it does, where the ID comes from, the return format, and the content of the response. With output schema and annotations already present, no additional context is needed.

    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?

    Despite the context signal showing 0% schema description coverage, the description fully compensates by explaining mms_id with a concrete example ('991134165199705501') and stating its source (swisscovery_search results). The single parameter is richly described, making it easy for the agent to supply correct input.

    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 clearly states the tool's action: 'Ruft einen einzelnen Titel aus swisscovery via MMS-ID ab' (fetches a single title from swisscovery via MMS-ID). This distinguishes it from sibling tools like erara_get_record or eperiodica_get_record by specifying the swisscovery source and the MMS-ID mechanism.

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

    Usage Guidelines4/5

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

    The description explicitly states that the MMS-ID is taken from swisscovery_search results, giving clear context on when to use this tool (after a search). It doesn't explicitly mention alternatives or exclusions, but the dependency on search results is a strong usage signal.

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

  • Behavior5/5

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

    The description adds value beyond annotations by stating it requires no network access and returns Markdown documentation. Annotations already indicate readOnly, destructive, and idempotent hints, and the description provides additional behavioral context without contradiction.

    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 concise, front-loading the purpose and usage recommendation. Every sentence adds value, no redundant information.

    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 zero parameters, an output schema exists, and annotations are rich, the description is complete. It covers purpose, usage, output format, and behavioral aspects, making it fully informative for an agent.

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

    Parameters4/5

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

    With no parameters, the baseline is 4. The description mentions no input is needed, which aligns with the schema. No further parameter details are necessary.

    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 clearly states it provides an overview of all available data sources and tools on this MCP server, acting as an entry point. It specifically mentions showing all four library sources, available tools with descriptions and example queries, distinguishing it from sibling tools that handle individual record retrieval.

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

    Usage Guidelines4/5

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

    The description explicitly recommends it as an entry point, implying it should be used first to get an overview before using specific tools. While it doesn't state when not to use, the context and sibling tools make the usage clear.

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

  • Behavior5/5

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

    Annotations include readOnlyHint, idempotentHint, destructiveHint, indicating safe read-only behavior. The description adds context about Crossref's strengths/weaknesses and result details, without contradicting annotations.

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

    Conciseness4/5

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

    The description is well-structured with sections for purpose, returns, limitations, and parameters. It is informative without excessive verbosity, though could be slightly more compact.

    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 the tool's complexity, the description covers all necessary aspects: purpose, returns, limitations, parameter hints, and relationship to sibling tools. Annotations provide safety context, and output schema is noted. Complete for an agent.

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

    Parameters4/5

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

    Although schema coverage is 0% per context, the schema actually includes descriptions for all parameters. The description adds value for the query parameter by explaining Crossref's coverage and suggesting alternatives, going beyond schema.

    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 clearly states 'Durchsucht die internationale Forschungsliteratur über Crossref (bibliografisch)' and specifies the returned fields. It distinguishes itself from sibling tools by mentioning its weakness for CH education literature and suggesting alternatives.

    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?

    The description explicitly advises when not to use (for CH education literature) and recommends `swisscovery_search` or `oa_law_search`. It also explains how to use the results with `resolve_doi` and swisscovery, providing clear usage guidance.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

swiss-academic-libraries-mcp MCP server

Copy to your README.md:

Score Badge

swiss-academic-libraries-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/malkreide/swiss-academic-libraries-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server