Skip to content
PluginStats

agnost weekly downloads statistics

By agnostai · npm · MCP servers

Analytics SDK for Model Context Protocol Servers

View on npm Fresh · Oct 17, 2026

agnost has 14,809 recorded weekly downloads on npm, a decrease of 90.2% over the past 30 days.

It ranks #827 of 2,256 tracked npm listings by weekly downloads.

Over 90 days, weekly downloads changed by +3.9%.

PluginStats has 543 daily observations since Apr 23, 2025; the latest is from Oct 17, 2026.

Weekly downloads
14,809
Official API · Oct 17, 2026
7-day growth
-25.6%
-5.1K weekly downloads
30-day growth
-90.2%
-136.9K weekly downloads
90-day growth
+3.9%
+552 weekly downloads
Rank
#827
Among tracked npm listings

About agnost

Agnost Analytics SDK (TypeScript)

Analytics SDK for tracking and analyzing Model Context Protocol (MCP) server interactions.

Installation

Setup Example

Configuration Example

Disabling All Logs

To completely disable all SDK logs (including error logs), you can use the disableLogs option:

Alternatively, you can use environment variables:

User Identification

The SDK supports user identification to track analytics per user. This is especially useful for understanding usage patterns across different users and roles.

Basic User Identification

Advanced User Identification

User Identity Interface

The identify function should return a UserIdentity object or null:

Identify Function Parameters

• request: The incoming MCP request object containing: • headers: HTTP-style headers (e.g., x-user-id, authorization) • params: Request parameters including tool name and arguments • Other request metadata from the MCP protocol • env: Environment variables from process.env, useful for: • Reading user info from environment variables • Accessing configuration secrets • Getting deployment-specific user context

Common Usage Patterns

1. Header-based Identification

2. Environment Variable Identification

3. Token-based Identification

Important Notes

• The userId field is required in the returned UserIdentity object • If identification fails, return null or { userId: 'anonymous' } • User identification runs per request — safe for concurrent, multi-user servers • Any errors in the identify function are logged and fallback to anonymous tracking • Additional fields beyond userId are included in analytics for segmentation • The raw Authorization header value is never sent to Agnost; only the fields your identify function (or the built-in fallback) returns

Built-in bearer identification (zero config)

If you do NOT provide an identify function, the SDK derives the user id from the request's Authorization: Bearer header automatically. If the MCP auth middleware exposes a validated token as extra.authInfo.token but extra.requestInfo.headers is empty, the SDK uses that token as a fallback.

1. Decode: if the token is a JWT (3 parts) with a decodable payload, the first present identifier claim becomes the userId — in order: sub, user_id, userId, email, preferred_username, username. (No signature verification — your own auth middleware has already validated the token.) 2. Hash: any other token — opaque API keys, 2-part shapes, JWEs, undecodable or claimless JWTs — becomes tok_, a stable pseudonymous per-token id. The raw token is never used as an id and never leaves the process. Note: tokens that rotate (JWE/refresh-style) mint a new pseudo-user per rotation. 3. x-api-key fallback: when there is no Authorization header, an x-api-key header (de facto standard for API-key auth) is hashed the same way. 4. OAuth authInfo fallback: when headers are unavailable, the SDK also reads identity from authInfo.sub, authInfo.claims, authInfo.tokenPayload, authInfo.extra, authInfo.token, authInfo.accessToken, or authInfo.access_token. If your OAuth verifier sets authInfo.extra.userId and authInfo.extra.tokenId, Agnost uses userId for user attribution and tokenId to create a durable OAuth conversation id (oauth:{orgId}:{tokenId}) for stateless HTTP servers.

For OAuth MCP servers, keep the official transport path so headers reach MCP handlers:

If you use a custom transport or manual message dispatch, pass the MCP extra object yourself:

Do not log raw bearer tokens. If your OAuth middleware validates the token, attach stable non-secret identity on authInfo.extra:

Conversations on stateless servers

Session (conversation) grouping precedence, per request:

1. MCP session id (Mcp-Session-Id / extra.sessionId) — stateful servers keep today's grouping. 2. OAuth token id (authInfo.extra.tokenId) — stateless OAuth servers group calls by the durable authorization record: oauth:{orgId}:{tokenId}. 3. User id — stateless servers (new server per request, no session id) group all of a user's tool calls into one conversation: user:{orgId}:{userId}. 4. Anonymous stateless HTTP requests merge into one shared conversation per SDK process (anon:{orgId}) — unattributable traffic is aggregated rather than flooding your dashboard with single-call conversations.

