Skip to main content
Glama

databutler-software-eol

Server Details

Is this version still supported? End-of-life dates for 14 runtimes and operating systems.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.8/5.0

Scored across 2 tools

Disambiguation4/5

support_status is a point lookup for a specific version/product, while support_timeline enumerates every release cycle of a product — the boundaries are clear. They do return heavily overlapping fields (supported flag, eol date, LTS status, latest release), so an agent could occasionally pick the timeline when it only needs one version's status.

Naming Consistency5/5

Both names use a consistent snake_case pattern with a shared 'support_' prefix and a clear noun suffix (status, timeline). The convention is predictable and directly reflects each tool's scope.

Tool Count4/5

Two tools is thin in absolute terms, but the server's domain (end-of-life lookups over a fixed product list) is narrow, and the pair cleanly splits single-version queries from product-wide timelines. No tool feels redundant or bolted on.

Completeness4/5

The surface covers the core use cases: resolve an arbitrary version string to its cycle status, and list all cycles for a product. Minor gaps exist — no tool to enumerate supported products/cycles globally or to batch-check many versions at once, though the descriptions enumerate products inline.

Available Tools

2 tools
support_statusSoftware support statusA
Read-onlyIdempotent
Inspect

Whether a version of nodejs, python, ubuntu, debian, android, ios, macos, windows, oracle-jdk, go, ruby, php, postgresql, react is still supported, from a monthly snapshot of endoflife.date (340 release cycles, verified 2026-10-03). A version string resolves to its release cycle ("18", "18.19.0" and "v18" → Node.js 18; "3.11.4" → Python 3.11; "22.04.3" → Ubuntu 22.04; "bookworm" → Debian 12; "1.8.0_392" → Java 8; "11-24h2-w" → Windows 11 24H2 consumer). Returns supported true|false as of today, the eol date, days remaining or since end of life, active-support and extended-support end dates, LTS status, the latest release in the cycle, the newest supported (LTS) cycle, a plain-statement recommendation, and the endoflife.date page as source. "java" and "jdk" resolve to oracle-jdk; a version that fits several Windows editions comes back as candidates with each one's status; unknown products and versions answer with the nearest matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesone of nodejs, python, ubuntu, debian, android, ios, macos, windows, oracle-jdk, go, ruby, php, postgresql, react (aliases: node, java, jdk, postgres, golang, osx, win)
versionYesa cycle ("18", "3.11", "22.04"), a full release ("18.19.0", "3.11.4"), a codename ("bookworm", "sonoma") or a Windows cycle id ("11-24h2-w")

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses the data provenance (monthly endoflife.date snapshot, 340 release cycles, verified 2026-10-03) and the exact ambiguity behavior ('candidates' for multi-edition Windows, 'nearest matches' for unknown input). That is substantive behavioral context for a no-output-schema tool.

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

Conciseness4/5

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

Front-loaded with the core purpose, then dense but useful resolution and return detail in two long sentences. Slightly heavy on parenthetical examples, but nearly every clause carries information an agent needs.

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?

With no output schema, the description correctly enumerates the return payload (supported flag, eol date, days remaining, active/extended support, LTS, latest release, recommendation, source URL) and covers edge cases. The one gap is that it never positions itself against support_timeline.

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, but the description adds real meaning by showing how a version string resolves to a cycle ('18.19.0' and 'v18' → Node 18; '1.8.0_392' → Java 8; '11-24h2-w' → Windows 11 24H2 consumer), which the schema does not explain.

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?

States a specific question ('whether a version of nodejs, python, ... is still supported') with an enumerated resource set and concrete resolution examples. It does not, however, differentiate itself from the sibling support_timeline, so an agent must infer the boundary between 'status now' and 'timeline'.

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

Usage Guidelines3/5

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

Usage is implied by the phrasing 'as of today', which suggests a point-in-time status check, but there is no explicit when-to-use, when-not-to-use, or named alternative (support_timeline). The alias and nearest-match notes help invocation but not tool selection.

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

support_timelineSoftware support timelineB
Read-onlyIdempotent
Inspect

Every release cycle of one of nodejs, python, ubuntu, debian, android, ios, macos, windows, oracle-jdk, go, ruby, php, postgresql, react, newest first, each with release date, supported true|false as of today, eol date, LTS status, latest release and active/extended-support end dates, plus the list of currently supported cycles and the newest supported LTS. From the same monthly endoflife.date snapshot as support_status, with the product page as source.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesone of nodejs, python, ubuntu, debian, android, ios, macos, windows, oracle-jdk, go, ruby, php, postgresql, react (aliases accepted, e.g. node, java, postgres)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already establish the safe read-only, idempotent, non-destructive profile, so the description's job is to add beyond that — and it does: the monthly snapshot provenance, 'as of today' staleness caveat for supported true|false, newest-first ordering, and the product page as source. It does not cover pagination or rate limits, but for a snapshot-backed read tool this is solid added context.

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

Conciseness3/5

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

The description is one long, list-heavy sentence that front-loads the resource but then re-enumerates all 14 product names already present in the schema. That redundancy costs space without adding information, though the return-field inventory is useful and nothing is padded with filler prose.

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?

With no output schema, the description carries the burden of describing return values and does so thoroughly, listing release dates, EOL, LTS status, support windows, and the supported-cycle list. The one real gap is routing guidance relative to support_status, which keeps it from a 5.

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 single parameter already documents the accepted values and aliases (node, java, postgres), all of which the description repeats. It adds no new syntax or format meaning beyond the schema, 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 names a concrete resource (every release cycle of a named product) and enumerates the exact fields returned, so an agent knows precisely what comes back. It references the sibling support_status only to note a shared data source, not to differentiate the two tools' purposes. Clear, but sibling differentiation is weak.

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?

There is no statement of when to call this versus support_status, which the description itself acknowledges exists. The mention of the shared monthly endoflife.date snapshot implies a relationship but leaves the selection decision entirely to inference. No prerequisites or exclusions are given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedsupport_status
    • First observedsupport_timeline

Related MCP Connectors

Related MCP Servers

  • 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
    16 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying software product release and support timelines, including EOL dates, active-support end, latest patch, and LTS status for products or specific versions.
    330 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables checking project files like Dockerfile, .nvmrc, and CI workflows to determine whether pinned runtime, database, and OS versions are still supported, providing end-of-life dates, latest patches, and upgrade targets for 470+ products.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to check software end-of-life dates and support status using the endoflife.date API, providing accurate information on software lifecycle, security status, and upgrade recommendations in real-time.
    5
    8
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources