Skip to main content
Glama

Server Details

Measured readings on open-source dependencies: health, end-of-life, model prices, incidents.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
kaitzyy-dev/sighttrue
GitHub Stars
1

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.2/5 across 7 of 7 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action: single package vs full stack, repository comparison vs search, EOL dates vs provider incidents vs model discovery. No two tools overlap in purpose, and the descriptions make boundaries clear.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: check_*, compare_*, find_*, search_*. The verbs are all imperative and the objects are specific, creating a predictable and uniform naming convention.

Tool Count5/5

With 7 tools, the server is well-scoped for its domain of software health assessment. Each tool addresses a distinct need without redundancy, and the count falls comfortably within the ideal range.

Completeness5/5

The tool set covers the full lifecycle of assessing software dependencies: checking single items, whole stacks, comparing repositories, discovering coverage, and evaluating providers and models. No obvious gaps exist for the server's stated purpose.

Available Tools

8 tools
check_before_installAInspect

Call this before adding a dependency to a project. Returns only the facts a reviewer would be annoyed to discover afterwards: whether the publisher has withdrawn the package, whether it runs scripts on the installing machine, whether its repository is archived, how many advisories are on record, whether the licence is source-available, and how long since it was actually published. Each fact carries the address of the body that published it. It does not say whether to install; it says what is on record so the decision is made knowing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name as the registry spells it.
registryYes
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It enumerates the exact facts returned, notes the provenance of each fact, and explicitly states what it does not do. This is thorough behavioral disclosure.

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 four sentences, front-loaded with the trigger condition and then a dense list of outputs. Every sentence contributes behavioral or usage information without 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 two-parameter tool with no output schema, the description fully explains the return value composition, the context, and the limitation. No critical 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?

The schema already covers the 'name' description and 'registry' enum, with 50% coverage. The description adds no parameter-specific semantics, but the parameters are simple enough that the schema communicates them adequately.

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 the verb 'Call' and clearly states this is a pre-dependency-add check. It lists specific facts returned, distinguishing it from other check tools by scoping to package safety concerns.

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?

Explicitly instructs to call before adding a dependency and clarifies it does not make the install decision, giving when-to-use and a functional limitation. It does not name sibling tools as alternatives, so not a perfect 5.

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

check_eolAInspect

Check whether a runtime, database or framework release is still receiving security fixes, and what to move to. Covers about two dozen products read daily from endoflife.date. Use it before recommending or accepting a version pin: end-of-life dates are published years ahead, so a date held in training data is usually the one thing that has since passed.

ParametersJSON Schema
NameRequiredDescriptionDefault
cycleNoRelease line, e.g. 3.9 or 20. Omit for every cycle of the product.
productYesProduct as endoflife.date spells it, e.g. python, nodejs, postgresql.
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the data source (endoflife.date) and update frequency (read daily), which is useful context. But it does not mention error handling, return shape, or whether it makes a network request, leaving gaps for a tool without an output 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 two sentences, front-loaded with the primary purpose, and the second sentence adds critical usage timing. Every word earns its place; no fluff or repetition.

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 two-parameter tool with no output schema, the description covers the core purpose, usage context, and data freshness limitation. It doesn't explain the response format or error behavior, but the simplicity of the task and the clear purpose make this largely sufficient.

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%, so the baseline is 3. The description provides product examples and cycle format in the schema itself, and the tool description adds general context but no additional parameter-specific semantics beyond what the schema already states.

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 checks whether a runtime, database, or framework release is still receiving security fixes and recommends what to move to. This distinguishes it from sibling tools like check_package or check_provider by focusing on end-of-life dates.

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 to use it before recommending or accepting a version pin and explains why (training data goes stale relative to published EOL dates). However, it does not name alternatives or explicitly state when not to use it, stopping short of full exclusion guidance.

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

check_packageAInspect

