Skip to main content
Glama
ukicar

Gallica/BnF MCP Server

by ukicar

Server Quality Checklist

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

  • Disambiguation3/5

    Most tools have distinct purposes, but there is significant overlap between the six specific search tools (search_by_author, search_by_title, etc.) and the general natural_language_search and advanced_search tools, which could cause confusion about when to use each. The sequential_reporting tool stands out as a high-level workflow tool that might be misapplied instead of using the underlying search and retrieval tools directly.

    Naming Consistency4/5

    The naming is mostly consistent with a verb_noun pattern (e.g., get_item_details, search_by_author), but there are minor deviations: advanced_search uses an adjective instead of a verb, and sequential_reporting uses an adjective rather than a verb, breaking the pattern slightly. Overall, the naming is readable and follows a clear convention.

    Tool Count4/5

    With 12 tools, the count is reasonable for a digital library server, covering search, retrieval, and reporting functions. It is slightly on the higher side but well-scoped for the domain, as it includes multiple search facets and detailed item handling, without being overwhelming.

    Completeness4/5

    The tool set provides strong coverage for searching and retrieving documents, including metadata, pages, images, and text. However, there are minor gaps: no tools for user account management (e.g., saving favorites or history) or batch operations (e.g., downloading multiple items), which might be useful for advanced research workflows but are not essential for core functionality.

  • Average 3.3/5 across 12 of 12 tools scored.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions 'advanced search' and provides CQL examples, but doesn't disclose important behavioral traits: whether this is read-only or has side effects, authentication requirements, rate limits, error handling, or what the search results contain. For a search tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

    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 appropriately concise with two sentences: a clear purpose statement followed by helpful examples. The examples are relevant and illustrate the tool's capability without being verbose. However, the structure could be improved by front-loading more critical information about when to use this versus other search tools.

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

    Completeness2/5

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

    Given the complexity (advanced search with custom query syntax), no annotations, and no output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, error conditions, or performance characteristics. For a tool that presumably returns search results, the lack of output information combined with minimal behavioral context makes this inadequate.

    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?

    Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description doesn't add any parameter semantics beyond what's in the schema - it mentions CQL query syntax generally but doesn't provide additional details about the 'query' parameter format, constraints, or examples that go beyond the schema's 'Custom CQL query string' description. Baseline 3 is appropriate when schema does the heavy lifting.

    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 purpose: 'Perform an advanced search using custom CQL query syntax.' It specifies the verb ('perform an advanced search') and resource (search functionality), but doesn't explicitly differentiate from sibling tools like 'natural_language_search' or other search_by_* tools. The examples help illustrate the scope but don't provide explicit differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With multiple sibling search tools (natural_language_search, search_by_author, search_by_date, etc.), there's no indication of when this advanced CQL search is preferred over simpler, more specific search tools. The examples show CQL syntax but don't establish usage context.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the basic function but doesn't mention important behavioral aspects like rate limits, authentication requirements, pagination behavior (beyond what's implied by parameters), error conditions, or what format the results will be returned in. For a search tool with no annotation coverage, this is a significant gap.

    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 a single, efficient sentence that states the core purpose without any unnecessary words. It's appropriately sized for a straightforward search tool and gets directly to the point with zero waste.

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

    Completeness2/5

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

    Given the tool has no annotations, no output schema, and multiple sibling tools, the description is insufficiently complete. It doesn't explain what the search returns (document metadata? full text? URLs?), how results are ordered, or how this tool differs from other search options. For a search tool in a library with 11 sibling tools, more context 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?

    With 100% schema description coverage, the input schema already documents all 4 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. According to the scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.

    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 action ('Search for documents') and target resource ('in the Gallica digital library by author'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'search_by_title', 'search_by_date', etc., which follow the same pattern but with different search criteria.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'natural_language_search' or 'advanced_search'. It mentions the search criteria ('by author') but doesn't explain when author-based searching is preferable or what limitations this approach might have compared to other search methods available.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the date format but doesn't describe what happens when no results are found, whether the search is case-sensitive, what types of documents are returned, or any rate limits or authentication requirements. For a search tool with zero annotation coverage, this is insufficient.

    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 extremely concise with just two sentences that directly communicate the tool's purpose and key constraint. Every word earns its place with no wasted text, making it easy to parse quickly.

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

    Completeness2/5

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

    For a search tool with 3 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain what kind of results are returned, how they're structured, whether there's pagination behavior (beyond the start_record parameter), or any error conditions. The agent would have significant gaps in understanding how to use this tool effectively.

    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?

    Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds the date format information which is already in the schema's parameter description, providing minimal additional value beyond what's already structured.

    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 action ('Search for documents') and resource ('Gallica digital library') with a specific scope ('by date'). It distinguishes from some siblings like search_by_author or search_by_title, but doesn't explicitly differentiate from advanced_search or natural_language_search which might also support date filtering.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like advanced_search, natural_language_search, or other search_by_* tools. It mentions the date format but doesn't explain when date-based searching is preferable to other search methods.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions searching but doesn't disclose behavioral traits like rate limits, authentication needs, pagination behavior beyond the parameters, or what the return format looks like (e.g., list of documents with metadata). For a search tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

    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 a single, efficient sentence that front-loads the core purpose. There is zero waste or redundancy, making it highly concise and well-structured for quick understanding.

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

    Completeness2/5

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

    Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., document list, metadata), how results are ordered, or error conditions. For a tool with rich input schema but missing output and behavioral context, more 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?

    Schema description coverage is 100%, so the schema fully documents all 4 parameters. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain subject format, Gallica's subject taxonomy, or how exact_match interacts with subject terms). Baseline 3 is appropriate when the schema does the heavy lifting.

    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 verb ('Search for') and resource ('documents in the Gallica digital library'), specifying the search dimension ('by subject'). It distinguishes from siblings like search_by_author or search_by_title by indicating the subject-based filtering, but doesn't explicitly contrast with natural_language_search or advanced_search which might also handle subjects differently.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer search_by_subject over natural_language_search, advanced_search, or other subject-related tools, nor does it specify prerequisites or exclusions for usage.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action ('search') without mentioning any behavioral traits like pagination handling, rate limits, authentication needs, error conditions, or what the search results look like. For a search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

    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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly. Every part of the sentence earns its place by conveying essential information about the tool's function.

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

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete for a search tool with multiple parameters. It doesn't explain what the search returns (e.g., result format, metadata), how pagination works beyond the schema, or any limitations like rate limits. For a tool with 4 parameters and no structured output documentation, the description should provide more context about the search behavior and results.

    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 adds no parameter-specific information beyond what's already in the input schema, which has 100% coverage with clear descriptions for all four parameters. Since the schema fully documents parameters like 'title', 'exact_match', 'max_results', and 'start_record', the description doesn't need to compensate, but it also doesn't provide additional context about how parameters interact or search semantics.

    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's purpose: 'Search for documents in the Gallica digital library by title.' It specifies the verb ('search'), resource ('documents'), and scope ('by title'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like 'search_by_author' or 'natural_language_search', which prevents a perfect score.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With multiple sibling search tools available (e.g., 'search_by_author', 'natural_language_search'), there's no indication of when title-based searching is preferred or what distinguishes this from other search methods. This lack of contextual guidance makes it harder for an agent to choose correctly.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It mentions searching but doesn't disclose behavioral traits like whether it's read-only, rate limits, authentication needs, or what the return format looks like. For a search tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

    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 a single, efficient sentence that front-loads the purpose and provides helpful examples. Every word earns its place with no redundancy or unnecessary elaboration.

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

    Completeness2/5

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

    Given no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., list of documents, metadata), error conditions, or behavioral constraints. For a search tool with three parameters, more context is needed to understand its full 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?

    Schema description coverage is 100%, so the schema already documents all three parameters (doc_type, max_results, start_record). The description adds no additional parameter semantics beyond what's in the schema, such as explaining the document type examples or pagination behavior. Baseline 3 is appropriate when schema does the heavy lifting.

    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 for documents in the Gallica digital library by document type, providing specific examples like monographie, periodique, image, etc. It distinguishes from siblings like search_by_author or search_by_title by focusing on document type, though it doesn't explicitly contrast with natural_language_search or advanced_search.

    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 when searching by document type, but doesn't specify when to use this versus alternatives like advanced_search or natural_language_search. It provides context (Gallica digital library) but lacks explicit exclusions or comparisons to sibling tools.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden for behavioral disclosure. While it states what the tool returns, it doesn't cover important aspects like whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, error conditions, or pagination behavior for large documents. The description adds minimal behavioral context beyond the basic return statement.

    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 extremely concise with just two sentences that efficiently convey the core functionality and return values. Every word earns its place - the first sentence states the action and resource, the second specifies the return data structure. There's no wasted verbiage or redundancy.

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

    Completeness3/5

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

    For a tool with 4 parameters, no annotations, and no output schema, the description provides adequate but incomplete context. It explains what the tool does and what it returns, but lacks behavioral details (permissions, limits, errors) and parameter usage guidance. Given the complexity of having multiple pagination options (page, page_size, page_range) and no output schema, the description should do more to help an agent understand how to use it effectively.

    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 has 100% description coverage, so all parameters are documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema - it doesn't explain parameter interactions (e.g., that page, page_size, and page_range are mutually exclusive options) or provide usage examples. The baseline of 3 is appropriate when the schema does the heavy lifting.

    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 specific action ('Enumerate pages'), the resource ('of a document'), and the return data ('logical page numbers, IIIF image URLs, and text availability flags'). It distinguishes from siblings like get_page_image (which fetches a single image) and get_page_text (which retrieves text content) by focusing on page-level metadata enumeration.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose get_item_pages over get_item_details (which might include page info) or get_page_image/get_page_text (for specific page content), nor does it specify prerequisites or exclusions for usage.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds some context: it describes the search as 'simplified' and mentions the 'gallica all' operator, which gives insight into how the search works. However, it doesn't cover important behavioral aspects like rate limits, authentication needs, error handling, or what the results look like (since there's no output schema). The description provides basic operational context but lacks depth for a tool with no 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 concise and front-loaded, with two sentences that directly state the tool's purpose and key operational detail. There's no wasted text, and it efficiently conveys the essential information. It could be slightly improved by structuring it more explicitly (e.g., separating purpose from constraints), but it's well-sized and clear.

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

    Completeness3/5

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

    Given the tool's moderate complexity (a search function with 3 parameters), lack of annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and method but lacks details on behavioral traits, result format, or explicit differentiation from siblings. For a search tool in a context with many sibling tools, more completeness would be helpful to guide the agent effectively, but it meets the minimum viable threshold.

    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 has 100% description coverage, with clear documentation for all three parameters (query, max_results, start_record). The description doesn't add any parameter-specific information beyond what's in the schema, such as examples of natural language queries or details on pagination behavior. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't need to since the schema is comprehensive.

    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's purpose: 'Search the Gallica digital library using natural language.' It specifies the verb ('search'), resource ('Gallica digital library'), and method ('natural language'). However, it doesn't explicitly distinguish this from sibling tools like 'advanced_search' or 'search_by_title' beyond mentioning it's 'simplified' and uses a specific operator, leaving some ambiguity about when to choose this over other 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 provides some usage context by stating this is a 'simplified search' and uses the 'gallica all' operator to search across all fields, which implies it's a broad, general-purpose search. However, it doesn't explicitly state when to use this tool versus alternatives like 'advanced_search' or field-specific searches (e.g., 'search_by_title'), nor does it mention any exclusions or prerequisites. The guidance is implied but not comprehensive.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the sequential process flow, which is valuable context beyond basic functionality. However, it doesn't mention important behavioral aspects like whether this is a read-only or write operation, potential rate limits, authentication requirements, or what happens if the process is interrupted mid-sequence. The description adds some process context but leaves significant behavioral gaps.

    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 reasonably structured with a clear purpose statement followed by sequential steps and parameter list. However, the parameter list is somewhat redundant given the comprehensive schema descriptions. The description could be more concise by focusing on process flow rather than repeating parameter names. Still, it's not excessively verbose and maintains focus on the tool's purpose.

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

    Completeness3/5

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

    For a complex 12-parameter tool with no annotations and no output schema, the description provides adequate basic context about the sequential process. However, it doesn't explain what the tool returns (no output schema), doesn't cover error conditions, and doesn't provide enough guidance on how to orchestrate the multi-step process effectively. Given the complexity, more complete usage guidance would be helpful.

    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?

    Schema description coverage is 100%, so the schema already documents all 12 parameters thoroughly. The description lists all parameters but doesn't add meaningful semantic context beyond what's in the schema descriptions. It provides a parameter list but no additional guidance on how parameters interact in the sequential process or which parameters are needed at which steps. Baseline 3 is appropriate when schema does the heavy lifting.

    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's purpose: 'Generate a research report in a sequential, step-by-step manner using Gallica BnF sources.' It specifies the verb ('generate'), resource ('research report'), and approach ('sequential, step-by-step'). However, it doesn't explicitly differentiate from sibling tools like 'advanced_search' or 'natural_language_search' which are search-focused rather than report generation 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 through its sequential step explanation (initialize, search, create bibliography, create sections), suggesting this tool should be used for multi-step report generation. However, it doesn't provide explicit guidance on when to use this vs. simpler search tools or when not to use it (e.g., for quick lookups). No alternative tools are mentioned for similar tasks.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses the return format (URL and metadata, not binary data) which is valuable behavioral context. However, it lacks details on authentication needs, rate limits, error conditions, or whether this is a read-only operation, leaving significant gaps in behavioral understanding.

    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 extremely concise with just two sentences that are front-loaded with essential information. Every word earns its place, with no redundant or unnecessary content, making it efficient for agent comprehension.

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

    Completeness3/5

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

    Given no annotations and no output schema, the description provides basic purpose and output format but lacks sufficient context for a tool with 4 parameters. It doesn't explain what metadata is returned, how errors are handled, or provide examples of typical use cases, leaving the agent with incomplete operational understanding.

    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?

    Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as explaining the relationship between ark and page or providing examples beyond those in schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

    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 specific action ('Get IIIF image URL'), resource ('for a specific page'), and output type ('Returns URL and metadata, not binary data'). It distinguishes from potential sibling tools like get_page_text by specifying image retrieval rather than text extraction.

    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 when needing image URLs for pages, but provides no explicit guidance on when to use this tool versus alternatives like get_item_pages or get_item_details. No exclusions or prerequisites are mentioned, leaving usage context partially ambiguous.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses that the tool may return null if text is unavailable, which is a key behavioral trait. However, it lacks details on permissions, rate limits, or error handling, leaving gaps for a tool that interacts with external data.

    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 two concise sentences with zero waste. It front-loads the core purpose and follows with important behavioral context (null returns), making it efficiently structured and easy to parse.

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

    Completeness3/5

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

    Given no annotations and no output schema, the description is minimal but covers the essential behavior (retrieving text and handling unavailability). For a tool with 3 parameters and external dependencies, it could benefit from more context on error cases or output structure, but it meets the minimum viable threshold.

    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?

    Schema description coverage is 100%, so the schema already documents all parameters (ark, page, format). The description adds no additional meaning beyond what the schema provides, such as explaining ARK identifiers or format differences. Baseline 3 is appropriate as the schema handles the heavy lifting.

    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 verb 'Retrieve' and the resource 'OCR or TEI text for a specific page', specifying what the tool does. It distinguishes from siblings like get_page_image (which retrieves images) and get_item_pages (which likely lists pages), making the purpose specific and differentiated.

    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 by noting 'when available' and 'Returns null if text is not available', suggesting it's for pages with text content. However, it doesn't explicitly state when to use this tool versus alternatives like get_page_image for images or advanced_search for broader queries, leaving some ambiguity.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the full burden. It discloses the tool's behavior by specifying it returns 'bibliographic data, available formats, and helpful URLs', which gives useful context about output content. However, it doesn't mention potential limitations like rate limits, error conditions, or authentication needs, leaving gaps for a read operation.

    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 front-loaded with the core purpose in the first sentence and adds specific return details in the second. Every sentence earns its place by providing essential information without waste, making it highly efficient and well-structured.

    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 (single parameter, no output schema, no annotations), the description is mostly complete. It covers purpose, parameter context, and return types adequately. However, without annotations or output schema, it could benefit from more behavioral details like error handling or response structure to achieve full completeness.

    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 adds meaning by clarifying the ARK identifier's role and providing example formats ('ark:/12148/bpt6k123456' or 'bpt6k123456'), which enhances the schema's 100% coverage. Since there's only one parameter, the baseline is 4, and the description effectively complements the schema without redundancy.

    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 specific action ('Get full metadata'), resource ('a Gallica item'), and key identifier ('by its ARK identifier'). It distinguishes from siblings like get_item_pages or get_page_image by focusing on metadata rather than content or search operations.

    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 when you have an ARK identifier and need metadata, but doesn't explicitly state when to use this tool versus alternatives like search tools (e.g., search_by_title) or when not to use it (e.g., for content retrieval). It provides basic context but lacks explicit guidance on alternatives or exclusions.

    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

sweet-bnf MCP server

Copy to your README.md:

Score Badge

sweet-bnf 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/ukicar/sweet-bnf'

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