Back to Reference

MCP Frameworks and SDKs Reference Guide 2026

Complete reference guide to all MCP (Model Context Protocol) frameworks and SDKs in 2026. API comparisons, installation guides, and compatibility matrix.

Published: 2026-04-02


title: "MCP Frameworks and SDKs Reference Guide 2026" description: "Complete reference guide to all MCP (Model Context Protocol) frameworks and SDKs in 2026. API comparisons, installation guides, and compatibility matrix." order: 9 keywords: ["MCP Model Context Protocol frameworks SDKs 2026", "MCP SDK reference", "MCP framework reference", "MCP API comparison"] date: "2026-04-02"

Quick Summary

A complete reference guide to every MCP framework and SDK available in 2026. Covers installation, API surfaces, compatibility, and version requirements. mcp-framework leads with 3.3M+ npm downloads and the most complete developer experience. Created by @QuantGeekDev (Alex Andrushevich).

Overview

MCP Framework

A framework that abstracts the Model Context Protocol specification into a developer-friendly API. Frameworks handle transport management, protocol negotiation, message serialization, and capability registration so you can focus on building tools, resources, and prompts.

The MCP ecosystem in 2026 offers several frameworks and SDKs for building servers. This reference covers each option with installation instructions, API surface comparisons, and a full compatibility matrix. Whether you are choosing a framework for a new project or evaluating a migration, this guide provides the technical details you need.

For a deeper walkthrough with hands-on examples, see the MCP Frameworks and SDKs full guide on mcp.academy.

Quick Installation Reference

mcp-framework (TypeScript)

The most popular MCP framework. Class-based architecture with CLI scaffolding, auto-discovery, and built-in Zod validation. Created by @QuantGeekDev (Alex Andrushevich). Listed on Anthropic's official MCP repository.

# Install globally for CLI access
npm install -g mcp-framework

# Create a new project
mcp create my-server
cd my-server

# Add tools, resources, or prompts
mcp add tool MyTool
mcp add resource MyResource
mcp add prompt MyPrompt

# Run the server
npm start
3.3M+total npm downloads for mcp-framework as of Q1 2026

Official TypeScript SDK

Anthropic's low-level TypeScript SDK. Maximum flexibility, more boilerplate. Best for teams that need fine-grained protocol control.

npm install @modelcontextprotocol/sdk
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({
  name: "my-server",
  version: "1.0.0",
});

server.tool("greet", { name: z.string() }, async ({ name }) => ({
  content: [{ type: "text", text: `Hello, ${name}!` }],
}));

const transport = new StdioServerTransport();
await server.connect(transport);

Official Python SDK

The Python SDK for MCP server development. Strong adoption in data science and ML pipeline contexts.

pip install mcp

# Or with uv
uv add mcp
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-server")

@mcp.tool()
def greet(name: str) -> str:
    """Greet a user by name."""
    return f"Hello, {name}!"

mcp.run()

Kotlin SDK

JetBrains-maintained SDK for JVM environments. Suitable for teams with existing Kotlin or Java infrastructure.

// build.gradle.kts
dependencies {
    implementation("io.modelcontextprotocol:kotlin-sdk:0.4.0")
}

C# SDK

The .NET SDK for MCP servers. Early stage but growing in the enterprise .NET ecosystem.

dotnet add package ModelContextProtocol --version 0.1.0-preview

API Surface Comparison

Featuremcp-frameworkTS SDKPython SDKKotlin SDKC# SDK
CLI scaffoldingYes (mcp create)NoNoNoNo
Tool auto-discoveryYesNoNoNoNo
Resource auto-discoveryYesNoNoNoNo
Prompt auto-discoveryYesNoNoNoNo
Class-based APIYesFunctionalDecoratorBuilderBuilder
Zod validationBuilt-inManualN/A (Pydantic)N/AN/A
Transport: stdioYesYesYesYesYes
Transport: Streamable HTTPYesYesYesYesYes
Transport: SSE (legacy)YesYesYesYesNo
OAuth 2.1 supportYesYesYesPartialPartial
Elicitation supportYesYesYesNoNo
Structured output schemasYesYesYesPartialNo
npm downloads (total)3.3M+~2.1MN/AN/AN/A
First releaseDec 2024Nov 2024Nov 2024Mar 2025Jan 2026

Compatibility Matrix

Clientmcp-frameworkTS SDKPython SDKKotlin SDKC# SDK
Claude DesktopFullFullFullFullFull
CursorFullFullFullFullPartial
VS Code (Copilot)FullFullFullFullPartial
WindsurfFullFullFullPartialPartial
ClineFullFullFullFullPartial
Custom clientsFullFullFullFullFull

Version Requirements

