ログイン中: ログイン状態を復元中...

ResearchMay 17, 2026Abcas Security Research

JavaScript 5,389 and Python 2,470: Language Concentration in MCP Profiles

detailed profile rows show 5,389 JavaScript entries and 2,470 Python entries. MCP review should prioritize Node/npm and Python package supply-chain and runtime behavior.

Terminology

TermMeaning
Public RegistryInspected MCP candidates searchable in the public Registry
Profile evidenceInspection-profile aggregates used to interpret public candidates in more depth
Review/action rowsEntries in WARN, NEED_REVIEW, RESTRICT, or BLOCK that require reasoned adoption review

Lead

MCP implementation languages are not evenly distributed. JavaScript and Python dominance makes npm, npx, pip, uvx, dependencies, install hooks, and virtual environments important review subjects.

Key Findings

  1. detailed profile rows show 5,389 JavaScript entries and 2,470 Python entries. MCP review should prioritize Node/npm and Python package supply-chain and runtime behavior.
  2. The 20,629 public Registry entries and 11,627 profile-evidence rows answer different questions and should not be mixed casually.
  3. The observation is an adoption input, not a final approval for a specific environment.
  4. Counts are snapshot evidence, so adoption review should check the observation date before treating the number as current state.

Dataset

ItemValue
Article date2026-05-17
Public Registry snapshot20,629 entries, synced 2026-06-06T01:17:38.963Z
Detailed profile evidence11,627 rows, generated 2026-05-20/21
Public disclosure levelAggregates, distributions, anonymized observations, and operational interpretation

Observed Metrics

MetricValueMeaning
JavaScript5,389Largest implementation-language group
Python2,470Second-largest implementation-language group
Unknown language3,208Candidate whose implementation language is unresolved

What We Observed

MCP implementation languages are not evenly distributed. JavaScript and Python dominance makes npm, npx, pip, uvx, dependencies, install hooks, and virtual environments important review subjects. This lens matters because MCP servers are not just plugins; they are bundles of authority exposed to an AI agent.

Practical Reading

Use language-specific review paths: package source and install behavior for Node, entrypoints, dependencies, and local authority for Python. Review should record execution location, destinations, data touched, and unresolved evidence, not only the server name or README.

Limits

  1. The evidence uses public aggregate data and anonymized observations, not internal detection mechanics.
  2. Counts are snapshot values and will change as the Registry updates.
  3. This is not a claim that any named MCP server is safe or unsafe.

Conclusion

Use language-specific review paths: package source and install behavior for Node, entrypoints, dependencies, and local authority for Python. Keeping this evidence in the intake record makes the review repeatable across teams and deployments.


MCP Guard continuously turns public Registry and profile evidence into adoption-review signals for MCP security teams.