Skip to main content
Guide9 min read·Updated August 15, 2026
🧩

Best AI Agent Skills for Building MCP Servers (2026)

B

A. Frans

Published August 15, 2026

Agent SkillsMCPFastMCPDeveloper ToolsClaude Code

Writing an MCP server that works on your laptop takes about an hour. Writing one that survives contact with other people takes considerably longer, and almost nothing in the tutorial layer prepares you for the second part.

The first version is a Python file with a decorator on each function. Then the questions arrive. How does it authenticate? Which transport, stdio or HTTP? What happens when a tool throws? How do forty of these get managed once your team has one per internal system? Those answers are not in the quickstart, and they are what separates a demo from something you can hand to a colleague.

This page maps the directory to that arc: what helps you write the server, what helps you test and ship it, and what you need once there are too many servers to babysit individually.

Build time versus run time

The single most useful distinction when reading any MCP listing, including ours.

LayerWhat it isExamples here
AuthoringHelps you write server codeMCP Builder, FastMCP, NitroStack, Golf
ProtocolThe spec and its SDKsOfficial registry, MCP Apps
Client-sideConsuming servers from your appmcp-use, Fast Agent
OperationsManaging many servers at onceContext Forge, MetaMCP, MCPHub, Agentgateway
Directories tend to flatten all four into one list called "MCP tools", which is how people end up trying to install a Python framework as if it were a running server. Watch for it below, because two of the highest-profile entries in our own database carry an install command from the wrong layer.

Authoring: writing the server

MCP Builder

Anthropic's official skill for building MCP servers with proper schemas and auth. MIT, audited, and the only entry on this page that comes from the company that wrote the protocol.

Schemas and auth are exactly the right two things to opinionate on, because both are places where a hand-rolled server quietly does the wrong thing. A tool whose JSON Schema is vague gets called wrongly by the model, and the failure looks like a model problem rather than a schema problem. Start here before you start reading framework docs.

Distributed inside Anthropic's skills collection, so install it through the plugin marketplace inside Claude Code rather than as a standalone clone.

Deep dive: /skills/mcp-builder · Our review: MCP Builder skill review

FastMCP

PrefectHQ/fastmcp, Apache-2.0, 27,214 stars, pushed within the last day at time of writing. The most-used way to write an MCP server in Python: decorate a function, and the JSON Schema is derived from your type hints while the docstring's first line becomes the tool description.

Two things to know that the star count will not tell you. FastMCP 1.0 was folded into the official MCP Python SDK, and 2.x is the separately maintained line with the larger feature set, so version confusion is common when following older tutorials. And this is a library you install with a Python package manager, not a server you register with a client. Our database currently lists it with an claude mcp add string, which is the wrong layer and will not work. Install it as a dependency of the server you are writing.

Deep dive: /skills/fastmcp

NitroStack

nitrocloudofficial/nitrostack, Apache-2.0, 2,524 stars. A full-stack TypeScript framework for building, testing and deploying MCP servers, which makes it the natural counterpart to FastMCP for teams whose backend is already Node.

The deploy half is the interesting part. Most MCP frameworks stop at "your server runs"; the operational questions start immediately after that.

Deep dive: /skills/nitrostack

Golf

golf-mcp/golf, Apache-2.0, 837 stars, aimed at production-ready MCP servers with security as a stated goal. Smaller and less proven than the two above, and the last push was May 2026. Worth a look for the patterns; check maintenance before depending on it.

Deep dive: /skills/golf

Protocol and discovery

Official MCP Registry

modelcontextprotocol/registry, official tier, 7,150 stars. A community-driven registry service for MCP servers, and the closest thing to a package index this protocol has.

Two reasons it matters when you are building rather than consuming. It is where your server becomes findable by people who are not you. And reading how existing entries describe themselves is the fastest way to learn the naming and description conventions that make a server discoverable.

Deep dive: /skills/registry

MCP Apps

modelcontextprotocol/ext-apps, official, 2,718 stars for the spec and SDK covering UIs embedded in MCP. If your server needs to show something rather than return text, this is the standard to build against instead of inventing a convention.

Deep dive: /skills/ext-apps

Microsoft Skills

microsoft/skills, official tier, MIT, audited, 2,898 stars. Skills, MCP servers, custom agents and AGENTS.md patterns for grounding coding agents across SDKs. Useful as a reference implementation from a second large vendor, which is a good cross-check when Anthropic's guidance and your intuition disagree.

Deep dive: /skills/skills-1

Client side

mcp-use

mcp-use/mcp-use, MIT, 10,491 stars, actively pushed. A full-stack framework for building MCP apps and servers, aimed at the case where you are writing the client as well as the server.