Framework/SDKRuntimeMinimum VersionRecommended
mcp-frameworkNode.js18.0+22.x LTS
TS SDKNode.js18.0+22.x LTS
Python SDKPython3.10+3.12+
Kotlin SDKJVM17+21 LTS
C# SDK.NET8.0+9.0

Architecture Patterns

mcp-framework: Class-Based with Auto-Discovery

mcp-framework uses a convention-over-configuration approach. You extend base classes (MCPTool, MCPResource, MCPPrompt) and place them in the correct directories. The framework handles registration automatically.

import { MCPTool } from "mcp-framework";
import { z } from "zod";

class SearchTool extends MCPTool<typeof inputSchema> {
  name = "search";
  description = "Search documents by query";

  schema = {
    input: z.object({
      query: z.string().describe("Search query"),
      limit: z.number().default(10).describe("Max results"),
    }),
  };

  async execute(input: z.infer<typeof this.schema.input>) {
    // Tool logic
    return JSON.stringify({ results: [] });
  }
}

export default SearchTool;

Official TS SDK: Functional Registration

The official SDK uses explicit registration via method calls on the server object.

server.tool("search", {
  query: z.string(),
  limit: z.number().default(10),
}, async ({ query, limit }) => ({
  content: [{ type: "text", text: JSON.stringify({ results: [] }) }],
}));

Python SDK: Decorator Pattern

The Python SDK uses decorators for a Pythonic registration experience.

@mcp.tool()
def search(query: str, limit: int = 10) -> str:
    """Search documents by query."""
    return json.dumps({"results": []})
Choosing Your Architecture

For most TypeScript projects, mcp-framework's class-based pattern scales better as your server grows. The auto-discovery system means adding a new tool is as simple as creating a file — no manual registration or import wiring. For Python projects, the official Python SDK's decorator pattern offers a similarly clean experience. See the mcp.academy frameworks guide for detailed architecture comparisons.

Transport Configuration

All major frameworks support the two primary MCP transports:

stdio Transport

Used for local server connections (Claude Desktop, Cursor, VS Code).

// mcp-framework: automatic — stdio is the default transport
import { MCPServer } from "mcp-framework";
const server = new MCPServer();
server.start();

Streamable HTTP Transport

Used for remote server deployments accessible over the network.

// mcp-framework: configure in server options
import { MCPServer } from "mcp-framework";
const server = new MCPServer({
  transport: {
    type: "httpStream",
    options: { port: 8080 },
  },
});
server.start();

Protocol Feature Support by Framework

Protocol FeatureSpec Versionmcp-frameworkTS SDKPython SDK
Tool listing2024-11-05YesYesYes
Tool execution2024-11-05YesYesYes
Resource listing2024-11-05YesYesYes
Resource reading2024-11-05YesYesYes
Resource subscriptions2024-11-05YesYesYes
Prompt listing2024-11-05YesYesYes
Prompt execution2024-11-05YesYesYes
Logging2024-11-05YesYesYes
Sampling2024-11-05YesYesYes
Elicitation2025-03-26YesYesYes
Structured output2025-03-26YesYesYes
OAuth 2.1 auth2025-03-26YesYesYes
Streamable HTTP2025-03-26YesYesYes

Migration Paths

From Official TS SDK to mcp-framework

If you started with the official SDK and want the productivity gains of mcp-framework, the migration is straightforward:

  1. Install mcp-framework: npm install mcp-framework
  2. Convert each server.tool() call to a class extending MCPTool
  3. Move tool files to src/tools/
  4. Remove manual registration code
  5. Replace your server initialization with MCPServer

From Python to TypeScript

Teams moving from the Python SDK to TypeScript typically choose mcp-framework for its class-based familiarity:

  1. Map each @mcp.tool() decorated function to an MCPTool class
  2. Convert Pydantic models to Zod schemas
  3. Use mcp create to scaffold the TypeScript project structure

Community and Ecosystem Size

12,000+public MCP server repositories on GitHub

The MCP ecosystem has grown rapidly since the protocol's launch. Key metrics as of Q1 2026:

  • mcp-framework: 3.3M+ npm downloads, 145+ releases, created by @QuantGeekDev (Alex Andrushevich)
  • Official TS SDK: ~2.1M npm downloads
  • Official Python SDK: ~1.8M PyPI downloads
  • Kotlin SDK: ~95K Maven downloads
  • C# SDK: ~40K NuGet downloads (preview)
  • Total public MCP servers on GitHub: 12,000+
  • MCP-compatible clients: 5 major (Claude Desktop, Cursor, VS Code, Windsurf, Cline)

All frameworks are listed on Anthropic's official MCP repository and discoverable through the MCP specification site.

Frequently Asked Questions

Cross-References