Skip to content

agents

A survey of MCP patterns and evolving practices

(Data collected May 26–29, 2025)

Since its introduction in November of 2024, the Model Context Protocol has been hailed as the "USB of AI applications". While its not nearly as ubiquitous as those wonderful little ports, its certainly growing in momentum.

Google Trends interest in "MCP" over time

Google Trends interest in "MCP" over time

I've been a user of MCPs since the standard was first introduced in November of 2024, and have built a handful of private, internal MCP servers for clients since then.

I'm now working on my first public MCP implementations and that led me to wonder: what are the emerging trends and best practices regarding MCP definition?

Going back to the source

To answer this, I went to the source code for the MCP Server Github Repo

This repo has been collecting reference, official and third-party implementations as a community resource. As of this writing, there are 20 reference implementations, >100 official implementations and >300 third-party/community implementations.

Included in the official implementations are contributions from major tech companies and AI-startup darlings alike. This list includes established players like:

As well as startups & rapidly-scaling AI orgs like:

By using this repo as a starting point, I was able to create a dataset of current MCP implementations. Using the official Github API, I could add dimensions of:

  • Stars
  • Languages used
  • Issue count
  • Open PR count
  • Date updated/created
  • Whether the repo ships a Dockerfile

By the time I pulled the data on May 26, the list held 468 servers: 6 reference, 152 official and 310 community.

Enrichment & extraction

In order to answer questions around actual trends, however, I needed to pull in additional context. For this I turned to trusted tools in the AI toolbox:

  • Extraction & Entity Resolution
  • Enrichment
  • Topic Summarization

I usually reach for Instructor and bespoke python for this, but I was recently impressed by a demo of DocETL led by Shreya Shankar and wanted to give it a test-run.

So I did. I wrote a DocETL pipeline that split every repo into 8,000-token chunks, pulled patterns out of each chunk, and rolled them back up into reports by category: installation, configuration, auth, architecture, testing, docs. The pipeline is strong, but the unstructured docs lineage was deeply embedded. What I had was a mix of unstructured and fairly structured information.

I decided it was too much pipeline. By the end of that night I had deleted 155 lines of it.

The next morning I moved the data into polars and went back to what I know: small, typed LLM calls with Instructor. Each call answers one narrow question from a fixed list of answers.

  • Install method. Read the README and pick any of: npm, python, docker, cargo, smithery, glama or unknown. (gpt-4.1-mini)
  • Runtime manifest. Look at the repo's file list and pick the file that defines what it runs on: package.json, pyproject.toml, go.mod and so on. (gpt-4.1-nano)
  • Runtime dependencies. Read that manifest and list its packages. (gpt-4.1-nano)

For 468 servers, narrow questions were plenty.

Methodology

  • Population. Every server linked from the modelcontextprotocol/servers README on May 26, 2025.
  • Metadata. GitHub API, pulled May 26–29, 2025: stars, issues, open PRs, languages, created and updated dates, Dockerfile presence.
  • Labels. The three Instructor calls above, one row per server.

What this data can't tell you:

  • Stars measure attention & popularity, not usage.
  • A README is a promise. I classified what each README says to do, not what the code does.
  • The labeling is a model's guess. I didn't hand-label a test set, so read the percentages as approximate.
  • It's early days. Half of these servers (239, or 51%) were less than three months old when I pulled them.

Key Takeaways

March 2025 was the gold rush. 162 of the 468 servers (35%) were created in that one month. 72% were created in 2025.

npx is the most common gateway. 242 servers (52%) tell you to install with npm or npx. 159 (34%) point to Python tooling like uv or pip.

TypeScript dominates the SDK layer. The official TypeScript SDK, @modelcontextprotocol/sdk, shows up in 183 servers. The Python SDK, mcp, is in 98, and fastmcp in 23. zod is in 114 -- this indicates schema-first approaches gaining popularity.

Docker is shipped but rarely recommended. Almost half (49%) include a Dockerfile. Only 20% mention Docker in their install instructions.

Registries showed up early. 104 READMEs (22%) already offer a one-line install through Smithery. Distribution is becoming its own layer, separate from the code. Curious to see how mcp marketplaces play out.

Config lives in environment variables. dotenv alone is a dependency in 79 servers.

The community servers are more popular than the vendors. Median stars are 36 for community servers and 25.5 for official ones. And two of the top four are bridges into a tool designers already live in (Figma).

Most-starred servers, May 2025 Source Stars
Inbox Zero official 7,863
Figma Context MCP community 7,401
Arize Phoenix official 5,793
Talk To Figma community 4,056
WhatsApp MCP Server community 3,885

The quickstart MCP server blueprint

If you're building an MCP server in mid-2025, the path most people took looks like this: the TypeScript SDK, zod schemas defining tools and responses, config through environment variables, an npx one-liner in the README, a Dockerfile for everyone else, and a Smithery listing.

None of that is in the spec. It's just what servers converged on in six months.