Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct resource and action: law metadata, law detail, published law texts, law documents, case law search, case detail, and coverage. The overlapping search tools explicitly clarify the disjoint ID spaces and different underlying registries.

    Naming Consistency5/5

    All tools follow a consistent `il_` prefix with verb_noun structure: search_laws, get_law, search_law_texts, get_law_documents, search_case_law, get_case. The only outlier `coverage` is a single non-CRUD utility, still readable and consistent with the prefix pattern.

    Tool Count5/5

    Seven tools is a well-scoped set for a legal research connector, covering both statutory law and case law without unnecessary overlap. Each tool serves a clear purpose and fits within the typical 3-15 tool sweet spot.

    Completeness5/5

    The tool surface provides complete search, retrieval, and document access for both laws and cases. The explicit coverage tool acknowledges gaps and offers fallbacks, making the set robust against missing data and reducing dead ends.

  • Average 4.2/5 across 7 of 7 tools scored. Lowest: 3.4/5.

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

    • No community issues in the last 6 months
    • 16 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under Apache 2.0.

  • 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.

  • This repository includes a glama.json configuration file.

  • If you are the author, simply .

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

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

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior3/5

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

    Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds context that the result consists of official PDF files for a published law version, which is useful but does not disclose additional behaviors like pagination or error conditions.

    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, compact sentence that conveys the essential purpose without wasted words. It is appropriately structured and immediately clear.

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

    Completeness4/5

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

    Given the presence of a full output schema, rich annotations (readOnly, idempotent, openWorld), and only one parameter with a clear schema explanation, the short description is sufficient to complete the picture. It could mention whether multiple files are returned, but the plural 'files' implies that, and the output schema would clarify.

    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 tool description itself contains no parameter information. However, the input schema provides a detailed description for law_id (KNS_Law id from il_search_law_texts, not israel_law_id), and schema coverage is 100%, so the baseline of 3 applies.

    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 identifies the tool as returning official PDF document files for one published law version, differentiating it from siblings like il_get_law by specifying file type. Although no explicit verb is present, the noun phrase conveys the retrieval action.

    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 il_get_law or il_search_law_texts. The only usage hint appears in the schema's law_id description, which instructs sourcing the ID from il_search_law_texts, but that is not in the tool description itself.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds useful context beyond annotations: it specifies the search is over law names (not texts) and that the query is in Hebrew. It doesn't mention pagination or result limits, but the schema covers the limit parameter. This adds meaningful scope information without redundancy.

    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, short sentence that conveys the essential purpose. It uses precise terms ('full-text search', 'law names', 'Hebrew') with no filler or repetitive content. Every word adds value.

    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 search tool with strong annotations, an output schema, and a schema that documents both parameters, the description is sufficient. It clearly states the search scope and language. The only missing element is explicit usage guidance, but that was already penalized in the usage_guidelines dimension. The tool's simplicity and existing structured data make the description adequate.

    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%, with both 'query' and 'limit' already documented. The description's mention of 'Full-text search' and 'Hebrew' does not add any parameter-level meaning beyond the schema's 'free text in Hebrew' example. Baseline of 3 is appropriate since the schema carries the full burden.

    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 states a specific verb ('search'), a clear resource ('Israeli law names'), and a language scope ('Hebrew'). It implicitly distinguishes from sibling tools like il_search_law_texts by restricting to names, but it doesn't explicitly say 'for full-text content, use il_search_law_texts'. This is clear but not maximally differentiated.

    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 il_search_law_texts or il_search_case_law, and lacks any exclusions or context. The only usage hint is the parameter schema's example, but that's not in the description.

    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, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds minimal behavioral context ('full detail') beyond the annotations, but does not disclose other traits like response size or error behavior. Given the strong annotation coverage, this is adequate.

    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, front-loaded sentence with no extraneous words. Every word earns its place, conveying the action, resource, and identifier mechanism efficiently.

    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?

    This is a simple single-parameter read operation with comprehensive annotations and an output schema. The description, combined with the schema and annotations, provides all necessary context for the agent to invoke the tool correctly. No major gaps exist.

    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%, and the parameter description already explains the source and type of `israel_law_id` (Knesset OData IsraelLawID from `il_search_laws`). The tool description itself adds no additional parameter semantics, so 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/5

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

    The description uses a specific verb 'Fetch' and clearly identifies the resource ('full detail for one Israeli law') and the unique identifier ('IsraelLawID'). This distinctly separates it from sibling search tools like il_search_laws and document-focused tools like il_get_law_documents.

    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 implies usage when an IsraelLawID is already known, and the parameter description explicitly mentions the ID comes from `il_search_laws`, establishing a clear workflow context. It does not explicitly mention alternatives, but the context is sufficient for an agent to decide when to invoke this tool.

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

  • Behavior4/5

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

    Annotations already provide readOnlyHint, idempotentHint, and destructiveHint false. The description adds value by revealing it reads from a locally-cached dataset (the same as il_search_case_law) and that full judgment text is included. No contradictions.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences that front-load the purpose and provide essential context via a cross-reference. No wasted words.

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

    Completeness5/5

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

    Given the presence of an output schema (structure presumably covered there) and comprehensive annotations, the description effectively covers what the tool does, its input source, and a pointer to additional notes. It is complete for the use case.

    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 covers the single parameter with 100% description coverage. The description adds meaning by stating the parameter originates from il_search_case_law results, providing context beyond the schema. Baseline 3, plus one for added value.

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

    Purpose5/5

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

    The description clearly states it fetches full detail including full judgment text for one case by judgment_id, differentiating it from siblings like il_search_case_law (which returns summaries) and il_get_law (for laws).

    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 says the judgment_id should come from il_search_case_law results, and directs users to that tool's docstring for caching details. It provides clear context but does not explicitly state when not to use this tool (e.g., for multiple cases), though that is implied.

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

  • Behavior5/5

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

    Beyond the annotations (readOnly, idempotent, non-destructive), the description reveals the corpus is a static HuggingFace dataset cached locally, has an undocumented license, and covers 10,558 judgments from specified courts. This provides essential behavioral context about data source, caching, and usage restrictions.

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

    Conciseness5/5

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

    The description is concise and front-loaded: a one-sentence purpose statement followed by crucial caveats about caching and licensing. Every sentence earns its place with no redundancy.

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

    Completeness5/5

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

    Given the presence of annotations and an output schema, the description adequately covers the tool's data scope, cache behavior, license concerns, and court coverage. It gives the agent sufficient context to decide when and how to invoke the tool correctly.

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

    Parameters3/5

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

    The input schema already contains 100% parameter description coverage for query, court, and limit. The tool description adds no extra parameter-level meaning, so the baseline score of 3 applies.

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

    Purpose5/5

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

    The description clearly states the tool performs keyword search over a local corpus of Israeli court judgments, listing specific court types. This distinguishes it from sibling tools like il_search_laws (statutes) and il_get_case (specific case retrieval).

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

    Usage Guidelines4/5

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

    The description explicitly notes the tool is NOT a live API call and uses a cached corpus, implying suitable use cases (offline/static analysis). However, it does not name alternative sibling tools or provide explicit when-not-to-use conditions, so it stops short of full guidance.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false. The description adds meaningful scope (published versions, consolidated texts) and relationship to il_get_law_documents, providing behavioral context beyond the annotations without contradicting them.

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

    Conciseness5/5

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

    The description is concise and well-structured: a single sentence stating the primary purpose, followed by a sentence explaining the complementarity with il_search_laws. No filler; each sentence carries distinct value.

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

    Completeness5/5

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

    The description fully equips an agent to select and use the tool. It leverages annotations, full schema coverage, and an output schema, while adding crucial sibling distinctions and workflow relationships. No significant gaps remain.

    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 coverage is 100% with descriptions for both query and limit parameters. The tool description itself does not add extra parameter semantics beyond what the schema already provides, so a baseline 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the tool's action and resource: 'Search published Israeli law versions (KNS_Law), including consolidated texts.' It explicitly differentiates from the sibling il_search_laws by naming the distinct id spaces and registries.

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

    Usage Guidelines5/5

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

    The description explicitly explains when to use this tool versus il_search_laws, noting that il_search_laws covers KNS_IsraelLaw (validity status, Basic Law flag) while this tool covers KNS_Law. It also mentions related tool il_get_law_documents for retrieving PDFs, giving clear workflow context.

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

  • Behavior5/5

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

    Beyond the annotations, the description discloses an important open-world behavior: an empty search result may indicate a connector gap rather than an absence in the law. It also reveals that every gap has a fallback, adding context about what the tool provides and how to proceed.

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

    Conciseness5/5

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

    The description is compact and well-structured: it opens with the core purpose, then gives actionable usage guidance, then summarizes the return value. Every sentence adds meaningful information without redundancy.

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

    Completeness5/5

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

    Given zero parameters, rich annotations, and the presence of an output schema, the description provides everything an agent needs: what the tool does, when to call it, what behavioral caveat to watch for, and what the response contains. No critical operational information is missing.

    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 the input schema is empty, so there is no parameter ambiguity to resolve. Per baseline for no-parameter tools, the description is not required to compensate for schema gaps; the return-oriented description is sufficient.

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

    Purpose5/5

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

    The description states a specific purpose: declaring what the connector covers, how it is sourced, and what it does not cover. It clearly distinguishes this tool from the sibling search/retrieval tools by framing it as a coverage metadata tool rather than a legal-content lookup.

    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 gives explicit triggers: call before asserting the law 'does not contain' something, and whenever a search comes back empty. It explains why this matters, but it does not name specific sibling alternatives or explicitly state when not to use the tool, so it stops short of full alternative routing.

    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

il-eli-mcp MCP server

Copy to your README.md:

Score Badge

il-eli-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matematicsolutions/il-eli-mcp'

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