Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Each tool targets a distinct resource: law registry search, law text search, law detail, law documents, case search, case detail. The two law searches (il_search_laws and il_search_law_texts) could be confused due to similar names, but their descriptions clearly differentiate the underlying id spaces.

    Naming Consistency3/5

    Names follow an il_<verb>_<object> pattern, but object naming is inconsistent: singular 'law' vs plural 'laws', compound 'law_texts', 'case_law' vs 'case'. This creates slight unpredictability.

    Tool Count5/5

    6 tools is well-scoped for a law/case retrieval service, each covering a distinct operation.

    Completeness4/5

    The service covers search and retrieval for both laws and case law, including supporting documents. Minor gaps exist, such as no direct lookup by law number, but the core workflows are covered.

  • Average 4.1/5 across 6 of 6 tools scored. Lowest: 3.4/5.

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

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

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