Skip to main content
Glama

EOSL.ai — Hardware End-of-Life Database

Server Details

Hardware end-of-life dates by part number, each linked to the vendor's own bulletin.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.8/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool serves a distinct purpose: bulk_check for batch part lookups, lookup_part for single parts, search_models for discovery by name, get_family for full family details, and list_vendors for vendor enumeration. No two tools overlap in their primary use case, and cross-references in descriptions further clarify boundaries.

Naming Consistency4/5

Four of five tools follow a clear verb_noun pattern (get_family, list_vendors, lookup_part, search_models). bulk_check deviates slightly as a compound modifier + noun, but all names are lowercase snake_case and semantically intuitive, making the set predictable overall.

Tool Count5/5

Five tools is ideal for a focused read-only database. The set covers discovery, single lookup, batch lookup, and deep record retrieval without unnecessary redundancy or bloat.

Completeness5/5

The tool surface fully covers the domain of a hardware EOL database: list_vendors confirms coverage, search_models finds families, lookup_part and bulk_check handle part lookups, and get_family provides comprehensive lifecycle data. No obvious operations are missing for the stated read-only purpose.

Available Tools

5 tools
bulk_checkAInspect

Check up to 200 part numbers in one call (read-only, no auth; for a single part use lookup_part). Returns a per-part row (status, EOSL date, source URL, page URL) plus summary counts: past, endingSoon, supported, active, notFound. Never partial and never destructive: unknown or malformed entries do not fail the call, each simply returns found:false in its row.

ParametersJSON Schema
NameRequiredDescriptionDefault
part_numbersYesPart numbers to check; max 200 after case-insensitive deduplication. Punctuation differences (dashes, dots, spaces) are tolerated by the matcher, so raw inventory strings are fine.
Behavior5/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It covers read-only status, auth requirements, non-destructiveness, and failure semantics ('unknown or malformed entries do not fail the call, each simply returns found:false'). This is exemplary for a tool lacking structured 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/5

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

The description is two sentences, front-loaded with the primary function and constraints, then providing output shape and safety guarantees. Every clause adds value with no filler or repetition.

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 tool with one parameter and no output schema, the description thoroughly covers input limits, per-row output fields, summary counts, error behavior, auth, and safety. It leaves no significant gaps for an agent 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?

Schema coverage is 100%, and the parameter description already explains maxItems, deduplication, and punctuation tolerance. The tool description adds the context of 'up to 200 part numbers' but does not materially enhance the parameter semantics beyond what the schema provides, so the baseline 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 opens with a specific verb and resource: 'Check up to 200 part numbers in one call.' It immediately distinguishes itself from the single-part sibling by explicitly directing users to lookup_part for one part. This clearly identifies the tool's scope and unique role.

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?

Explicit usage context is provided: it is for bulk checking, is read-only with no auth, and the description states 'for a single part use lookup_part,' naming the alternative. This gives the agent clear guidance on when to select this tool over its siblings.

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

get_familyAInspect

Fetch the full source-backed record for one product family by slug (from search_models or lookup_part pageUrl): lifecycle dates per SKU group, every part number, support runway score factors, and the vendor bulletin URLs. Read-only; an unknown slug returns found:false with a hint, never an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesFamily slug, e.g. "cisco-catalyst-3850".
Behavior5/5

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

With no annotations provided, the description carries full burden. It transparently discloses: read-only, unknown slug returns found:false with a hint (never an error), and lists the contents of the response. This is excellent behavioral disclosure for an agent.

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?

Two dense sentences: the first front-loads the purpose and contents, the second adds behavioral guarantees. Every phrase contributes value, with no redundancy or fluff.

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 single-parameter read operation with no output schema, the description fully covers return contents, error handling, and usage context. It is self-sufficient for an agent to select and invoke the tool correctly.

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 schema already provides 100% coverage with a clear example. The description enhances this by explaining the slug's origin (from search_models or lookup_part) and its format, adding meaning beyond the schema's basic type and example.

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 a full source-backed record for one product family by slug, listing specific content (lifecycle dates, part numbers, support runway score factors, vendor bulletin URLs). It differentiates from siblings by specifying the slug comes from search_models or lookup_part pageUrl, making its role as a detail retrieval tool distinct.

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 provides explicit guidance on obtaining the slug from search_models or lookup_part pageUrl, implying a workflow. It also states the read-only nature and error behavior. While it doesn't explicitly say when-not-to-use alternatives, the flow is clear enough to guide the agent.

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

list_vendorsAInspect

List all vendors tracked by EOSL.ai with family counts and vendor page URLs. Read-only, no parameters. Use this first to check whether a vendor is covered at all; for specific models use search_models, for a part number use lookup_part.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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. It states 'Read-only, no parameters,' which discloses the safety and input behavior. It also describes the output contents (family counts and URLs), but does not mention any potential return size or edge cases. Since the tool is simple, this is adequate but not exhaustive.

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 three sentences, each informative: purpose, behavior/parameters, and usage guidance. No filler or repetition. It is well-structured and front-loaded with the primary purpose.

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?

