The official Python SDK for Model Context Protocol servers and clients
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"python-sdk": {
"args": [
"-y",
"@modelcontextprotocol/inspector"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This README documents v1.x of the MCP Python SDK (the current stable release). > For v1.x code and documentation, see the v1.x branch. > For the upcoming v2 documentation (pre-alpha, in development on main), see README.v2.md.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
MCP Inspector is Vulnerable to Potential Command Execution via XSS When Connecting to an Untrusted MCP Server
An XSS flaw exists in the MCP Inspector local development tool when it renders a redirect URL returned by a remote MCP server. If the Inspector connects to an untrusted server, a crafted redirect can inject script into the Inspector context and, via the built-in proxy, be leveraged to trigger arbitrary command execution on the developer machine. Version 0.16.6 hardens URL handling/validation and prevents script execution. > Thank you to the following researchers for their reports and contributi
MCP Inspector proxy server lacks authentication between the Inspector client and proxy
Versions of MCP Inspector below 0.14.1 are vulnerable to remote code execution due to lack of authentication between the Inspector client and proxy, allowing unauthenticated requests to launch MCP commands over stdio. Users should immediately upgrade to version 0.14.1 or later to address these vulnerabilities. Credit: Rémy Marot <bughunters@tenable.com>
Click any tool to inspect its schema.
get_greetingGet a personalized greeting
greeting://{name}
greet_userGenerate a greeting prompt
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
MCP Security Weekly
Get CVE alerts and security updates for Python Sdk and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Python implementation of the Model Context Protocol (MCP)
[![PyPI][pypi-badge]][pypi-url] [![MIT licensed][mit-badge]][mit-url] [![Python Version][python-badge]][python-url] [![Documentation][docs-badge]][docs-url] [![Protocol][protocol-badge]][protocol-url] [![Specification][spec-badge]][spec-url]
[!CAUTION] This README documents v2 of the MCP Python SDK — a pre-release (alpha/beta) line under active development. Do not use v2 in production. Pre-releases are published to PyPI as
2.0.0aN/2.0.0bN, and each pre-release may contain breaking changes from the previous one. Pin an exact version and expect to update your code when you bump the pin.v1.x is the only stable release line and remains recommended for production. It lives on the
v1.xbranch and continues to receive critical bug fixes and security patches; see the v1.x README for its documentation.pipanduvdon't select a pre-release unless you explicitly request one, so existing installs are unaffected. If your package depends onmcp, add a<2upper bound to your version constraint (for examplemcp>=1.27,<2) before the stable release lands.v2 is a major rework of the SDK, both to support the 2026-07-28 MCP specification release and to fix long-standing architectural issues. See the migration guide for what's changed. Stable v2 is targeted for 2026-07-27, alongside the spec release. Try the pre-releases and tell us what breaks: #python-sdk-dev on the MCP Contributors Discord.
The documentation lives at https://py.sdk.modelcontextprotocol.io/v2/.
It has the full tutorial, the API reference, and the migration guide.
The Model Context Protocol lets you build servers that expose data and functionality to LLM applications in a secure, standardized way. Think of it like a web API, but designed for LLM interactions. With this SDK you can:
Python 3.10+.
uv add "mcp[cli]==2.0.0a3" # or: pip install "mcp[cli]==2.0.0a3"
The pin matters while v2 is in pre-release: an unpinned install resolves to the latest stable v1.x, which this README does not describe. Check PyPI for the newest pre-release, and use uv run --with "mcp==2.0.0a3" for one-off commands.
Create a server.py:
from mcp.server import MCPServer
mcp = MCPServer("Demo")
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers."""
return a + b
@mcp.resource("greeting://{name}")
def greeting(name: str) -> str:
"""Greet someone by name."""
return f"Hello, {name}!"
Full example: docs_src/index/tutorial001.py
That's a complete MCP server: one tool, one templated resource. Open it in the MCP Inspector:
uv run mcp dev server.py
Call add with a=1, b=2 and you get 3 back.
Notice what you did not write: no JSON Schema (a: int, b: int is the schema), no request pars