Read the current standing of one open-source package: weekly downloads, OpenSSF scorecard, advisory count, licence, whether the repository is archived, and when it was last pushed to. Covers a curated watchlist of around 400 projects; a package that is not covered returns covered:false and is not being judged.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name as the registry spells it.
registryYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It transparently states the coverage limitation and the covered:false return for non-covered packages, which is a key behavioral trait. It also implies a read-only operation through 'Read', and details the return fields. It lacks some behavioral details like rate limits or exact output structure, but for a read tool this is reasonably transparent.

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 long, front-loads the core action, and packs relevant details without fluff. Every sentence adds value, making it an ideal example of conciseness.

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 tool has only two simple parameters, no output schema, and no annotations, the description covers the essential semantics: what data is returned and the coverage caveat. It lacks an explicit return structure or example, but the listed data points give the agent enough context to select and invoke the tool correctly. Minor gaps remain, such as clarifying 'not being judged', but overall it is fairly complete.

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 schema already documents the name parameter (registry spelling) and provides an enum for registry. The description does not add further parameter-level detail, such as example values or validation rules. With 50% schema coverage, the description could have compensated, but it focuses on the data returned rather than parameter usage. This matches the baseline for a simple two-parameter tool.

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 reads the current standing of an open-source package and enumerates specific data points (downloads, scorecard, advisories, licence, archived status, last push). This distinguishes it from sibling tools like search_repositories and compare_repositories, which focus on search and comparison rather than status inspection.

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 clear context for when to use the tool: to read the current standing of a single package. It also implies a limitation (only covers ~400 curated projects), but it does not explicitly name alternatives or give when-not-to-use guidance. This is a clear context without exclusions, warranting a 4.

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

check_providerAInspect

Read a provider's announced incident history — how many they have filed, how recently, and what they called them. Covers about twenty services developers depend on, kept after the providers' own status feeds stop carrying it. A count measures how often they announced something, not how often they broke, so a low number is not a good one.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoWindow. Default 90.
providerNoProvider slug, e.g. cloudflare, openai, github. Omit for every provider.
Behavior4/5

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

With no annotations, the description carries the full burden. It adds important behavioral context: the count tracks announced incidents, not actual breakage, and explicitly warns that a low number is not a good one. This interpretive nuance goes beyond a plain read-operation label.

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 sentences, front-loaded with the main action and resource. The supporting sentences add necessary interpretive context and scope without redundancy or fluff.

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 explains purpose, scope, and data semantics, and implies the return shape (count, recency, titles). It is adequate for a simple two-param read tool, though it could explicitly mention the response format given no output schema exists.

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%, so the baseline is 3. The description adds no parameter-specific detail beyond the schema, which already documents days and provider with defaults and examples.

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: 'Read a provider's announced incident history' and enumerates exactly what it returns (how many, how recently, what they called them). This clearly distinguishes it from sibling tools focusing on EOL, packages, stacks, or repositories.

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 clear context for when to use: it covers ~20 services and is useful after providers' own status feeds stop carrying incidents. It does not explicitly name alternatives or exclusions, but the context is strong enough to guide selection.

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

check_stackAInspect

Read a whole dependency list at once and report what is archived, what carries advisories, what has a source-available licence, and what has not been pushed to in a year. Also returns how the stack medians against the tracked corpus. Use this when reviewing a package.json, requirements.txt or Cargo.toml.

ParametersJSON Schema
NameRequiredDescriptionDefault
namesYesPackage names, up to 100.
registryYes
Behavior4/5

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

With no annotations, the description carries the burden. It clearly states the tool is read-only ('Read') and enumerates the categories of information it reports. It does not detail edge cases or exact return structure, but for a read-only analysis tool, it discloses essential behavior. The phrase 'stack medians against the tracked corpus' is slightly cryptic but still informative.

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 sentences, no fluff. The first sentence front-loads the action and outputs, and the second provides usage context. Every word earns its place, achieving high information density.

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 two-parameter read tool with no output schema, the description adequately covers purpose, usage, and expected outputs. It lacks a detailed return format, but the listing of report categories gives a solid understanding. Minor gaps like error handling are not critical for this 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 schema covers 'names' (with limit) and 'registry' via enum. The description adds meaning by linking registry values to file types (package.json, requirements.txt, Cargo.toml), which maps to npm, pypi, and crates. It also implies 'names' is the dependency list, enhancing the schema's minimal coverage.

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 reads a whole dependency list and reports specific metrics: archived, advisories, source-available licence, last push, and stack median. It distinguishes itself from siblings by focusing on stack-level review, not individual packages, and explicitly mentions use cases like package.json.

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?

Provides explicit context: 'Use this when reviewing a package.json, requirements.txt or Cargo.toml.' This tells the agent when to use the tool, though it doesn't name alternative tools or exclusion criteria. The context is clear enough to guide selection.

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

compare_repositoriesAInspect