Despite having no annotations and no output schema, the description covers the essential aspects for a zero-parameter read-only list tool: what it does, what it returns, its safety, and when to use it versus alternatives. This is complete for the tool's simplicity.

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 0 parameters, so the schema already covers everything. The description explicitly states 'no parameters,' which confirms the empty schema. The baseline for 0 parameters is 4, and the description adds no additional parameter semantics because there are none to explain.

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 function: 'List all vendors tracked by EOSL.ai with family counts and vendor page URLs.' It uses a specific verb ('List') and resource ('vendors'), and explicitly distinguishes from siblings by saying to use search_models for specific models and lookup_part for part numbers.

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 gives explicit when-to-use guidance: 'Use this first to check whether a vendor is covered at all.' It also names alternatives: 'for specific models use search_models, for a part number use lookup_part,' which clearly indicates when not to use this tool.

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

lookup_partAInspect

Look up one hardware part number or model name in the EOSL.ai database (read-only, no auth; for many parts use bulk_check). Returns support status, End-of-Sale and End-of-Service-Life dates, support runway score, and the primary vendor bulletin URL backing the dates. Matching is exact, then punctuation-insensitive, then Fortinet short-SKU aliases (FG-60E -> FortiGate-60E); a model/family name (e.g. "7010TX-48") that matches no SKU returns the family-level record, flagged matchedVia:family-name. Anything else returns found:false rather than a guessed date.

ParametersJSON Schema
NameRequiredDescriptionDefault
vendorNoOptional vendor hint, e.g. "Cisco". Restricts the match to that vendor.
part_numberYesVendor part number / SKU, e.g. "WS-C3850-48P-S" or "FG-100F".
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it is read-only, requires no auth, explains the matching fallback order, returns a family-level record with matchedVia flag, and returns found:false rather than guessing. This is comprehensive and honest.

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 dense but every sentence serves a purpose. It front-loads the core function, then adds return details and matching rules. No redundant or filler content. The length is justified by the complexity of the matching behavior.

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?

Despite no output schema, the description enumerates the key returned fields (support status, End-of-Sale/End-of-Service-Life dates, runway score, bulletin URL) and explains edge cases like family-name matches and found:false. This is complete for a single-lookup tool and leaves no major ambiguity.

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 100%, so the baseline is 3. However, the description adds substantial meaning beyond the schema by explaining how part_number is matched (exact, punctuation-insensitive, Fortinet aliases, family fallback), which is not present in the schema. This helps users understand what values are acceptable.

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 looks up a single hardware part number or model name in the EOSL.ai database, with a specific verb ('look up') and resource. It also distinguishes from the sibling tool bulk_check by noting 'for many parts use bulk_check', making its single-item scope explicit.

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 tells users when to use this tool (for a single part) and explicitly directs users with many parts to use bulk_check. It also clarifies matching behavior and the family-name fallback, which helps decide if this tool is appropriate vs. alternatives like search_models.

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

search_modelsAInspect

Search tracked product families by vendor, product line, or series name (case-insensitive substring, e.g. "nexus 9300"). Read-only. Returns up to 10 families with status, EOSL window, and page URL. Use this for discovery when you have a name; for an exact part number use lookup_part, and use get_family with a returned slug for the full record.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch text, 1-120 characters.
Behavior5/5

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

No annotations are provided, so the description carries full burden. It discloses that the operation is read-only, returns up to 10 families, includes specific fields (status, EOSL window, page URL), and uses case-insensitive substring matching. This is substantial behavioral disclosure beyond the schema.

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 only two sentences, front-loaded with the purpose, and packs in a concrete example, return limits, result fields, and usage alternatives 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?

For a single-parameter search tool with no annotations or output schema, the description provides all essential context: what it searches, what it returns, how to use it, and how it fits with sibling tools. There are no critical gaps.

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 schema already covers the query parameter with 100% coverage (length constraints). The description adds meaning by specifying search scope (vendor, product line, series name), an example ('nexus 9300'), and matching semantics (case-insensitive substring), which goes beyond the schema's minimal description.

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 function with a specific verb and resource: 'Search tracked product families by vendor, product line, or series name.' It also distinguishes from siblings by explicitly referencing lookup_part and get_family for different use cases.

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 provides explicit guidance: 'Use this for discovery when you have a name; for an exact part number use lookup_part, and use get_family with a returned slug for the full record.' This clearly delineates when to use this tool versus alternatives.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Source-backed hardware end-of-life (EOL/EOSL) lookups by part number for enterprise gear — support status, end-of-sale and end-of-support dates, with the vendor's own bulletin URL on every answer. Unknown parts return found:false, never a guess.
    6
    5
    1
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    Software end-of-life intelligence for AI agents: EOL dates, support timelines and 0-100 upgrade risk scores for 480+ products. Check whether a version is still supported, score its risk, or audit an entire stack.
    5
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Sourced product prices, dated price history, specs and independent-test coverage across 4,764 hardware products and 2,064 software vendors — every figure returned with its source URL and the date it was captured. Unknown values come back as null rather than a guess, so an agent can cite what it surfaces.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources