Koskamo

Sighttrue MCP

An MCP server providing measured readings on open-source dependencies, including health metrics, end-of-life dates, model prices, and provider incidents. It allows agents to check package status, compare repositories, and search for models using static, commit-tracked data without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Sighttrue MCP logo, by SighttrueCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Sighttrue
MCP endpoint (Streamable HTTP)
https://sighttrue.com/api/mcp
Vendor documentation

What its tools do

31 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

31 of 31 have a description · 0 of 31 declare behavior hints · 2 of 29 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check if a specific package is healthy or has known issues
  • Compare repositories to assess developer demand and stability
  • Find language models with current pricing and context windows
  • Check end-of-life dates for release lines

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
sighttrue 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
31 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Readings about open-source dependencies, taken every four hours and published as static files. Every figure is measured rather than estimated, and every tool result carries the limits of what it can support. The watchlist is curated and partial: an uncovered package is untracked, not judged.

Tools

31 advertised

check_before_install
Advertised by the server during the last successful anonymous check.

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.

check_before_install input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
check_package
Advertised by the server during the last successful anonymous check.

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.

check_package input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
check_stack
Advertised by the server during the last successful anonymous check.

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.

check_stack input schema
{
  "type": "object",
  "required": [
    "registry",
    "names"
  ],
  "properties": {
    "names": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
search_repositories
Advertised by the server during the last successful anonymous check.

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

search_repositories input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1
    },
    "query": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
compare_repositories
Advertised by the server during the last successful anonymous check.

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.

compare_repositories input schema
{
  "type": "object",
  "required": [
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "string",
      "description": "Repository as owner/name."
    },
    "b": {
      "type": "string",
      "description": "Repository as owner/name."
    }
  },
  "additionalProperties": false
}
find_model
Advertised by the server during the last successful anonymous check.

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.

find_model input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "maxPrice": {
      "type": "number",
      "description": "Maximum USD per million prompt tokens."
    },
    "provider": {
      "type": "string"
    },
    "minContext": {
      "type": "integer",
      "description": "Minimum context window in tokens."
    }
  },
  "additionalProperties": false
}
check_eol
Advertised by the server during the last successful anonymous check.

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.

check_eol input schema
{
  "type": "object",
  "required": [
    "product"
  ],
  "properties": {
    "cycle": {
      "type": "string",
      "description": "Release line, e.g. 3.9 or 20. Omit for every cycle."
    },
    "product": {
      "type": "string",
      "description": "Product as endoflife.date spells it, e.g. python, nodejs, postgresql."
    }
  },
  "additionalProperties": false
}
check_provider
Advertised by the server during the last successful anonymous check.

Recorded incidents for a hosting or API provider over a window, kept after the provider’s own status page dropped them.

check_provider input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "days": {
      "type": "integer",
      "maximum": 730,
      "minimum": 1
    },
    "provider": {
      "type": "string",
      "description": "Provider slug, e.g. cloudflare, openai, github. Omit for every provider."
    }
  },
  "additionalProperties": false
}
list_readings
Advertised by the server during the last successful anonymous check.

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.

list_readings input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
who_can_publish
Advertised by the server during the last successful anonymous check.

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.

who_can_publish input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
package_weight_history
Advertised by the server during the last successful anonymous check.

How the published artefact size has moved over time. Returns the readings taken, not a verdict. Requires a key; see https://sighttrue.com/pricing.

package_weight_history input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
withdrawn_but_installed
Advertised by the server during the last successful anonymous check.

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.

withdrawn_but_installed input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "limit": {
      "type": "integer"
    }
  },
  "additionalProperties": false
}
typosquat_check
Advertised by the server during the last successful anonymous check.

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.

typosquat_check input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
funding_gap
Advertised by the server during the last successful anonymous check.

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.

funding_gap input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "limit": {
      "type": "integer"
    }
  },
  "additionalProperties": false
}
time_to_fix
Advertised by the server during the last successful anonymous check.

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.

time_to_fix input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
advisory_severity
Advertised by the server during the last successful anonymous check.

