Sighttrue
Server Details
Measured readings on open-source dependencies: health, end-of-life, model prices, incidents.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- kaitzyy-dev/sighttrue
- GitHub Stars
- 1
TDQS
Scored across 31 tools
Each tool targets a distinct query type: package status, stack review, provider incidents, model pricing, watchlist changes, etc. Even similar-sounding tools like check_package and check_stack are clearly differentiated by granularity (single package vs. whole manifest). The descriptions further remove ambiguity.
All names use lowercase snake_case, but the pattern is mixed: some are imperative verb_noun (check_package, find_model, watch_add) while many are noun phrases (advisory_severity, provider_incidents, runtime_deadlines). This is readable but not a consistent verb_noun style, so there is noticeable inconsistency.
At 31 tools, the count exceeds the 'too many' threshold (25+). While the domain is broad, the agent must navigate a large surface with many similarly scoped utilities, making selection harder. A more consolidated set (e.g., grouping related readings) would improve appropriateness.
The tool surface covers a wide range of supply-chain intelligence: package advisories, provider status, model pricing, runtime EOL, and watchlist changes. The only notable gap is lifecycle management for the private watchlist (e.g., no watch_remove or watch_list), but the overall coverage is strong.
Available Tools
31 toolsadvisory_severityCInspect
Advisories broken down by severity rather than counted, with identifiers and dates. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral transparency. It discloses the authentication requirement and mentions output includes identifiers and dates, but it doesn't explain error behavior, rate limits, or the exact nature of the severity breakdown. Basic context is present, but significant behavioral details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core purpose and immediately stating the key requirement. It is concise with no redundant content, though the phrasing 'rather than counted' could be clearer in context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and only partial parameter descriptions, the description doesn't fully convey what a severity breakdown looks like, valid values for 'registry', or the returned object structure. It gives a high-level idea but leaves many operational details undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'name' as 'Package name as the registry spells it' but provides no description for 'registry'. Schema coverage is 50%, and the tool description does not compensate by clarifying either parameter or their relationship. The meaning of 'registry' is left ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool retrieves advisories broken down by severity, with identifiers and dates, and distinguishes it from a simple count ('rather than counted'). However, the verb is implicit and it doesn't explicitly say 'get' or 'list', so it's clear but not maximally specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'Requires a key' as a prerequisite but gives no guidance on when to use this tool versus sibling tools like advisory-related checks, nor does it name alternatives or exclusions. The phrase 'rather than counted' hints at a distinction but doesn't provide actionable usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_manifestAInspect
Read a whole manifest and return every reading on record for it, ordered by how much a reviewer would want to know. One call instead of one per dependency. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | ||
| manifest | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the read-only nature ('Read') and mentions the key requirement, but does not address potential errors, rate limits, or output structure. Given it's a read operation, it provides moderate context but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences deliver the purpose, the efficiency benefit, and the key requirement. No fluff or repeated schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a high-level overview but lacks param disambiguation and return format details. For a simple aggregate tool, it's adequate, but the vague 'ordered by how much a reviewer would want to know' and missing parameter explanations leave gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does not clarify the difference between 'filename' and 'manifest', which one is expected, or the format. The only hints are 'whole manifest' and the required 'manifest' field, leaving the optional 'filename' unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's action: 'Read a whole manifest and return every reading on record for it.' It distinguishes itself from sibling tools by noting 'One call instead of one per dependency,' signaling an aggregate bulk operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'One call instead of one per dependency' implies this tool is for whole-manifest auditing versus per-dependency checks, providing clear context for when to use it. However, it does not explicitly name alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
base_image_checkAInspect
For a container base image: its size, when it was last rebuilt, and whether the OS underneath it is still supported. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| image | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the need for an API key and the specific data points returned, but does not mention potential error conditions, network behavior, or how OS support is determined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff; the first sentence front-loads the core functionality, the second adds the authentication requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema and no annotations, the description covers the main purpose and one prerequisite, but omits guidance on return value details or edge cases, making it minimally sufficient rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only a parameter name 'image' with no description. The tool description adds that it refers to a container base image, giving the parameter context, but does not specify expected format (e.g., tag, digest) or provide examples, so meaning is still limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides size, last rebuild date, and OS support status for a container base image. This distinguishes it from sibling tools focused on packages, providers, and EOL checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for inspecting base image details but does not explicitly compare to alternatives such as check_eol, which may overlap on OS support. The only usage condition mentioned is the requirement for a key, which is a prerequisite rather than a selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_before_installAInspect
Call this before adding a dependency. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so richly. It lists six specific fact categories, notes that each fact includes the publisher's address, and clarifies the tool's non-prescriptive nature. This goes well beyond basic read/write disclosure and gives the agent a clear mental model of the response shape and scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with an imperative action. The long enumeration of facts is dense but organized, and the final sentence adds useful boundary information. Every sentence earns its place without redundant fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description fully compensates by detailing exactly what the tool returns (six specific facts, each with issuer address) and what it does not say. It supplies enough context for an agent to decide when to call it and what to expect, making it complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (name is described, registry is not). The description does not explicitly explain the 'registry' parameter or add format details. It provides context about packages and dependencies, but the parameters themselves are not elaborated beyond what the schema already states for 'name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to be called before adding a dependency. It enumerates the specific facts returned (withdrawn, scripts, archived, advisories, licence, publish age) and explicitly says 'It does not say whether to install', distinguishing it from a recommendation tool. This differentiates it from sibling tools like check_package or check_provider by focusing on pre-install reviewer concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear trigger ('Call this before adding a dependency') and explains what the tool does not do ('does not say whether to install'). However, it does not name alternative tools or explicitly state when not to use it, so it lacks explicit exclusions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cycle | No | Release line, e.g. 3.9 or 20. Omit for every cycle. | |
| product | Yes | Product as endoflife.date spells it, e.g. python, nodejs, postgresql. |
TDQS
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 discloses that data is read daily from endoflife.date and covers about two dozen products, which indicates freshness and scope limits, but it does not mention return format, error behavior, or what happens for unsupported products. This is a minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose and then add a clarifying scope note. Every sentence earns its place, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool, the description covers purpose and scope, but it lacks explicit information about the output structure (e.g., whether it returns dates, flags, and migration target). Since there is no output schema, the description should have specified the return format or response behavior, making this a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides full descriptions for both parameters (product as endoflife.date spelling, cycle as release line). The tool description adds no extra parameter semantics 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.
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 still receives security fixes and suggests migration targets. It uses a specific verb ('Check') and resource type, and distinguishes itself from sibling tools like check_package or check_before_install by focusing on end-of-life security status and migration guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking EOL status but does not explicitly state when to use it over alternatives such as runtime_deadlines or check_before_install. It gives scope context (covers about two dozen products) but lacks exclusions or alternative tool recommendations, so guidance is only implied.
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: downloads with the window they cover, OpenSSF scorecard, advisory count, licence, whether the repository is archived, and when it was last pushed to.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It explicitly labels the operation as 'Read' and specifies the return fields, which is good. However, it lacks details on error handling, rate limits, or registry/package existence behavior, and does not mention any side effects (though read-only intent is clear).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded with the action and resource, then lists data points in a structured list. Every phrase adds value and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the return data comprehensively for a read-only snapshot tool, but it omits parameter semantics for 'registry' and error case behavior. Given the lack of annotations and output schema, some gaps remain, though the core purpose is adequately specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 'name' but not 'registry' (50% coverage). The description does not explain what registry values are acceptable or provide examples, leaving the agent to guess. It neither reinforces nor adds meaning to the parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 one open-source package and enumerates specific data points (downloads, scorecard, advisories, licence, archived status, last push). This distinguishes it from sibling tools that focus on a single aspect (e.g., advisory_severity, package_weight_history).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a snapshot of overall package health is needed, but it does not explicitly name alternatives or exclusion criteria. The context is unambiguous—'current standing'—yet no when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_providerAInspect
Recorded incidents for a hosting or API provider over a window, kept after the provider’s own status page dropped them.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| provider | No | Provider slug, e.g. cloudflare, openai, github. Omit for every provider. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals a notable data-retention behavior (incidents kept even after the status page drops them) and implies a read-only operation via 'Recorded'. However, it does not describe response shape, pagination, or any prerequisites, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core purpose and a key differentiator. Every word contributes value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (two optional parameters, no output schema), the description is reasonably complete for initial selection. However, without an output schema, it leaves the return format unspecified—only mentioning 'Recorded incidents'—and does not address potential edge cases like empty results or provider limitations. More detail on the output structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for 'provider' but not for 'days' (50% coverage). The description hints at the meaning of 'days' through 'over a window' and clarifies the provider scope as 'hosting or API provider', but it does not name parameters explicitly or explain the day window format. This partially compensates for the schema gap without fully resolving it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool provides recorded incidents for a hosting/API provider over a time window. Although it uses a noun phrase rather than an explicit verb like 'get' or 'list', it effectively communicates the action and scope, and the detail about incidents outliving the provider's status page distinguishes it from a live status checker.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for historical incident data ('kept after the provider’s own status page dropped them') but does not explicitly mention when to use this tool versus alternatives like provider_incidents. There is no direct comparison to sibling tools or exclusions, so usage context is present but not fully explicit.
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. Use when reviewing a package.json, requirements.txt, Cargo.toml, composer.json or Gemfile.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | ||
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description leads with 'Read', implying a read-only operation, and detailed what it reports on (archived, advisories, source-available licenses, stale repos). However, with no annotations provided, it does not disclose any side effects, authentication requirements, rate limits, or behavior for large lists. The description carries the full burden but only partially satisfies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundancy. The first sentence precisely states the action and outputs; the second gives the usage context. Every word earns its place, making it a model of concise, front-loaded documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description does explain the return categories (archived, advisories, license, staleness). It also covers the use case and the type of input. However, it does not specify the format or acceptable values for the 'registry' parameter, and it omits any mention of error handling or prerequisites, leaving minor gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It maps 'names' to 'a whole dependency list' and implies registry via the mention of package manifests (npm, PyPI, Cargo, Composer, Gemfile), but it never explicitly defines what the 'registry' parameter should contain (e.g., name, URL, ecosystem). The description is ambiguous about the exact values expected for 'registry'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' and identifies the exact resource: a whole dependency list. It lists four specific outputs: archived state, advisories, source-available license, and stale (not pushed in a year). This clearly distinguishes it from sibling tools like 'check_package' (single package) and 'audit_manifest'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states 'Use when reviewing a package.json, requirements.txt, Cargo.toml, composer.json or Gemfile.' This gives concrete context for when to use the tool, though it does not explicitly mention alternatives or when not to use it. Still, the use case is clear and actionable.
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 pick a winner.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Repository as owner/name. | |
| b | Yes | Repository as owner/name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It states 'Compares only' which implies a read-only, non-mutating operation, and 'does not pick a winner' clarifies that no decision is made. It also mentions the prerequisite of 'watched repositories'. While it does not describe permissions, side effects, or rate limits, the stated constraints provide meaningful transparency beyond a simple name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 a key limitation. It is front-loaded with the core purpose and uses no unnecessary words, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple (two parameters, no output schema), and the description provides enough context for an agent to invoke it: it lists the comparison dimensions, the prerequisite of watched repositories, and the limitation of not choosing a winner. It does not describe the output format, but given the low complexity and full schema coverage, the description is sufficiently complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes both parameters (a and b) as 'Repository as owner/name.' with 100% coverage. The description adds no additional parameter detail, so the baseline of 3 applies because the schema already handles parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to compare two repositories across specific metrics (downloads, OpenSSF scorecard, advisories, forks, stars, findings). The verb 'Hold... against each other' is specific and the resource ('watched repositories') is defined. It also distinguishes itself by noting it does not pick a winner, which is a clear scope limitation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when you have two watched repositories and want to compare them across the listed metrics. The phrase 'watched repositories' sets a prerequisite, and 'Compares only; it does not pick a winner' tells the agent not to expect a recommendation. However, it does not explicitly name alternative tools or exclusions, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_sinceAInspect
What changed for a set of packages since a given date, read from the daily archive. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes | ||
| since | Yes | YYYY-MM-DD. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add context by indicating the operation is 'read from the daily archive' (suggesting read-only) and that a key is required, but it does not describe return format, error behavior, or what counts as a change. This is moderate disclosure, not exceptionally rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core purpose and adds a necessary link for key requirements. There is no redundancy or unnecessary detail, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two parameters, but it has no output schema and no annotations. The description explains purpose and authentication but does not describe the return value or potential pitfalls. For an agent to correctly use the tool, the input semantics are reasonably clear from the schema and description, yet the missing output details leave a gap, so this is only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (only 'since' is described in the schema). The description partially compensates by mapping 'a set of packages' to the 'names' parameter and 'since a given date' to 'since', but it does not clarify the format of package names or behavior for edge cases like empty arrays. It adds some meaningful context but does not fully close the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('What changed') and resource ('a set of packages', 'since a given date'), and adds the data source ('daily archive'). It distinguishes from sibling tools by focusing on historical diff for multiple packages, but does not explicitly name alternatives, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (comparing package states over time) and mentions a prerequisite ('Requires a key'), but it does not provide guidance on when to use this tool versus alternatives like watch_changes or check_package, nor does it state exclusions. This matches 'implied usage' rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
domain_riskCInspect
Whether the domains a package points at — homepage, funding, documentation — still resolve to a registered owner. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions the API key requirement but doesn't describe the output format, the meaning of 'registered owner', or behavior on invalid packages. This leaves significant gaps for a tool that likely performs network lookups.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that effectively fronts the main functionality and then adds the prerequisite. It avoids redundancy and is structurally clear, earning a perfect score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple, but the description omits key context like the return value or how to interpret the result, especially since no output schema exists. It also doesn't address failure modes or what happens if the key is invalid. This makes the description less complete than needed for confident use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers only 50% of parameters (only 'name' has a description), and the description does not compensate. It fails to explain the 'registry' parameter or how the domains to check are determined. The description adds little to the structured schema information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: checking whether a package's associated domains (homepage, funding, documentation) resolve to a registered owner. It uses a specific verb and resource, making the purpose clear. However, it doesn't explicitly distinguish it from sibling tools, so it falls short of a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 only mentions an API key requirement, which is a prerequisite but not a usage scenario. No sibling alternatives are referenced or excluded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_findingAInspect
Given a finding id, return what was measured, when, by whom, and the address it can be checked at. For an agent quoting a figure into a review. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the need for an API key ('Requires a key; see https://sighttrue.com/pricing') and specifies the kind of information returned. It does not mention side effects or error behavior, but for a simple read-style tool this is adequate behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence states the primary purpose, the second sentence adds the use case and auth requirement. Every sentence earns its place, and there is no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description does a good job: it explains what the tool does, when to use it, what it returns, and the auth requirement. It lacks details on failure modes or exact output formatting, but these are less critical for a straightforward lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only defines 'id' as a string with no description, and schema coverage is 0%. The description compensates by clarifying that the id is a 'finding id', giving it semantic meaning beyond the raw type. However, it does not elaborate on the format or source of the id, so it only partially compensates for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 ('return') and resource ('what was measured, when, by whom, and the address'), and distinguishes it from siblings by focusing on explaining a single finding. It also names the input ('finding id'), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'For an agent quoting a figure into a review.' This tells when to use the tool, but it does not mention alternatives or when not to use it, so it falls short of full explicit distinction from sibling tools.
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 without announcement and training data is out of date on the day it ships.
| Name | Required | Description | Default |
|---|---|---|---|
| maxPrice | No | Maximum USD per million prompt tokens. | |
| provider | No | ||
| minContext | No | Minimum context window in tokens. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool reads a catalogue updated daily across sixty providers, implying a read-only operation and adding freshness context. It does not elaborate on output format or edge cases, but the key behavioral traits are conveyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, followed by practical usage guidance. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter filter tool with no output schema and no annotations, the description covers purpose, usage timing, and data freshness. It lacks details on return format or provider semantics, but these are not critical for basic selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents maxPrice and minContext with descriptions. The description reinforces 'by price and context window' but does not explain the provider parameter, which lacks a schema description. Overall, the description adds marginal value beyond the schema for two of three parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Find language models by price and context window', which is a specific verb+resource with a clear scope ('catalogue read daily across sixty providers'). This distinguishes it from sibling tools like model_price_history or check_provider, which focus on historical prices or provider status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage context: 'Use this before choosing a model' and provides a rationale ('prices move without announcement and training data is out of date on the day it ships'). It does not explicitly mention alternatives or when not to use it, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
funding_gapCInspect
Packages that ask for funding, beside how heavily they are installed and how many people write them. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It does disclose the need for a key and points to a pricing URL, which is a useful prerequisite. However, it does not state whether the tool is read-only, what the output contains, or any other behavioral aspects beyond the auth requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) and wastes little space, but the first sentence is grammatically awkward (e.g., 'beside' likely means 'besides') and unclear. The auth note is useful but could be better integrated. Overall, it is concise but poorly structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, no annotations, and only one undocumented parameter, the description needed to explain the tool's purpose, output, and parameter semantics thoroughly. It only provides a vague purpose and an auth note, leaving major gaps in understanding what the tool returns and how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional integer 'limit' with 0% description coverage, and the tool description does not mention this parameter at all. The agent has no insight into what 'limit' controls, such as maximum number of results, so the description fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Packages that ask for funding, beside how heavily they are installed and how many people write them,' which gives a vague sense that the tool relates to funding and package popularity metrics, but it lacks a clear verb like 'list' or 'find,' making the action ambiguous. It also does not differentiate this tool from the many sibling package-analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The only additional note is 'Requires a key; see https://sighttrue.com/pricing,' which informs about authentication but not about usage context or when to prefer this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
help_availabilityBInspect
For a technology tag: questions asked against questions answered, over time. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only mentions the key requirement and the pricing URL. It does not disclose whether the operation is read-only, what the response format looks like, whether there are rate limits, or how time is handled. This is minimal transparency for a data-querying tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately conveys the core purpose, followed by a necessary authentication caveat and URL. Every part is informative, and there is no wasteful language. The structure is ideal for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is adequate but leaves notable gaps. It does not explain what 'over time' means in terms of granularity or time range, nor what output shape to expect. These gaps could complicate correct invocation, but the simplicity of the tool mitigates the severity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage for the 'tag' parameter, so the description must compensate. The phrase 'For a technology tag' gives the parameter semantic meaning, clarifying that the tag is a technology-related label. However, it does not provide examples, allowed formats, or constraints, leaving ambiguity about acceptable input values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: for a technology tag, it compares questions asked vs questions answered over time. This is specific and differentiates from sibling tools that focus on packages, security, and other metrics. However, it lacks an explicit verb (e.g., 'fetch' or 'calculate') and is somewhat nominal, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 its siblings. The only contextual hint is 'Requires a key; see https://sighttrue.com/pricing,' which addresses prerequisites but not selection criteria. There is no mention of alternatives, exclusions, or the specific scenario for which this tool is best suited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_readingsAInspect
List every reading this server can return, what each one measures, and which require a key. Call this first if unsure which tool answers a question.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals that the tool lists available readings and notes key requirements, implying a read-only scope. However, it does not mention return format, pagination, or whether the listing itself requires authentication, leaving some behavioral aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundancy. The opening verb 'List' immediately conveys the action, and the second sentence adds practical usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with no output schema, the description includes the core elements: what it lists (all readings), what details it provides (measures and key requirements), and when to use it. This is complete for the tool's simple, meta purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline for this dimension is 4. The description appropriately omits parameter details, as the schema already confirms no parameters and coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'List' and resource 'every reading this server can return', along with what each measures and key requirements. This clearly distinguishes it from sibling tools that focus on individual readings or analysis, establishing its role as a comprehensive index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs 'Call this first if unsure which tool answers a question', providing a clear when-to-use scenario. However, it does not list exclusions or name alternative tools, so it lacks the full 'when-not/alternatives' specificity for a top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_price_historyCInspect
Every recorded price for a model, with the date each was read. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
由于没有注释,描述承担了披露行为的全部责任。它提到了认证要求(密钥),但未说明该操作是否只读、是否具有副作用或返回数据的任何限制。缺少关于键如何传递或潜在速率限制的信息。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述由两句话组成,没有冗余词。第一句概括功能,第二句提供关键前提条件,非常高效。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
该工具简单(一个参数),但描述未说明返回数据的形式或密钥如何通过MCP提供。尽管目的明确,但缺乏足够的操作细节(如输出结构或错误场景)。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
模式对参数'model'没有任何描述,覆盖率0%。描述仅说'for a model',这重复了参数名称,未解释模型是ID、名称还是其他标识符。描述没有增加任何有意义的语义。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述准确说明了工具返回的内容:模型的价格历史及读取日期。但缺少明确动词(如'获取'或'列出'),且未与兄弟工具如package_weight_history明确区分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
描述仅指出需要密钥,并链接到定价页面,但未说明何时应使用此工具而不是其他工具(如list_readings或find_model)。没有提供使用上下文或替代方案的建议。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
model_withdrawnAInspect
Models that were in the catalogue and no longer are, with the date last seen. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a behavioral requirement ('Requires a key') and hints at output content ('with the date last seen'). However, it does not explicitly state that the operation is read-only or mention any rate limits or output size limitations. This is adequate for a simple lookup but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that states the core purpose and the key requirement. It is front-loaded with the main content and contains no redundant or filler text. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description covers the essential aspects: what data is returned (withdrawn models and their last-seen date) and the access requirement. It could improve by explicitly noting the output format or contrasting with similar sibling tools, but the low complexity makes this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description adds no parameter-specific semantics (there are none), but it does define what the tool returns, which indirectly clarifies that no input parameters are needed. The schema coverage is 100% (empty properties), so no gap exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as models no longer in the catalogue and specifies that the date last seen is included. It lacks an explicit verb like 'lists' or 'returns,' but the intent is unambiguous. It also distinguishes from the sibling 'withdrawn_but_installed' by focusing on catalogue status rather than local installation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as 'withdrawn_but_installed' or 'find_model.' The only additional information is the requirement for a key, which is a prerequisite rather than a usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
package_weight_historyBInspect
How the published artefact size has moved over time. Returns the readings taken, not a verdict. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses an authentication requirement ('Requires a key') and clarifies the output type ('readings, not a verdict'). It does not explicitly state read-only behavior or other side effects, but the nature of a history tool and the mention of a key provide some transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with front-loaded information: what it does, what it returns, and an auth hint. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 2 params and no output schema, but the description covers the core purpose and a key requirement. It lacks details about the reading format, time range, or units, which would be helpful for an agent deciding whether to call it, though the low complexity keeps it acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (name has a description, registry does not). The description does not add any parameter details, leaving the registry field without explicit meaning. The description could have explained the purpose of registry and name in context, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: it shows how published artefact size has moved over time. This is a specific resource (package size) and distinguishes it from verdict-oriented tools, though it does not explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when you want raw readings rather than a verdict, and it notes a key is required. It does not explicitly state when to use this versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_incidentsBInspect
A provider’s recorded incidents, grouped by the component that failed, over the whole archive rather than the window its status page shows. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key requirement, grouping, and archive-wide scope, but lacks details on return format, pagination, error handling, or what 'requires a key' entails beyond a link. Adds some context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tight sentence followed by a helpful link. It is front-loaded with the core concept and contains no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers the main purpose, scope, grouping, and authentication prerequisite. It could add details on the response shape or parameter format, but overall it is sufficiently complete for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain the 'provider' parameter beyond using the word 'provider's'. It does not clarify whether this is a name, ID, or URL, nor provide examples or format details. The description fails to compensate for the schema's lack of semantic info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a provider's recorded incidents grouped by failed component, over the full archive. It differentiates from status-page window scope, though the verb is implicit ('records' vs 'list') and it doesn't explicitly name sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need incidents across the whole archive rather than the status page window. It does not mention alternatives or explicit exclusions, but the scope distinction provides useful context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_terms_changedCInspect
When a provider last changed its terms or pricing page, from a stored fingerprint of the page. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds context about requiring a key and using a stored fingerprint, which is useful. However, it does not mention side effects, return format, or behavior if the fingerprint is missing or the key is invalid, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences. It is front-loaded with the main purpose, followed by a prerequisite note. However, it could be more structured, and the first sentence is grammatically awkward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and no output schema, the description is incomplete. It does not explain what the provider parameter is for, whether it is required, or what the return value looks like. The only contextual addition is the key requirement, but that alone is insufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the 'provider' parameter at all. The schema only says it is an optional string, but the description neither clarifies its purpose nor how it should be used. This is a complete lack of parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly indicates the tool reports when a provider last changed its terms or pricing page, based on a stored fingerprint. This is specific enough to distinguish it from siblings like provider_incidents or provider_transparency, though the phrasing is slightly awkward.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 only mentions a required key, which is a prerequisite but not a usage guideline. No exclusions or alternative tools are referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_transparencyCInspect
How long a provider takes to acknowledge an incident: the interval between an incident starting and its first public update. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the authentication requirement ('Requires a key') and the metric definition, but it does not explain the return format, whether a single value or a list is returned, or how the optional 'provider' parameter affects behavior. Without annotations, this leaves a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the core definition and adds the key requirement. There is no filler or repetition, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter and no output schema, the description should provide enough context for correct invocation. It fails to explain the 'provider' parameter's role or expected input format, and the return value is unspecified. The simplicity of the tool is not an excuse for this level of incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only implicitly references 'provider' as the subject of the metric. It does not explicitly state that the 'provider' parameter filters by provider name, nor does it provide any format or example. This undercompensates for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines what the tool measures: the time between an incident starting and its first public update. This is a specific, unambiguous purpose that distinguishes it from sibling tools like provider_incidents, though it lacks an explicit verb like 'returns' or 'gets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as provider_incidents or provider_terms_changed. The only usage condition mentioned is 'Requires a key,' which is a prerequisite, not a contextual recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registry_healthCInspect
Recorded outages of the package registries themselves, kept after their status pages drop them. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| registry | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does mention a key requirement, indicating an authentication need. It also implies read-only behavior by referring to 'recorded outages', but it does not disclose response format, pagination, or behavior when the optional registry parameter is omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence plus a URL, with no redundant wording. It is front-loaded with the core purpose, though brevity leaves out important parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one undocumented parameter, no annotations, and no output schema, the description is too sparse to enable confident invocation. It does not explain how to use the registry parameter or what the output will look like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has a single optional parameter 'registry' with zero description coverage. The tool description provides no explanation of acceptable values, whether it's a filter or required input, or what happens when omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (package registries) and the nature of the data (recorded outages), distinguishing it from sibling tool provider_incidents which likely covers package providers. However, it lacks an explicit verb like 'list' or 'retrieve'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'kept after their status pages drop them' implies a use case for retrieving historical outage data beyond live status pages. It does not explicitly state when to use this tool over alternatives like provider_incidents, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
runtime_deadlinesCInspect
Support end dates for the runtimes a dependency set requires, including any already past. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| names | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It adds some useful context: results include already-past dates and a key is required. However, it does not clarify whether the operation is read-only, what the return format is, or any error behavior, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two short sentences and a link. It front-loads the purpose. However, the wording 'Support end dates' is awkward and could be clearer, but there is no unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and minimal parameter documentation. The description does not explain return values, how the names parameter is used, or what happens without a key. For a tool with these gaps, the description is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter 'names' with 0% description coverage, so the description must explain it. The description mentions runtimes but does not explicitly state that 'names' refers to runtime names or define expected array contents. This leaves the parameter meaning ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool provides support end dates for runtimes required by a dependency set, including already-past dates. This is a specific resource and scope, though the verb 'Support' is weak and not as direct as 'List' or 'Check'. It is distinguishable from sibling tools like check_eol by focusing on runtimes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternative sibling tools. The only usage hint is the prerequisite that a key is required and reference to pricing, but no explicit context for choosing this tool or exclusions is provided.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does, but omits details such as whether the search is case-sensitive, how the 'limit' parameter affects results, what happens when no matches are found, or whether it is read-only (though 'find' implies no mutation). The description does not contradict annotations (none exist), but it lacks richer behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and purpose. Every sentence contributes value: the first defines what it does, the second gives usage guidance. There is no wasted text or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with 2 parameters and no output schema, the description is mostly complete. It explains the purpose, the search criterion, and provides guidance on when to use it. It does not describe the return format or limit behavior, but these are not critical for a discovery tool. The absence of annotations is mitigated by the tool's inherently read-only nature implied by 'find'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 2 parameters (query, limit) with no descriptions in the schema itself (schema description coverage 0%). The description adds meaning to 'query' by explaining that it matches a string against repository names ('whose name contains a string'). However, the 'limit' parameter is not mentioned, so the description only partially compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Find watched repositories whose name contains a string, with their current readings.' It specifies the verb (find), resource (watched repositories), and the output (current readings). It also distinguishes itself from siblings by positioning it as a discovery step: 'Use it to discover what is covered before calling the other tools.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Use it to discover what is covered before calling the other tools.' This tells the agent when to use this tool (as a precursor to other tools). It does not explicitly mention alternatives or exclusions, but it gives a practical recommendation that is sufficient for a search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
time_to_fixAInspect
Days between an advisory being published and a release appearing that postdates it, per package and as a distribution. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context beyond the schema by defining the exact time window (advisory published to postdating release) and the 'per package and distribution' output scope. However, it does not disclose potential edge cases (e.g., packages with no advisories, multiple releases) or output format, and with no annotations, the description carries the full transparency burden but only partially meets it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that conveys the core metric and the key requirement without extraneous information. The pricing link is useful and does not detract from the main message.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides the essential context for the tool's function and authentication requirement, which is sufficient for a straightforward metric tool. However, the absence of any registry parameter clarification prevents it from being fully complete for invocation without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (name is described, registry is not). The description does not add any parameter-specific details, such as acceptable registry values or how the package name should be formatted, leaving a clear gap in understanding the registry parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly defines the tool's purpose: calculating the number of days between advisory publication and a subsequent release, offered per package and as a distribution. This clearly differentiates it from sibling tools like advisory_severity or check_* tools, which target other aspects of advisory/package data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as advisory_severity or explain_finding. The only practical note is the key requirement, but there is no explicit when/when-not guidance or reference to sibling tools for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
typosquat_checkAInspect
Whether a name is one edit away from a more widely installed package. States that both names exist; which one was meant is the caller’s call. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and explains the key behavioral nuance: the tool reports both names exist and leaves interpretation to the caller. It also discloses the key requirement. However, it does not mention side effects, rate limits, or behavior on invalid keys, but for a read-only check this is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences (plus a key link). It front-loads the core action and includes essential caveats without fluff. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple two-parameter check but leaves gaps: no output schema, no mention of registry formats, and return value is only partially described. It does not explain error conditions or what exactly is returned beyond 'both names exist'. Still, the description is reasonably complete for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (name has a description, registry does not). The description does not explain accepted values for 'registry' or the exact meaning of 'name' beyond what is in the schema. It adds no parameter-level insight, so it fails to compensate for the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if a name is one edit away from a more widely installed package, which is a specific and distinctive purpose. It also explains the outcome ('States that both names exist'), distinguishing it from package-checking or install-safety siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (typosquat detection) and adds a caveat about interpretation, but it does not explicitly mention alternatives or when not to use this tool. No exclusions or comparisons with sibling tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_addAInspect
Add a package to the caller’s own private watchlist, so later readings are about their stack rather than the public one. The list is private to the key that created it. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the watchlist is private to the key that created it and that a key is required, which is valuable behavioral context. It doesn't mention potential side effects (e.g., duplicate handling) but covers the most important privacy and authentication aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the main action, and includes a crucial prerequisite and context without fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple add operation with no output schema, the description adequately covers the purpose, privacy behavior, and authentication requirement. It doesn't elaborate on edge cases like duplicate packages, but the core contextual needs are met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 50% coverage: 'name' is described, but 'registry' is not. The tool description adds no detail about parameter values or formats beyond that, leaving the meaning of 'registry' unclear. With low schema coverage, the description should compensate, but it doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a package') and the resource ('caller’s own private watchlist'), with a specific purpose: so later readings are about their stack rather than the public one. This distinguishes it from sibling tools that deal with public readings or other check/audit functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to get personalized readings based on a private watchlist) and notes a key prerequisite (Requires a key). It doesn't explicitly name alternative tools, but the context of 'private vs. public' gives clear guidance on when this is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_changesAInspect
Everything that has changed across the caller’s private watchlist since a given date: withdrawals, licence changes, advisories, archived repositories and runtimes going out of support. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No |
TDQS
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 discloses the auth requirement and enumerates the categories of changes, but does not mention pagination, output format, side effects, or date format requirements. Given it's a read-only query, the lack of explicit non-destructive disclosure is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main purpose and change types, then the auth requirement. No wasted words; every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core behavior and prerequisite, but given there is no output schema and no annotations, it leaves gaps: it does not specify the return shape, whether 'since' is optional, or the date format. It is adequate but not fully complete for agents needing to understand output or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate. It explains the 'since' parameter as meaning 'since a given date', adding semantic meaning beyond the raw string type. However, it omits date format and optionality details, so it doesn't fully compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists changes to the caller's private watchlist since a date, enumerating specific change types (withdrawals, licence changes, advisories, etc.). This distinguishes it from sibling tools like diff_since (repository diffs) and watch_add (adding to watchlist).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 see watchlist changes) and highlights a key prerequisite (requires a key, see pricing). It does not explicitly mention alternatives or exclusions, but the scope is well-defined against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
who_can_publishAInspect
How many accounts hold publish rights on a package, as the registry lists them. Answers who can put code on your machine, which is a different question from who writes it. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Package name as the registry spells it. | |
| registry | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses an authentication requirement ('Requires a key') and indicates the data source ('as the registry lists them'), which is useful. However, it does not state whether the operation is read-only, whether it returns a count or list, or any potential side effects or errors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences, both informative. The first sentence front-loads the core function, the second clarifies semantics and mentions the key requirement. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should clarify the return format, but there is ambiguity: 'How many accounts' suggests a count, while 'who can put code' suggests a list of accounts. It also does not mention potential failure modes or prerequisites beyond the key. However, for a simple two-parameter tool, the description covers the main purpose and context adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% ('registry' has no description), and the description adds little for 'registry'. It implies 'name' refers to a package name ('on a package') but does not clarify acceptable registry values or format. The description fails to compensate for the undocumented 'registry' parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: counting/list accounts with publish rights on a package. It uses a specific verb ('holds publish rights') and resource ('package'), and distinguishes the concept from authorship ('different question from who writes it'), which helps differentiate from possible sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: when you need to know who can actually publish code, not who authored it. It also notes a prerequisite ('Requires a key') with a link to pricing. However, it does not explicitly name alternative tools or state exclusions beyond the authorship distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdrawn_but_installedBInspect
Packages whose own publisher has withdrawn them and which are still being installed heavily, with the download figure and the publisher’s notice. Requires a key; see https://sighttrue.com/pricing.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the need for an API key and mentions the output includes download figures and the publisher's notice, which adds some context. However, with no annotations, it does not state whether the operation is read-only, how results are ordered, what 'heavily installed' means, or any rate limits or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences conveying the core purpose and the key requirement. It is front-loaded with the main concept, though a verb would make the first sentence more actionable; still, it wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with one optional parameter, the description gives enough to understand the basic output (download figure and publisher's notice) and the auth prerequisite. However, it omits explanation of the 'limit' parameter, the threshold for 'heavily installed,' and result ordering, leaving notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema includes an optional 'limit' parameter with no schema description, and the tool description does not mention or explain it. Since schema_description_coverage is 0%, the description provides no semantic support for the one parameter, leaving the agent to guess at its meaning and typical values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the subject matter—packages withdrawn by their publisher but still heavily installed—and implies a query operation, but it lacks an explicit verb like 'list' or 'get.' The unique scope distinguishes it from sibling tools, but the missing action makes it less direct than ideal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given for when to use this tool versus alternatives such as 'model_withdrawn' or 'check_package.' The context signals imply it is for a specific kind of package audit, but there is no direct comparison or prerequisite statement beyond the key requirement.
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.
30 tool updates
- Added
advisory_severity - Added
audit_manifest - Added
base_image_check - Changed
check_before_install1 field changed- removed
Input schema / properties / registry / enumRemoved value: -[ - "npm", - "pypi", - "crates", - "gem", - "packagist", - "nuget", - "maven" -]
- Changed
check_eol1 field changed- changed
Input schema / properties / cycle / descriptionPrevious value: -"Release line, e.g. 3.9 or 20. Omit for every cycle of the product."New value: +"Release line, e.g. 3.9 or 20. Omit for every cycle."
- Changed
check_package1 field changed- removed
Input schema / properties / registry / enumRemoved value: -[ - "npm", - "pypi", - "crates", - "gem", - "packagist", - "nuget", - "maven" -]
- Changed
check_provider2 fields changed- removed
Input schema / properties / days / descriptionRemoved value: -"Window. Default 90." - added
Input schema / requiredAdded value: +[]
- Changed
check_stack2 fields changed- removed
Input schema / properties / names / descriptionRemoved value: -"Package names, up to 100." - removed
Input schema / properties / registry / enumRemoved value: -[ - "npm", - "pypi", - "crates", - "gem", - "packagist", - "nuget", - "maven" -]
- Added
diff_since - Added
domain_risk - Added
explain_finding - Changed
find_model4 fields changed- removed
Input schema / properties / limitRemoved value: -{ - "maximum": 50, - "minimum": 1, - "type": "integer" -} - removed
Input schema / properties / provider / descriptionRemoved value: -"Restrict to one provider, e.g. anthropic." - removed
Input schema / properties / sortRemoved value: -{ - "description": "price-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.", - "enum": [ - "price", - "context", - "price-per-context" - ], - "type": "string" -} - added
Input schema / requiredAdded value: +[]
- Added
funding_gap - Added
help_availability - Added
list_readings - Added
model_price_history - Added
model_withdrawn - Added
package_weight_history - Added
provider_incidents - Added
provider_terms_changed - Added
provider_transparency - Added
registry_health - Added
runtime_deadlines - Changed
search_repositories1 field changed- removed
Input schema / properties / limit / maximumRemoved value: -50
- Added
time_to_fix - Added
typosquat_check - Added
watch_add - Added
watch_changes - Added
who_can_publish - Added
withdrawn_but_installed
3 tool updates
- Changed
check_before_install1 field changed- changed
Input schema / properties / registry / enumPrevious value: -[ - "npm", - "pypi", - "crates" -]New value: +[ + "npm", + "pypi", + "crates", + "gem", + "packagist", + "nuget", + "maven" +]
- Changed
check_package1 field changed- changed
Input schema / properties / registry / enumPrevious value: -[ - "npm", - "pypi", - "crates" -]New value: +[ + "npm", + "pypi", + "crates", + "gem", + "packagist", + "nuget", + "maven" +]
- Changed
check_stack1 field changed- changed
Input schema / properties / registry / enumPrevious value: -[ - "npm", - "pypi", - "crates" -]New value: +[ + "npm", + "pypi", + "crates", + "gem", + "packagist", + "nuget", + "maven" +]
1 tool update
- Added
check_before_install
7 tool updates
- First observed
check_eol - First observed
check_package - First observed
check_provider - First observed
check_stack - First observed
compare_repositories - First observed
find_model - First observed
search_repositories
Related MCP Connectors
Measured readings on open-source dependencies: health, end-of-life, model prices, incidents.
Dependency risk + calibrated, publicly scored forecasts on OSS packages. Docs: anteproof.com/docs
Dependency releases, TLS and domain expiry, and vendor status pages from one endpoint.
Supply chain risk scoring for npm, PyPI, Cargo, and Go. 9 tools. Behavioral signals.
Related MCP Servers
- AlicenseAqualityAmaintenanceDependency intelligence for AI agents. CVE scanning, health checks, upgrade planning.9109 npm2Apache 2.0
- AlicenseNot gradedqualityFmaintenanceOpen source intelligence for AI agents — GitHub project-health scoring, package dependency-risk analysis, trending repositories, license checks, and side-by-side package comparison.MIT
- AlicenseNot gradedqualityBmaintenanceEnables safety-ranked discovery of open-source components across npm, PyPI, crates.io, RubyGems, GitHub, and Hugging Face, with license, security, and health checks.1,348 npmMIT
- AlicenseAqualityCmaintenanceSupply chain risk scoring for npm, PyPI, and GitHub repos829 npm7MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.