Hold two watched repositories against each other across downloads, OpenSSF scorecard, advisories, forks, stars and findings on record. Compares only; it does not rank, and nothing is totalled across measures that share no unit.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesRepository as owner/name.
bYesRepository as owner/name.
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It adds valuable behavioral context by explicitly stating what the tool does not do: it does not rank and does not total across measures with different units. This helps set expectations, though it omits details like output format or error handling.

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: the first states the action and scope, the second clarifies limitations. Every word earns its place, and the structure front-loads the core purpose.

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 tool is relatively simple (2 params, no nested objects) and the description covers purpose, scope, and limitations. However, because there is no output schema, the description does not clarify what the comparison result looks like or how to interpret it, leaving a minor gap in completeness.

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 schema already fully describes both parameters as 'Repository as owner/name.' The description adds only the term 'watched repositories,' which implies a domain constraint but does not meaningfully enhance the parameter semantics beyond the schema's coverage.

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 ('Hold two watched repositories against each other') and enumerates the exact comparison dimensions (downloads, OpenSSF scorecard, advisories, forks, stars, findings). This distinguishes it from sibling tools that check, search, or find rather than compare.

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 clearly implies when to use the tool: when you need to compare two watched repositories across the listed metrics. However, it does not explicitly mention alternatives or exclusion criteria (e.g., when to prefer check_* or search_* tools), so it falls short of a 5.

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

find_modelAInspect

Find language models by price and context window, from a catalogue read daily across sixty providers. Use this before choosing a model: prices move weekly and span four orders of magnitude, and no dated record of them exists anywhere else, so a model chosen from memory is usually chosen on a price that has since changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoprice-per-context is cost per million divided by hundred-thousands of window — the right ordering when the job needs the window, and published nowhere else.
limitNo
maxPriceNoMaximum USD per million prompt tokens.
providerNoRestrict to one provider, e.g. anthropic.
minContextNoMinimum context window in tokens.
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It adds useful context about daily catalogue refresh and the absence of other dated records, but does not detail output format, pagination, or any access restrictions. This is adequate for a read-oriented tool but not comprehensive.

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 sentences with no wasted words: the first delivers purpose and scope, the second provides a persuasive usage rationale. Information is front-loaded and every clause earns its place.

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 five optional parameters and no output schema, the description explains the function, when to use it, and the data source. It could hint at return structure, but the tool's straightforward nature and strong schema coverage make it sufficiently complete.

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 80% with descriptions for most parameters, but the description enhances the 'price-per-context' sort option with a clear explanation of its formula and unique value, going beyond the schema. It also reinforces the two key filters (price, context) in the overall 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 'finds language models by price and context window', with the specific scope of a catalogue of sixty providers. This distinguishes it from sibling tools like check_provider or search_repositories, providing a precise verb and resource.

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 instructs 'Use this before choosing a model' and explains why (prices move weekly, no dated record elsewhere). It provides a clear when-to-use directive, though it does not mention exclusions or alternative tools.

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

search_repositoriesAInspect

Find watched repositories whose name contains a string, with their current readings. Use it to discover what is covered before calling the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
Behavior3/5

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

With no annotations, the description carries the burden for behavioral disclosure. It implies a read-only action via 'Find' and mentions returning 'current readings,' but it does not explicitly state that it has no side effects, mention any auth requirements, or describe the return format beyond the phrase. This is adequate for a search tool but lacks explicit safety confirmation.

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 redundant or filler content. It front-loads the core purpose and adds a usage hint in the second sentence. Every word contributes 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 two parameters and no output schema, the description covers the main purpose and provides guidance on when to use it. However, it omits any description of the 'limit' parameter and does not elaborate on what 'current readings' means or what the response contains, leaving minor gaps. Given the tool's simplicity and the clear usage context, it is mostly complete.

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 0%, so the description must compensate. It does explain the 'query' parameter implicitly by stating the search is by name, but it says nothing about the 'limit' parameter. The schema provides type and bounds for limit, but not its semantics, leaving a gap. The description adds some value but is incomplete.

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 action ('Find'), the resource ('watched repositories'), the filter ('whose name contains a string'), and the result ('with their current readings'). It also positions the tool relative to siblings by saying it is for discovery before calling other tools, making it distinct from check_* and compare operations.

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 advises using this tool 'to discover what is covered before calling the other tools,' providing clear context for when to use it. It does not, however, name specific alternative tools or mention when not to use it, so it falls short of a full exclusion/alternative guide.

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

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.