# TechSnif

> Agent-first tech news: ranked story clusters, coverage and discussion links, trends, and events.

- name: com.techsnif/mcp
- version: 3.3.1
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 77/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.techsnif%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.techsnif%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "techsnif": {
      "type": "http",
      "url": "https://mcp.techsnif.com"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-63d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 77/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_story (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_stories (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_articles (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,220 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 67 (weight 15)

- pass `deps.known_vulns`: no known advisory in 98 resolved packages
- fail `deps.mcp_sdk_version`: @modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or later
- pass `deps.resolvable`: @techsnif/mcp-server@3.3.1 resolved: 98 packages

- tools: 13, about 2,220 tokens to load them all
- tool set hash: 208d81e73620efd11751cdb6878fd9d0
- badge: [![protogrid quality](https://protogrid.dev/badge/com.techsnif/mcp.svg)](https://protogrid.dev/servers/com.techsnif/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @techsnif/mcp-server@3.3.1: resolved, 97 dependencies, MCP SDK @modelcontextprotocol/sdk 1.30.1
  - GHSA-6qxp-vccf-f47h (high) in `` @modelcontextprotocol/sdk@1.30.1 ``, direct, fixed in `` 1.31.0 ``, advisory summary: "MCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server" https://osv.dev/vulnerability/GHSA-6qxp-vccf-f47h

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.techsnif.com (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm @techsnif/mcp-server@3.3.1

## Tools (13)

- `get_article`: Get a full TechSnif editorial article by slug, including the complete body text.
- `get_articles`: List TechSnif editorial articles (original coverage written by TechSnif). Filter by category (AI, Startups, Venture, Robotics) or tag, and paginate with offset. Use get_article for the full body text.
- `get_changes`: Get story cluster changes since a timestamp: newly appeared clusters and updates to existing ones, each with a change type, a change time, and a story summary. Poll this to stay in sync with the TechSnif feed without refetching everything; pass the returned nextCursor as the next "since" value.
- `get_leaderboard`: Get TechSnif source or author leaderboards: which publications and journalists drive the most tech story coverage. Rank by story count over a 7-day, 30-day, or all-time window, optionally filtered by topic.
- `get_story`: Get full details of a story cluster by slug, including all coverage links from every outlet (TechCrunch, NYT, TechSnif, etc.), direct URLs to social discussion posts (exact tweets, Reddit threads, LinkedIn posts, Bluesky posts), and the full TechSnif article text if available. Use this to answer "show me the tweets about this story" or "what outlets covered this". Filter discussion by platform, coverage by publisher, or use brief mode to skip the article body.
- `get_story_timeline`: Get the ranking history of a story cluster by slug: a time series of snapshots with rank, headline tier, commentary count, and coverage count at each point. Use this to see how a story rose, peaked, or faded across the news cycle.
- `get_tech_events`: Get upcoming tech industry events (conferences, summits, expos) with dates, locations, and URLs.
- `get_top_stories`: Get tech story clusters from across the web. Each story aggregates coverage from multiple outlets (TechCrunch, The Verge, NYT, TechSnif, etc.) and includes links to social discussion (tweets, Reddit threads, LinkedIn posts). Sort by rank (prominence) or newest (most recently seen). Optionally filter by headline tier (1=standard, 2=major, 3=top story), publisher name, discussion platform, topic, or a "since" timestamp, and paginate with offset. Use get_story when you need full details or article body text.
- `get_trending_articles`: Get trending TechSnif editorial articles from the last 48 hours, ranked by coverage heat and recency. Use get_article for the full body text.
- `get_trending_stories`: Get story clusters gaining momentum right now, ranked by velocity: how quickly coverage and discussion grew within a recent window. Each story includes its velocity score plus commentary and coverage deltas. Use get_story for full detail.
- `list_entities`: List the companies, people, and products TechSnif tracks across story clusters, with story counts. Only entities linked to at least one story are returned, most-covered first. Pass a returned slug as the entity param of get_top_stories to pull every story about that entity.
- `search_articles`: Full-text search over TechSnif editorial article titles and excerpts, ranked by relevance. Returns article summaries with category, tags, and publish dates. Use get_article for the full body text, and paginate with offset.
- `search_stories`: Full-text search over story cluster headlines and excerpts, ranked by relevance. Returns matching story clusters with coverage links, discussion link counts, and TechSnif article references when available. Use get_story for full detail and article body text. Optionally filter by publisher and paginate with offset.