The star count here is real rather than inherited from a monorepo, which puts it second only to FastMCP among the authoring options and makes it the strongest signal of adoption in the client layer.

Deep dive: /skills/mcp-use

Fast Agent

evalstate/fast-agent, Apache-2.0, 3,891 stars. Builds and evaluates agents with strong MCP, ACP and skills support. Its relevance to server authors is the evaluation half: it gives you a way to check that a model calls your server's tools correctly, which is the test everyone skips.

Deep dive: /skills/fast-agent · Related: agent skills for LLM evals and testing

Operations: when one server becomes forty

This is where teams get surprised. Each server is simple; the twentieth one is not, and the problems are configuration sprawl, credential handling, and no single place to see what tools an agent can reach.

MCP Context Forge

IBM's gateway, registry and proxy that sits in front of MCP, A2A and REST endpoints. Apache-2.0, 4,320 stars, pushed today. Enterprise shape, permissive licence, and the vendor backing means it is likely to still exist next year.

Deep dive: /skills/mcp-context-forge

Agentgateway

Apache-2.0, 4,357 stars, an agentic proxy for AI agents and MCP servers. Same problem space as Context Forge with a proxy-first framing. If your concern is policy enforcement on every tool call rather than discovery, start here.

Deep dive: /skills/agentgateway

MetaMCP and MCPHub

Two aggregator options. MetaMCP (metatool-ai, MIT, 2,605 stars) packages aggregation, orchestration, middleware and gateway into one Docker image, which makes it the fastest thing here to try. MCPHub (samanhappy, Apache-2.0, 2,299 stars) covers similar ground with more recent activity.

For a small team wanting one endpoint in front of a dozen servers, either works. For anything with a compliance story attached, Context Forge's backing counts for more than the feature list.

Deep dives: /skills/metamcp · /skills/mcphub

Supergateway

supercorp-ai/supergateway, MIT, 2,808 stars. Runs stdio servers over SSE and the reverse, which solves a specific and common problem: you have a stdio server and a client that only speaks HTTP.

The caveat is maintenance. Last push was October 2025, the oldest date on this page by a wide margin. The transport shim it provides is small enough to vendor if you need it, and vendoring is the safer call for anything load-bearing.

Deep dive: /skills/supergateway

Archestra

AGPL-3.0, 4,185 stars, an enterprise platform combining guardrails with an MCP registry and gateway. The licence deserves attention before you plan an integration: AGPL has real consequences if you were intending to embed this in a product you distribute.

Deep dive: /skills/archestra

The order I would go in

  • Read MCP Builder's guidance on schemas and auth before writing any code. It is short and it changes what you build.
  • Pick the framework matching your existing stack. Python means FastMCP; TypeScript means NitroStack. Do not learn a new language for this.
  • Write two tools, not ten. Tool granularity is the most common design mistake, and you will change your mind about it once a model has used them.
  • Test that a model calls them correctly, not only that they return the right value. Fast Agent or your own fixtures both work.
  • Publish to the official registry once it is stable enough for someone else to use.
  • Only add a gateway when you have enough servers that configuration has become the problem. Adding one on day one is infrastructure you will maintain for no benefit.

For how MCP servers compare to skills as a concept, see MCP servers versus agent skills, and our full list for developers.

FAQ

Should I build a skill or an MCP server?

A skill is instructions Claude reads; an MCP server is a process exposing callable tools. If your capability is "know how to do this task well", write a skill. If it is "reach this system", write a server. Plenty of useful projects ship both, which is why the two categories blur in every directory including ours.

Is FastMCP the same as the official Python SDK?

Partly. FastMCP 1.0 was incorporated into the official SDK, and FastMCP 2.x is the separately maintained project with more features on top. Tutorials written before that split will show you imports that no longer match. Check which line a guide targets before following it.

Do I need a gateway?

Not for one to five servers. Configuration in your client handles that fine. Gateways earn their keep when you have enough servers that nobody can list them from memory, or when policy has to be enforced somewhere other than each individual server.

How do I get my server discovered?

List it in the official registry, and write the tool descriptions for a model rather than a human. The description field is what a model reads when deciding whether to call your tool, so vague phrasing there costs you invocations in a way no README fixes.

Why do some entries here show an install command that does not match what they are?

Because our ingestion pipeline assigns a default install string by entry type, and libraries and frameworks get caught by the MCP-server template. FastMCP is the clearest case: it is a Python package, not a registrable server. We are correcting these; until then, the repository's own README is the authority on installation, and this page flags the cases we know about.

Share this article

📬

Get More AI Tool Guides

New comparisons and guides every week. Join thousands of professionals staying ahead of the AI curve.