Known limitation

One org per process: the first trackMCP call pins the orgId and endpoint for the process lifetime. A later call with a different orgId logs an error and records under the pinned org.

Configuration Options

| Option | Type | Default | Description |

| endpoint | string | "https://api.agnost.ai" | API endpoint URL | | disableInput | boolean | false | Disable tracking of input arguments | | disableOutput | boolean | false | Disable tracking of output results | | disableError | boolean | false | When disableOutput is true, errors take precedence and the error message is still captured. Set this to true to drop errors as well. | | disableLogs | boolean | false | Completely disable all SDK logs | | identify | IdentifyFunction | undefined | Function to identify users from request context |

Performance Monitoring with Checkpoints

The TypeScript SDK provides a powerful checkpoint() function for detailed latency breakup of tool calls. Checkpoints allow you to track specific points in your tool's execution, providing granular observability into where time is being spent.

Overview

When analyzing tool performance, knowing the total execution time is often not enough. The checkpoint() function lets you mark specific points in your execution flow to understand:

• Which operations are slow • Where bottlenecks occur • How time is distributed across different phases • Performance impact of external API calls, database queries, or processing steps

All checkpoint data is automatically captured and visualized in the Agnost AI dashboard with interactive timeline charts.

Function Signature…

Description from the npm listing.

  • analytics
  • mcp
  • model context protocol
  • ai
  • tools

Where agnost sits in the listing

Each band is one page of 20. Weekly downloads on a log scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.

All npm2,256 listings · 113 pages · page 42, #7 (overall #827)
All npm: every listing in weekly downloads order
PNG SVG
MCP servers255 listings · 13 pages · page 6, #20 (overall #120)
MCP servers: every listing in weekly downloads order
PNG SVG

Charts

Images: 30d · 1y · all time · 1600×900 dark

Adoption over time

agnost weekly downloads on npm, last 90 days: 14,809 weekly downloads as of Oct 17, 2026, +3.9% over 90 days.agnostWeekly downloads on npm · Last 90 days14,809downloads / week+3.9% over 90 days050K100K150K200KJul 19Aug 3Aug 18Sep 2Sep 17Oct 2Oct 17downloads / weekobservedarchived (Internet Archive)no observationsJul 21, 2026 – Oct 17, 2026 · 89 observations · Updated Oc…pluginstats.com
agnost weekly downloads on npm, last 90 days: 14,809 weekly downloads as of Oct 17, 2026, +3.9% over 90 days.
PNG SVG

7/30/90-day growth

agnost weekly downloads growth on npm: -25.6% over 7 days, -90.2% over 30 days, +3.9% over 90 days.agnostWeekly downloads growth on npm14,809downloads / week now7-day growth-5,086 weekly downloads-25.6%30-day growth-136,942 weekly downloads-90.2%90-day growth+552 weekly downloads+3.9%Growth vs. nearest observation to each baseline date · Updated Oct 17, 2026pluginstats.com
agnost weekly downloads growth on npm: -25.6% over 7 days, -90.2% over 30 days, +3.9% over 90 days.
PNG SVG

Ranking history

agnost npm ranking history: currently #827 (by weekly downloads).agnostnpm ranking · by weekly downloads · Last 90 days#827current rank#200#300#400#500#600#700#800#900Jul 21Aug 5Aug 20Sep 4Sep 19Oct 4Oct 19rankOct 17, 2026 – Oct 19, 2026 · 3 observations · Updated Oct 17, 2026pluginstats.com
agnost npm ranking history: currently #827 (by weekly downloads).
PNG SVG

Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.

Recent observations

Full history (543)
Recent weekly downloads observations for agnost
Date (UTC)Weekly downloadsChange vs. previous
14,809-2.1K
16,949+2.4K
14,571-4.5K
19,056-3.9K
22,9400
22,940+1.5K
21,424+1.5K
19,895-562
20,457-2.2K
22,686-1.3K
23,969-997
24,966-4.3K
29,302+673
28,629—

Similar npm MCP servers plugins

Data source

Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.

Listing: https://www.npmjs.com/package/agnost. First seen Oct 16, 2026; last successful collection Oct 19, 2026. See the methodology.