Skip to main content
Glama
alesop95
by alesop95

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct function: searching legislation, reading a full act or article, and inspecting corpus metadata. There is no meaningful overlap between search results and full-text retrieval, and the corpus info tool is clearly separate.

    Naming Consistency4/5

    Two tools use a clear imperative verb_noun pattern ('cerca_normativa', 'leggi_atto'), while 'info_corpus' is a noun phrase. This is a minor inconsistency, but all names are readable, lowercase, snake_case, and descriptive.

    Tool Count5/5

    Three tools is a compact, well-scoped set for a legal-research assistant. Each tool serves a necessary step in the workflow: search, retrieve full text, and assess corpus freshness.

    Completeness5/5

    The tool surface covers the core research loop: find relevant norms, read the full text, and validate the corpus behind the answer. No obvious gap exists for the stated purpose since the corpus is read-only and requires no create/update/delete operations.

  • Average 4.5/5 across 3 of 3 tools scored.

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

    • No community issues in the last 6 months
    • 33 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.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

  • Behavior4/5

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

    With no annotations provided, the description carries the explanatory burden. It discloses the BM25 ranking behavior, the result fields, the effect of solo_vigenti, and the instruction to cite act and article. It conveys that this is a read/search operation, and there are no hidden destructive side effects.

    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 every sentence earns its place: the search behavior, the mandatory usage instruction, the output citation rule, and parameter semantics are all included without waste. The imperative 'USA SEMPRE' is intentionally attention-grabbing and reinforces the priority of this 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?

    The description is nearly complete for invocation: it explains purpose, when to use, all parameters, and the structure of results. It could be slightly richer by explaining how it relates to sibling tools or what to do when the ordinary law details are not sufficient, but nothing essential is missing for calling the tool correctly.

    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 schema has 0% description coverage, but the description compensates fully by defining every parameter: query as free text, solo_vigenti as excluding repealed acts, and limit as the maximum number of extracts with a default of 8. This adds substantial meaning beyond the bare schema types and titles.

    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 Italian legislation and returns the most relevant normative extracts using BM25 ranking, which is specific and action-oriented. It does not explicitly mention sibling tools, but the search scope is clear enough for an agent to distinguish it from leggi_atto and info_corpus.

    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 gives an explicit usage directive: always use this tool before answering Italian law questions and do not answer from memory. However, it does not state when not to use it or mention alternatives, so the guidance is strong on when but not on exclusions.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what informational data the tool returns (act count, chunk count, commit, update date) and also instructs the agent to cite the disclaimer. This is sufficient for a read-only status tool, though it does not explicitly state that no mutations occur.

    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 sentences with no redundancy: the first sentence front-loads the tool's purpose and output data, and the second explains the intended usage context. Every clause earns its place.

    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 informational tool with no parameters and no output schema, the description is complete: it names the output fields, gives an explicit use case, and adds the disclaimer instruction. An agent has all it needs to decide when to call this tool and how to present the results.

    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 tool has zero parameters and full schema coverage, so the description does not need to clarify any inputs. According to the baseline for parameterless tools, a score of 4 is appropriate; the description adds no irrelevant parameter information.

    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 identifies the tool as providing status and freshness of the indexed corpus, including specific outputs: number of acts, number of chunks, commit, and last update date. This domain is distinct from siblings cerca_normativa (search) and leggi_atto (read), so an agent can easily tell it apart.

    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 when to use the tool: to tell the user how up-to-date and broad the normative base supporting the answer is, and to cite the disclaimer. It lacks explicit 'when not to use' guidance, but the use case is clearly described and the tool's scope is obvious from the context.

    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?

    With no annotations, the description carries the burden and does well: it discloses that the tool is a read operation ('Legge'), that it sources from an index, that it can return a whole act or a single article, and that urn is preferred over path. It stops short of explaining error behavior or response format, which is a minor gap for a retrieval tool.

    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?

    Three dense sentences with no filler. The main purpose is front-loaded, and every sentence adds useful information: the object being read, the identification methods, the article filter, and the recommended workflow.

    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?

    For a simple read tool with no output schema and no annotations, the description is largely complete: it explains the selector parameters and the workflow with the key sibling. It could add what happens when no matching act is found or what the returned text looks like, but the core calling context is well covered.

    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?

    Schema coverage is 0%, so the description must compensate, and it does: it defines urn as the preferred identifier, path as an alternative, and articolo as an optional filter that restricts output to a single article. It adds semantics that the bare schema does not provide, though it leaves details like value formats implied.

    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 and resource: 'Legge il testo integrale di un atto, o di un suo singolo articolo, dall'indice.' It makes clear this tool reads full legal text, and it distinguishes itself from cerca_normativa by defining the workflow: cerca_normativa finds the act, this tool reads it.

    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?

    It explicitly states when to use the tool: 'Usalo per leggere il testo completo dopo che cerca_normativa ha individuato l'atto rilevante.' It also frames urn as the preferred identifier because it is returned by cerca_normativa, giving concrete routing 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

legal-consultant MCP server

Copy to your README.md:

Score Badge

legal-consultant 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/alesop95/legal-consultant'

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