MCP Python SDK review
MCP Python SDK is the official Python library for building Model Context Protocol servers and clients.
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.
- 24.7kGitHub stars
- +66new stars, week of Oct 25
- 71.1Mdownloads a week, +12% vs 4-week avg
- #24in MCP and agent tools this week
MCP Python SDK at a glance
- Category
- MCP and agent tools
- Maintained by
- Model Context Protocol (organization, @modelcontextprotocol on GitHub)
- License
- MIT
- Language
- Python, Shell, JavaScript
- Repository
- github.com/modelcontextprotocol/python-sdk
- Website
- py.sdk.modelcontextprotocol.io
- PyPI package
- mcp 2.3.0
- Latest release
- 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 and start using MCP Python SDK
With uv
uv add "mcp[cli]"With pip
pip install "mcp[cli]"Upgrade with pip
pip install -U mcpRequirements
- 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
- Create server.py with an MCPServer, an add tool, and a greeting resource.
- Run uv run mcp dev server.py to start the server and open the MCP Inspector.
- In the Inspector, call add with a=1 and b=2, then read greeting://World.
- 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 to know
- 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.
Is MCP Python SDK growing? Usage data
In the week of Oct 25–31, 2026, MCP Python SDK ranked #172 on the Devtoolwatch Board and #24 in MCP and agent tools, with a momentum score of 48 out of 100. Its main package had 71.1M downloads that week, +12% against its own 4-week average.
Show the weekly numbers
| Week of | New stars |
|---|---|
| Aug 9, 2026 | 84 |
| Aug 16, 2026 | 85 |
| Aug 23, 2026 | 79 |
| Aug 30, 2026 | 61 |
| Sep 6, 2026 | 81 |
| Sep 13, 2026 | 77 |
| Sep 20, 2026 | 72 |
| Sep 27, 2026 | 76 |
| Oct 4, 2026 | 74 |
| Oct 11, 2026 | 76 |
| Oct 18, 2026 | 72 |
| Oct 25, 2026 | 66 |
The Board ranks tools by four signals each week: new stars, new stars for the repo's size, added downloads and download growth beyond the market. How the ranking works.
MCP Python SDK alternatives
Other MCP servers and agent tools on the Board in the week of Oct 25–31, 2026, by momentum:
| Rank | Tool | Stars | Downloads/wk |
|---|---|---|---|
| #1 | REAREA is an MCP server and CLI that lets coding agents reverse engineer native binaries, JavaScript and Electron apps, .NET assemblies,… | 415.5k | 760.6k |
| #2 | ha-mcpha-mcp is an unofficial Model Context Protocol server that lets AI assistants control and manage Home Assistant using natural language. | 5.4k | 118.1k |
| #3 | TregTreg is a registry and proxy that gives AI agents one token for a catalog of paid third-party API endpoints and team-shared tools. | 6.9k | 6.7k |
| #4 | Chrome DevTools MCPChrome DevTools MCP is an MCP server and CLI that lets coding agents control and inspect a live Chrome browser using Chrome DevTools. | 54.6k | 2.7M |
| #5 | codebase-memory-mcpHigh-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 162… | 47.9k | – |
| #6 | open-computer-use👾 Open Computer Use – Open-Source Alternative to Codex Computer Use | 2.8k | – |
Recent MCP Python SDK releases
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.
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
MCP Python SDK README badge
Maintainers can show the tool's weekly Board rank in their README:
[](https://index.devtoolwatch.com/tools/mcp-py-sdk/)How this page is made: Devtoolwatch writes each review from the project's README, releases, package metadata and website, with an AI model, then checks every claim against the source it cites and drops what the sources don't support. The numbers come from Devtoolwatch's daily GitHub snapshots, GitHub's stargazer history, and the npm and PyPI download APIs. Spotted an error? Email [email protected].