Banca Dati di Merito MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct resource and action: search measures vs abstracts, read metadata vs full text, obtain precedents vs timeline. The descriptions clearly differentiate the purposes, leaving no ambiguity.
Naming Consistency5/5All tool names follow the same imperative verb_noun pattern in Italian: ottieni_, cerca_, leggi_, naviga_, verifica_. This consistent structure makes the set predictable and easy to navigate.
Tool Count5/5With 11 tools, the server is well-scoped for a legal document retrieval domain. Each tool covers a necessary function without redundancy, fitting comfortably within the ideal range.
Completeness5/5The tool surface covers the full lifecycle of querying and retrieving legal documents: search, read metadata, read abstracts, read full text, navigate the archive, and obtain contextual data like precedents, timelines, subjects, and districts. No major dead ends exist.
Average 3.6/5 across 11 of 11 tools scored. Lowest: 2.4/5.
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 status not available
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.jsonto 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?
The annotations already declare readOnlyHint=true, so the agent knows it is a safe read operation. The description adds no behavioral detail beyond that—it does not mention return format, pagination, or that it returns a list of matching provisions. It essentially restates the tool's name and purpose without enriching the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficiently worded sentence that starts with the verb and clearly states the object. No unnecessary words or redundancy. It is appropriately concise, though its brevity limits its overall utility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a complex search operation with 19 parameters and multiple sibling tools, yet the description provides no context on how to construct a search, what results to expect, or how it relates to other tools. Without an output schema or parameter documentation, the agent is left with almost no guidance. This is highly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 19 parameters and 0% schema coverage, the description must compensate by explaining key parameters. It only vaguely hints at the 'tipo' parameter via the listed subtypes, but provides no meaning for 'query', 'full_text', 'data_da', 'data_a', 'max_results', or the many other filters. This is a severe gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'cerca' (search), the resource ('provvedimenti'), the database ('Banca Dati del Merito'), and enumerates specific subtypes (sentenze, decreti, ordinanze). This is specific and unambiguous, but it does not explicitly differentiate from sibling tools like 'cerca_abstract' or 'naviga_archivio'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Given the sibling tools include cerca_abstract, leggi_dettaglio_provvedimento, and naviga_archivio, the description should indicate whether this is the right tool for full-text search, filtering by metadata, or finding documents before reading details. No such context is provided.
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?
The description adds no behavioral context beyond what the annotations already provide. It only states the search action; it does not disclose return format, pagination, potential need for authentication, or any other operational details. The readOnlyHint annotation is consistent with the description, but no additional insights are offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the tool's purpose. It is well-structured and front-loaded. However, it is slightly underspecified for the tool's complexity, which prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 21 parameters, no per-parameter descriptions, and no output schema. The description provides no information about how to combine parameters, what the result body will look like, or any usage examples. It is grossly insufficient for an agent to effectively invoke the tool with correct arguments.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 21 parameters with 0% description coverage, but the description does not explain any of them. It fails to compensate for the schema's lack of documentation. There is no mention of filter fields like 'anno', 'tipo', 'query', or 'materia', leaving the agent without any guidance on how to construct a valid search.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Cerca abstract/massime redazionali' (searches abstracts/editorial maxims) in a specific database (Banca Dati del Merito del Ministero della Giustizia). It uses a specific verb and resource, and the distinction from sibling tools like 'cerca_provvedimenti' is implied by the term 'abstract'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives. It does not mention that it is the appropriate choice for searching abstracts as opposed to other content types, nor does it provide any exclusions or prerequisites. No alternative tools are referenced.
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?
Annotations already declare readOnlyHint=true, and the description consistently implies a read-only navigation action. It adds the hierarchical structure context, which is useful, but it does not disclose behavior such as default filters, pagination, or how the tool responds when parameters are omitted. With the read-only aspect covered by annotations, the added value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and resource. It is concise, directly to the point, and free of redundant words, making it easy to parse at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, no output schema, and no parameter descriptions, the description is too sparse. It fails to explain 'target' and 'max_results', provide usage context, or indicate expected return values. The hierarchy hint is helpful but insufficient for an agent to use the tool correctly across scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameter descriptions, so the description must compensate. It explains five of the seven parameters by outlining the hierarchy (Distretto → Ufficio → Materia → Anno → Mese), but it omits 'target' (provvedimento/abstract) and 'max_results', leaving their roles unclear. Partial compensation warrants a midpoint score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Naviga') and resource ('struttura gerarchica dell'archivio BDP') with the exact hierarchy path. This distinguishes it from sibling tools like cerca_provvedimenti (search) and leggi_dettaglio_provvedimento (read detail), as it focuses on hierarchical navigation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 does not mention any specific use cases, prerequisites, or exclusions, nor does it reference the sibling tools. The agent is left with only the raw hierarchy path.
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?
Annotations already indicate readOnlyHint and idempotentHint, so the description doesn't need to cover safety. The description adds value by specifying the three categories of data returned, but it does not disclose any potential prerequisites (e.g., session validation) or limitations, which is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the action and the object. It contains no redundant words or explanation of obvious concepts, making it exceptionally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description names the three data categories returned, giving the agent a clear sense of the tool's output. The parameter description in the schema covers the input expectation. Minor gaps remain, such as whether the timeline is full detail or summarised, but overall the tool is simple enough that the description is largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a full description of the 'url' parameter, including its origin from cerca_provvedimenti or cerca_abstract. The tool description does not add any additional parameter context, so with 100% schema coverage the 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Legge' (reads) and specifies the exact resource 'metadati completi, timeline gradi di giudizio e abstract collegati di un provvedimento BDP'. This distinguishes it from siblings like leggi_abstract and ottieni_timeline by combining all three components into a single detail retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as leggi_abstract or ottieni_timeline. The only implied usage is through the composition of metadata, timeline, and abstracts, but there is no mention of exclusions or when to prefer separate 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 declare readOnlyHint=true and idempotentHint=true, so the description correctly reflects a safe, non-mutating operation. It adds useful implementation details: the tool operates by opening the detail page and clicking 'Mostra', and locates the full text in a hidden DOM element (.visually-hidden inside #document-modal), which goes beyond the annotation-only baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and resource, and the second sentence provides a technical but relevant detail about DOM placement. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately explains the purpose, source, and where to find the extracted text. It does not explicitly state the return format or potential edge cases, but the core functionality is clear; annotations further cover safety and idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'url' is already fully described in the schema with the same source guidance (URL from detail page, from cerca_provvedimenti or cerca_abstract). The description reinforces this but does not add additional semantic details such as formatting or validation. Given 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool extracts the full anonymized text of a measure, specifying the action (estrae), the resource (testo integrale anonimizzato di un provvedimento), and the method (from the detail page by clicking 'Mostra'). It also adds a distinguishing detail ('tutte le pagine') that differentiates it from potentially similar detail/abstract tools, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some context by noting the URL comes from cerca_provvedimenti or cerca_abstract, implying it is a follow-up to search. However, it gives no explicit guidance on when to use this tool versus sibling tools like leggi_dettaglio_provvedimento or leggi_abstract, and no exclusions or alternative recommendations.
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?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds that it extracts from a detail page but does not disclose other behavioral traits such as requiring an authenticated session, behavior on invalid URLs, or whether an empty timeline is returned. 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence. It is extremely concise with no filler words, and every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple extraction tool, the description provides the core action and source, but there is no output schema and no mention of the return format, preconditions (like session validity), or error cases. Given the BDP context, this leaves some gaps, though it may be sufficient for a straightforward extraction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required 'url' parameter with format 'uri' and no description (0% coverage). The description partially compensates by indicating the URL must point to a detail page of a BDP provvedimento, but does not explicitly define the parameter's purpose or any additional constraints beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb "Estrae" (extracts) with a clear resource: "la catena dei gradi di giudizio" from the detail page of a BDP provvedimento. It distinguishes itself from siblings like leggi_dettaglio_provvedimento, which would presumably return the full detail page, and ottieni_precedenti, which handles precedents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: the tool should be used when one needs the chain of judgment grades from a detail page. However, there is no explicit when/when-not guidance or mention of alternative tools, despite siblings like ottieni_materie and ottieni_distretti suggesting similar extraction functions.
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 establish read-only and idempotent behavior. The description adds that it returns the full abstract text and includes both conforming and non-conforming precedents, which is 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that concisely states the action and scope without unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with strong annotations, the description adequately explains the purpose and key output elements (full text and precedents). It does not detail pagination or error cases, but those are not critical for this straightforward read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the url parameter (origin from cerca_provvedimenti or cerca_abstract). The tool description adds no additional parameter-level semantics, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Legge' - reads) and resource ('testo completo di un abstract BDP') and uniquely mentions 'con precedenti conformi e difformi', distinguishing it from sibling tools like leggi_testo_provvedimento and leggi_dettaglio_provvedimento.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The parameter description indicates the URL comes from cerca_provvedimenti or cerca_abstract, implying usage after search, but it does not explicitly state when to choose this tool over alternatives like leggi_testo_provvedimento or ottieni_precedenti.
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?
Annotations already declare readOnlyHint and idempotentHint. The description adds the valuable detail that values are 'live' and not hardcoded, which is behavioral info beyond the annotations. However, it does not discuss potential errors, return formatting, or dependencies on UI state, though the output schema covers some of this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the main action and includes a useful qualifier. Every word adds value, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with an output schema, the description is sufficient: it identifies the data source and that it's live. Minor gap: it doesn't mention whether a valid BDP session is required, but sibling tools like verifica_sessione may cover that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the description carries no parameter documentation burden. With no params to describe, the baseline is 4 and the description is not missing anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Estrae'), a specific resource ('materie disponibili dal select della ricerca BDP'), and a key behavioral qualifier ('live, non hardcoded'). This clearly distinguishes it from sibling tools like ottieni_distretti, which retrieve different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to fetch the subject options for the BDP search select, but it does not explicitly explain when to use it versus alternatives or note any prerequisites (e.g., session validity). It provides context but no exclusions or alternative recommendations.
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?
Annotations already declare readOnlyHint and idempotentHint true, covering safety. The description adds the source context (detail page) but does not disclose additional behaviors such as output format, error handling, or rate limits. It is consistent with annotations but does not go beyond 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and resource. There is no redundancy or unnecessary detail, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list-extraction tool with read-only annotations and two well-defined parameters, the description is sufficient for an agent to select and invoke it. It lacks details about the output structure or any prerequisites, but given the tool's apparent simplicity, these gaps are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the 'url' parameter and provides an enum for 'tipo', but lacks a description for 'tipo'. The description's mention of 'conformi e/o difformi' clarifies the purpose of the tipo parameter, and the enum itself gives valid choices. The URL parameter is well-covered by the schema, so overall the semantics are adequate but not fully enriched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Estrae' (extracts) and identifies the resource as 'precedenti conformi e/o difformi' from the 'pagina dettaglio di un abstract BDP'. This clearly distinguishes it from sibling tools like ottieni_materie and ottieni_timeline, which target different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the context: the tool operates on the detail page of a BDP abstract, implying a URL input. However, it does not explicitly mention when to prefer this tool over alternatives or provide exclusion criteria, though the clear context is a sufficient guide.
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?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds that it works by 'navigando la BDP', which provides some mechanical context but does not disclose further behavioral nuances such as failure states or side effects. Overall, it adds modest value 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose and method. There is no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, simple session-check tool with an output schema present, the description is sufficiently complete. It explains what is checked and how, and the output schema covers return values, leaving no major information gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is fully covered, so there are no parameter semantics to explain. The baseline of 4 applies because no parameter description is needed, and the description does not introduce any parameter-related confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Verifica' with a clear resource 'sessione CIE' and method 'navigando la BDP'. This clearly distinguishes it from sibling tools that retrieve data, as it checks session status rather than returning content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage before or during CIE-based operations by verifying session activity, but it does not explicitly state when to use it versus alternatives or provide exclusions. The context is understandable but lacks direct guidance.
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?
Annotations already declare readOnlyHint and idempotentHint, covering safety. The description adds that data is live and not hardcoded, suggesting results may change. Yet it does not disclose other behaviors like network dependency or error conditions, so the added context is moderate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise, front-loaded sentence that conveys purpose and key behavior. Every word contributes meaning, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, an existing output schema, and annotations covering safety, the description is complete for this simple getter. The live-data note adds relevant context, making it fully sufficient for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter documentation to add. The schema coverage is complete, and the description adds no parameter-specific information, which is appropriate. Baseline 4 for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'estrae' (extracts), the resource (distretti giudiziari), and the source (BDP search select). The 'live, non hardcoded' note further distinguishes it from static lists, clearly separating it from sibling tools like ottieni_materie.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when current, dynamic districts are needed for the BDP search, with the 'live, non hardcoded' note providing clear context. However, it does not explicitly name alternatives or state when not to use the tool, so it lacks explicit 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
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/avvocati-e-mac/mcp-bdm-civile'
If you have feedback or need assistance with the MCP directory API, please join our Discord server