# MCP Python SDK review

> MCP Python SDK is the official Python library for building Model Context Protocol servers and clients.

Devtoolwatch Board, the week of Oct 25–31, 2026. Canonical page: https://index.devtoolwatch.com/tools/mcp-py-sdk/

## TL;DR

MCP Python SDK is the official Python implementation of the Model Context Protocol. It is for Python developers who want to expose tools, resources, and prompts to LLM applications, or connect to MCP servers. Type-hinted functions become the schema, so you write no JSON Schema, request parsing, or protocol handling.

## MCP Python SDK at a glance

- **Category:** [MCP and agent tools](https://index.devtoolwatch.com/categories/mcp-servers/)
- **Maintained by:** Model Context Protocol (organization, [@modelcontextprotocol](https://github.com/modelcontextprotocol) on GitHub)
- **License:** MIT
- **Language:** Python, Shell, JavaScript
- **Repository:** [github.com/modelcontextprotocol/python-sdk](https://github.com/modelcontextprotocol/python-sdk)
- **Website:** [py.sdk.modelcontextprotocol.io](https://py.sdk.modelcontextprotocol.io/)
- **PyPI package:** [mcp](https://pypi.org/project/mcp/) 2.3.0
- **Latest release:** [v2.3.0](https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.3.0) on GitHub, Oct 2, 2026
- **First published:** Sep 24, 2024

## What MCP Python SDK does

- MCP Python SDK builds MCP servers that expose tools, resources, and prompts to any MCP host.
- MCP Python SDK builds MCP clients that connect to any MCP server.
- MCP Python SDK supports the standard transports: stdio, Streamable HTTP, and SSE.
- MCP Python SDK generates tool schemas from Python type hints and docstrings, with no hand-written validation code.
- MCP Python SDK includes an optional mcp command-line tool with dev, run, and install commands.
- MCP Python SDK lets prompt messages include Image and Audio content.
- MCP Python SDK applies a 4 MiB request body limit to the SSE transport and OAuth endpoints.

### How it works

MCP Python SDK runs as a Python package. You decorate functions with @mcp.tool() or @mcp.resource() on an MCPServer. You serve it with mcp run, for example over Streamable HTTP. A Client connects by URL, launches a local server as a stdio subprocess, or uses a custom transport. mcp dev opens the Node.js-based MCP Inspector for testing.

## How to install MCP Python SDK

**With uv**

```
uv add "mcp[cli]"
```

**With pip**

```
pip install "mcp[cli]"
```

**Upgrade with pip**

```
pip install -U mcp
```

### Requirements

- Python 3.11 or newer
- npx on your PATH for mcp dev, because the MCP Inspector is a Node.js app
- httpx2 2.10.0 or newer as of v2.3.0

### First steps

1. Create server.py with an MCPServer, an add tool, and a greeting resource.
2. Run uv run mcp dev server.py to start the server and open the MCP Inspector.
3. In the Inspector, call add with a=1 and b=2, then read greeting://World.
4. Serve over HTTP with uv run mcp run server.py --transport streamable-http and connect a Client.

## Who MCP Python SDK is for

- Python developers exposing data or functions to LLM applications through MCP
- Developers building Python clients that call tools on MCP servers
- Teams deploying MCP servers over Streamable HTTP

### Limitations

- MCP Python SDK v2 has breaking changes from v1; a migration guide covers them.
- MCP Python SDK HTTP clients follow redirects only within the endpoint's origin since v2.2.0.
- MCP Python SDK tools with an invalid x-mcp-header annotation fail at registration as of v2.3.0.

## Usage data (the week of Oct 25–31, 2026)

- Board rank: #172 overall, #24 in MCP and agent tools, momentum score 48
- Downloads that week: 71.1M (+12% vs 4-week average)
- New GitHub stars per week (last 12 weeks): Aug 9: 84; Aug 16: 85; Aug 23: 79; Aug 30: 61; Sep 6: 81; Sep 13: 77; Sep 20: 72; Sep 27: 76; Oct 4: 74; Oct 11: 76; Oct 18: 72; Oct 25: 66

## MCP Python SDK alternatives

| Rank | Tool | Stars | Downloads/wk |
|---|---|---|---|
| #1 | [REA](https://index.devtoolwatch.com/tools/morluto-rea/) | 415.5k | 760.6k |
| #2 | [ha-mcp](https://index.devtoolwatch.com/tools/homeassistant-ai-ha-mcp/) | 5.4k | 118.1k |
| #3 | [Treg](https://index.devtoolwatch.com/tools/superdesigndev-treg/) | 6.9k | 6.7k |
| #4 | [Chrome DevTools MCP](https://index.devtoolwatch.com/tools/chrome-devtools-mcp/) | 54.6k | 2.7M |
| #5 | [codebase-memory-mcp](https://index.devtoolwatch.com/tools/deusdata-codebase-memory-mcp/) | 47.9k | – |
| #6 | [open-computer-use](https://index.devtoolwatch.com/tools/ifuryst-open-computer-use/) | 2.8k | – |

## MCP Python SDK FAQ

### Is MCP Python SDK free and open source?

Yes. MCP Python SDK's source code is on GitHub (modelcontextprotocol/python-sdk) under the MIT license, so you can use it for free.

### How do I install MCP Python SDK?

Run `uv add "mcp[cli]"`. The mcp package needs Python 3.10 or newer. The install section above has the other options from the project's README.

### Is MCP Python SDK still maintained?

Yes. The modelcontextprotocol/python-sdk repository was last updated on Oct 17, 2026, and the latest release, v2.3.0 on GitHub, came out on Oct 2, 2026.

### How popular is MCP Python SDK?

MCP Python SDK has 24.7k GitHub stars as of Nov 1, 2026. It gained 66 new stars in the week of Oct 25–31, 2026, against a 12-week average of 75 a week. Its main package had 71.1M downloads that week, +12% against its own 4-week average. That made it #24 among MCP servers and agent tools on the Devtoolwatch Board.

### MCP Python SDK vs FastMCP: how do they compare?

MCP Python SDK and FastMCP are both tracked by Devtoolwatch as MCP servers and agent tools. MCP Python SDK has 24.7k GitHub stars and FastMCP has 28.3k. In the week of Oct 25–31, 2026, MCP Python SDK's main package had 71.1M downloads and FastMCP's had 13.1M. FastMCP is a Python framework for building Model Context Protocol servers, clients, and interactive apps that connect LLMs to tools and data. [FastMCP review](https://index.devtoolwatch.com/tools/fastmcp/)

### What are the best alternatives to MCP Python SDK?

Other MCP servers and agent tools on the Devtoolwatch Board in the week of Oct 25–31, 2026, by momentum: REA (#1), ha-mcp (#2), Treg (#3), Chrome DevTools MCP (#4), codebase-memory-mcp (#5). The alternatives table above has their numbers.

### What is MCP Python SDK?

MCP Python SDK is the official Python SDK for the Model Context Protocol. It builds MCP servers that expose tools, resources, and prompts, and MCP clients that connect to any MCP server, over stdio, Streamable HTTP, or SSE.

### What happened to mcp.server.fastmcp in v2?

MCP Python SDK v2 points imports of mcp.server.fastmcp at the migration guide. The maintainers suggest either pinning mcp<2 or upgrading to v2. v2 servers use MCPServer from mcp.server.

### Do I need to write JSON Schema for tools?

MCP Python SDK does not require JSON Schema. Type hints such as a: int, b: int are the schema, and the SDK handles request parsing, serialization, validation, and protocol handling.

### Can a Client launch a local server?

MCP Python SDK's Client can launch a local server as a stdio subprocess. Since v2.1.0 it accepts StdioServerParameters directly. Passing a URL uses Streamable HTTP.

### Is the 1.x line still maintained?

MCP Python SDK 1.x still gets maintenance releases, such as v1.30.0. 2.x is the current line. The 1.x docs are at https://py.sdk.modelcontextprotocol.io/v1/.

## Sources

1. [modelcontextprotocol/python-sdk on GitHub](https://github.com/modelcontextprotocol/python-sdk)
2. [MCP Python SDK README](https://github.com/modelcontextprotocol/python-sdk/blob/main/README.md)
3. [mcp on PyPI](https://pypi.org/project/mcp/)
4. [MCP Python SDK website](https://py.sdk.modelcontextprotocol.io/)
5. [Release v2.3.0 (Oct 2, 2026)](https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.3.0)
6. [Release v2.2.0 (Sep 7, 2026)](https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0)
7. [Release v1.30.0 (Sep 7, 2026)](https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0)
8. [Devtoolwatch Board, the week of Oct 25–31, 2026](https://index.devtoolwatch.com/)
