MCP Scorecard

Independent trust scoring for MCP servers. Transparent methodology, no opinions — just data from the MCP registry and GitHub.

Servers Scored
Avg Score
High Trust
Flagged
Last Updated

Why This Exists

The MCP registry has thousands of servers with zero trust signals. No download counts, no verification, no quality scoring. Agents are increasingly auto-selecting MCP servers and handing them credentials with no way to evaluate trustworthiness.

MCP Scorecard is a batch-processed trust scoring index that aggregates publicly available signals from the MCP registry and GitHub. It runs daily, scores every server, and publishes the results as static JSON that anyone — human or agent — can consume.

Scoring Model

Every server is scored 0–100 across four categories. The aggregate trust score is a weighted average.

30% weight
Provenance
Is this real?
25% weight
Maintenance
Is it alive?
20% weight
Popularity
Does anyone use it?
25% weight
Permissions
What does it want?

Provenance — Is this real?

Has a source repo, license, installable package, website, icon, matching namespace, SECURITY.md, code of conduct, and a unique (non-boilerplate) description.

Maintenance — Is it alive?

Repo age, how recently it was pushed, active commit weeks in the past year, contributor count, and release activity.

Popularity — Does anyone use it?

GitHub stars, forks, and watchers on a logarithmic scale. npm/PyPI download counts planned for a future version.

Permissions — What does it want?

How many secrets it requests, transport type risk (local stdio vs remote), credential sensitivity (API key vs database password vs wallet key), and package type.

Score Bands

80–100
High Trust
60–79
Moderate
40–59
Low Trust
20–39
Very Low
0–19
Suspicious

Red Flags

Binary flags that indicate structural or behavioral anomalies, independent of the numeric score. These are observable facts, not opinions.

FlagWhat it observesCount
DEAD_ENTRYNo packages and no remotes — server can't be installed or reached
TEMPLATE_DESCRIPTIONDescription matches common boilerplate ("A model context protocol server")
STAGING_ARTIFACTName contains test/staging patterns combined with a template description
HIGH_SECRET_DEMANDRequests 5 or more secret environment variables
SENSITIVE_CRED_REQUESTRequests wallet keys, database passwords, or other high-risk credentials
REPO_ARCHIVEDGitHub repository is archived by its maintainer
NO_SOURCENo repository URL and no verifiable package source
DESCRIPTION_DUPLICATESame description used by 3+ servers from different publishers

Principles

Transparent

Every signal, weight, and threshold is public. The full scoring logic is open source. Anyone can audit, reproduce, or fork it.

Objective

No curated blocklists, no manual overrides, no pay-to-play. Flags are observable facts from public data, not opinions.

Independent

Not a marketplace, not selling MCP servers, no commercial interest in rankings. The index exists to inform, not to sell.

Machine-Readable

Static JSON output designed for agent consumption. Any MCP client can check trust scores before granting credentials.

Data Access

All data is freely available as static JSON. No API key required. Updated daily.

GET output/index.json
Per-server scores, signals, and flags for every server in the registry
GET output/stats.json
Ecosystem summary — score distribution, flag counts, top servers
GET output/flags.json
Servers grouped by flag type for quick lookup

How It Works

The pipeline runs daily via GitHub Actions. Four stages, ~70 minutes, all free public APIs.

COLLECT Registry API → 2,300+ servers
ENRICH  GitHub API → repo metadata, community profile, commit activity
SCORE   4 categories × every server + red flag detection
PUBLISH Static JSON → index.json, stats.json, flags.json