Advisories broken down by severity rather than counted, with identifiers and dates. Requires a key; see https://sighttrue.com/pricing.

advisory_severity input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
runtime_deadlines
Advertised by the server during the last successful anonymous check.

Support end dates for the runtimes a dependency set requires, including any already past. Requires a key; see https://sighttrue.com/pricing.

runtime_deadlines input schema
{
  "type": "object",
  "required": [
    "names"
  ],
  "properties": {
    "names": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": false
}
base_image_check
Advertised by the server during the last successful anonymous check.

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.

base_image_check input schema
{
  "type": "object",
  "required": [
    "image"
  ],
  "properties": {
    "image": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
registry_health
Advertised by the server during the last successful anonymous check.

Recorded outages of the package registries themselves, kept after their status pages drop them. Requires a key; see https://sighttrue.com/pricing.

registry_health input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
provider_incidents
Advertised by the server during the last successful anonymous check.

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.

provider_incidents input schema
{
  "type": "object",
  "required": [
    "provider"
  ],
  "properties": {
    "provider": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
provider_transparency
Advertised by the server during the last successful anonymous check.

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.

provider_transparency input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "provider": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
provider_terms_changed
Advertised by the server during the last successful anonymous check.

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.

provider_terms_changed input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "provider": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
model_price_history
Advertised by the server during the last successful anonymous check.

Every recorded price for a model, with the date each was read. Requires a key; see https://sighttrue.com/pricing.

model_price_history input schema
{
  "type": "object",
  "required": [
    "model"
  ],
  "properties": {
    "model": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
model_withdrawn
Advertised by the server during the last successful anonymous check.

Models that were in the catalogue and no longer are, with the date last seen. Requires a key; see https://sighttrue.com/pricing.

model_withdrawn input schema
{
  "type": "object",
  "required": [],
  "properties": {},
  "additionalProperties": false
}
help_availability
Advertised by the server during the last successful anonymous check.

For a technology tag: questions asked against questions answered, over time. Requires a key; see https://sighttrue.com/pricing.

help_availability input schema
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
audit_manifest
Advertised by the server during the last successful anonymous check.

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.

audit_manifest input schema
{
  "type": "object",
  "required": [
    "manifest"
  ],
  "properties": {
    "filename": {
      "type": "string"
    },
    "manifest": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
diff_since
Advertised by the server during the last successful anonymous check.

What changed for a set of packages since a given date, read from the daily archive. Requires a key; see https://sighttrue.com/pricing.

diff_since input schema
{
  "type": "object",
  "required": [
    "names",
    "since"
  ],
  "properties": {
    "names": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "since": {
      "type": "string",
      "description": "YYYY-MM-DD."
    }
  },
  "additionalProperties": false
}
watch_add
Advertised by the server during the last successful anonymous check.

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.

watch_add input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
watch_changes
Advertised by the server during the last successful anonymous check.

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.

watch_changes input schema
{
  "type": "object",
  "required": [],
  "properties": {
    "since": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
explain_finding
Advertised by the server during the last successful anonymous check.

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.

explain_finding input schema
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
domain_risk
Advertised by the server during the last successful anonymous check.

Whether the domains a package points at — homepage, funding, documentation — still resolve to a registered owner. Requires a key; see https://sighttrue.com/pricing.

domain_risk input schema
{
  "type": "object",
  "required": [
    "registry",
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Package name as the registry spells it."
    },
    "registry": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
470 ms
95th percentile latency
470 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 470 ms · metadata changed · 31 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http sighttrue-mcp https://sighttrue.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add sighttrue-mcp --url https://sighttrue.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable sighttrue-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "sighttrue-mcp": {
      "url": "https://sighttrue.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "sighttrue-mcp": {
      "type": "streamableHttp",
      "url": "https://sighttrue.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start sighttrue-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "sighttrue-mcp": {
      "type": "http",
      "url": "https://sighttrue.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http sighttrue-mcp https://sighttrue.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://sighttrue.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "sighttrue-mcp": {
      "serverUrl": "https://sighttrue.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Sighttrue MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.