mcp
Model Context Protocol SDK
Decision gist · record as of 2026-08-14
Yes. The package is actively maintained, production-stable (v2.0.0), has no known vulnerabilities, and low install friction. Install it if you need to build or connect to servers. If you are on v1.x and not ready to migrate, pin mcp>=1.28,<2 until you've reviewed the breaking changes.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- All client operations are async.
- Low friction: pure Python wheel with no compiled dependencies.
License · maintenance · safety
MIT (permissive) — MIT license (permissive). No restrictions on commercial or proprietary use; attribution required but no copyleft obligations.
last release 2026-07-28 (17 days) · last repo commit 2026-08-12 · 23,999 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 319,271,720 downloads/mo, #130 on PyPI
Alternatives
Verify before relying
pip install "mcp[cli]"
from mcp.server import MCPServer
mcp = MCPServer("Demo")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
import asyncio
from mcp import Client
async def main():
async with Client(mcp) as client:
result = await client.call_tool("add", {"a": 1, "b": 2})
print(result.structured_content)- Stability and maturity level of mcp-types and httpx2 dependencies.
- Performance characteristics under high concurrency or large payloads.
- Completeness of 2026-07-28 specification support relative to earlier revisions.
- Whether v1.x branch will continue receiving updates beyond critical security patches.
What it is and what it does
This package is a Python implementation of the Model Context Protocol, a standardized way to expose data and functionality to LLM applications. It lets you build servers that publish tools (callable functions), resources (templated data), and prompts to any host, and clients that connect to those servers. The SDK handles protocol details—JSON Schema generation from type hints, request parsing, validation, and transport negotiation—leaving you to write plain Python functions with docstrings and type annotations.
The package supports three standard transports: stdio, Streamable HTTP, and SSE. You can run servers standalone, embed them in applications, or connect clients to remote servers with identical code. v2 is a major architectural rework; v1.x remains available on a separate branch for gradual migration.
Use it for
- Build a server that exposes your application's internal tools and data to LLM hosts without writing transport or validation code.
- Create a client that connects to multiple remote servers to aggregate tools and resources for an AI workflow.
- Integrate LLM capabilities into existing Python applications by wrapping business logic as tools and resources.
- Test servers in-memory without transport overhead by passing the server object directly to a client.
- Expose a Python function library as a standardized interface for use by any compatible host.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The package is actively maintained, production-stable (v2.0.0), has no known vulnerabilities, and low install friction. Install it if you need to build or connect to servers. If you are on v1.x and not ready to migrate, pin mcp>=1.28,<2 until you've reviewed the breaking changes.
Install
mcp on PyPI
Before you install
Low friction: pure Python wheel with no compiled dependencies. Active maintenance—released 17 days ago, last commit 2026-08-12, 23999 stars. Supports Python 3.10 through 3.14.
Requires Python 3.10 or later. All client operations are async.
License in practice
MIT license (permissive). No restrictions on commercial or proprietary use; attribution required but no copyleft obligations.
Quickstart
pip install "mcp[cli]"
from mcp.server import MCPServer
mcp = MCPServer("Demo")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
import asyncio
from mcp import Client
async def main():
async with Client(mcp) as client:
result = await client.call_tool("add", {"a": 1, "b": 2})
print(result.structured_content)
Verify before relying
- Stability and maturity level of mcp-types and httpx2 dependencies.
- Performance characteristics under high concurrency or large payloads.
- Completeness of 2026-07-28 specification support relative to earlier revisions.
- Whether v1.x branch will continue receiving updates beyond critical security patches.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 14 packagesanyiohttpx2jsonschemamcp-typesopentelemetry-apipydanticpyjwtpython-multipartpywin32sse-starlettestarlettetyping-extensionstyping-inspectionuvicorn |
| Maintenance | Actively maintained 17 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 319,271,720 / month, #130 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: mcp-2.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “model context protocol sdk”
- mcpBuild and connect to Model Context Protocol servers that expose…
- strands-agentsStrands Agents is a Python SDK for building AI agents that work with…
- uipath-mcpHosts local Model Context Protocol (MCP) servers on the UiPath…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
Flask is a lightweight WSGI web application framework for building web applications in Python, from simple single-page sites to complex multi-route applications.
See also dify-plugin · fastapi-mcp · mcp-server-time · mcp-types · mcp-use · arcade-mcp · cli-mcp-server · mcp-server-git · llama-index-tools-mcp · mcp-server-fetch