SOLFIND
Web Lens
Portal home

GitHub - modelcontextprotocol/python-sdk: The official Python SDK for Model Context Protocol servers and clients · GitHub

https://github.com/modelcontextprotocol/python-sdk • 346 KB fetched
Open original page


GitHub - modelcontextprotocol/python-sdk: The official Python SDK for Model Context Protocol servers and clients · GitHub Skip to content Navigation Menu Sign in Appearance settings * Platform * AI CODE CREATION * GitHub Copilot Write better code with AI * GitHub Copilot app Direct agents from issue to merge * MCP Registry Integrate external tools * DEVELOPER WORKFLOWS * Actions Automate any workflow * Codespaces Instant dev environments * Issues Plan and track work * Code Review Manage code changes * Code Quality Enforce quality at merge * APPLICATION SECURITY * GitHub Advanced Security Find and fix vulnerabilities * Code security Secure your code as you build * Secret protection Stop leaks before they start * EXPLORE * Why GitHub * Documentation * Blog * Changelog * Marketplace View all features * Solutions * BY COMPANY SIZE * Enterprises * Small and medium teams * Startups * Nonprofits * BY USE CASE * App Modernization * DevSecOps * DevOps * CI/CD * View all use cases * BY INDUSTRY * Healthcare * Financial services * Manufacturing * Government * View all industries View all solutions * Resources * EXPLORE BY TOPIC * AI * Software Development * DevOps * Security * View all topics * EXPLORE BY TYPE * Customer stories * Events & webinars * Ebooks & reports * Business insights * GitHub Skills * SUPPORT & SERVICES * Documentation * Customer support * Community forum * Trust center * Partners View all resources * Open Source * COMMUNITY * GitHub Sponsors Fund open source developers * PROGRAMS * Security Lab * Maintainer Community * GitHub Stars * Archive Program * REPOSITORIES * Topics * Trending * Collections * Enterprise * ENTERPRISE SOLUTIONS * Enterprise platform AI-powered developer platform * AVAILABLE ADD-ONS * GitHub Advanced Security Enterprise-grade security features * Copilot for Business Enterprise-grade AI features * Premium Support Enterprise-grade 24/7 support * Pricing Search / Sign in Sign up Appearance settings You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert Uh oh! There was an error while loading. Please reload this page . modelcontextprotocol / python-sdk Public * Notifications You must be signed in to change notification settings * Fork 3.9k * Star 24.3k * Code * Issues 225 * Pull requests 183 * Actions * Projects * Security and quality 6 * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security and quality * Insights main Branches Tags Go to file Code Open more actions menu Latest commit   History 1,061 Commits 1,061 Commits Folders and files Name Name Last commit message Last commit date .claude .claude     .github .github     docs docs     docs_src docs_src     examples examples     i18n i18n     schema schema     scripts scripts     src src     tests tests     .git-blame-ignore-revs .git-blame-ignore-revs     .gitattributes .gitattributes     .gitignore .gitignore     .pre-commit-config.yaml .pre-commit-config.yaml     AGENTS.md AGENTS.md     CLAUDE.md CLAUDE.md     CODE_OF_CONDUCT.md CODE_OF_CONDUCT.md     CONTRIBUTING.md CONTRIBUTING.md     DEPENDENCY_POLICY.md DEPENDENCY_POLICY.md     LICENSE LICENSE     README.md README.md     RELEASE.md RELEASE.md     ROADMAP.md ROADMAP.md     SECURITY.md SECURITY.md     VERSIONING.md VERSIONING.md     mkdocs.yml mkdocs.yml     pyproject.toml pyproject.toml     uv.lock uv.lock     View all files Repository files navigation * * README * Code of conduct * Contributing * MIT license * Security More items MCP Python SDK Python implementation of the Model Context Protocol (MCP) Note This is v2 of the MCP Python SDK, the current stable release line. It is a major rework of the SDK, both to support the 2026-07-28 MCP specification (and every earlier revision) and to fix long-standing architectural issues. Coming from v1? See What's new in v2 for the tour of what changed and the migration guide for every breaking change. Not ready to migrate? v1.x lives on the v1.x branch , continues to receive critical bug fixes and security patches, and is documented at https://py.sdk.modelcontextprotocol.io/v1/ . Since pip install mcp now installs 2.x, keep a <2 upper bound on your requirement (for example mcp>=1.28,<2 ) until you've migrated. Something rough, confusing, or broken? Open an issue or find us in #python-sdk-dev on the MCP Contributors Discord . Documentation The documentation lives at https://py.sdk.modelcontextprotocol.io/ . It has a Get started guide , What's new in v2 , the API reference , and the migration guide . What is MCP? 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: * Build MCP servers that expose tools, resources, and prompts to any MCP host * Build MCP clients that connect to any MCP server * Speak every standard transport: stdio, Streamable HTTP, and SSE Requirements Python 3.10+. Installation uv add " mcp[cli] " # or: pip install "mcp[cli]" The cli extra adds the mcp command-line tool ( mcp dev , mcp run , mcp install ) on top of the SDK; install plain mcp if you don't need it. For one-off commands, uv run --with "mcp[cli]" mcp ... works without a project. A server in 15 lines 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 parsing, no validation code, no protocol handling. Two type-hinted Python functions and a docstring. Get started takes it from here. A client in 10 lines The same package is a full MCP client . Serve server.py over HTTP: uv run mcp run server.py --transport streamable-http then point a Client at it: import asyncio from mcp import Client async def main () -> None : async with Client ( "http://localhost:8000/mcp" ) as client : result = await client . call_tool ( "add" , { "a" : 1 , "b" : 2 }) print ( result . structured_content ) # {'result': 3} asyncio . run ( main ()) A URL means Streamable HTTP, the transport you deploy. Client can also launch a local server as a stdio subprocess or take any custom transport; Clients has the rest. Contributing We are passionate about supporting contributors of all levels of experience and would love to see you get involved in the project. See the contributing guide to get started. License This project is licensed under the MIT License. See the LICENSE file for details. About The official Python SDK for Model Context Protocol servers and clients py.sdk.modelcontextprotocol.io/ Topics mcp mcp-client mcp-server python Resources Readme MIT license Code of conduct Code of conduct Contributing Contributing Security policy Security policy Activity Custom properties Stars 24.3k stars Watchers 177 watching Forks 3.9k forks Report repository Releases Used by Contributors Languages Footer (c) 2026 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Community * Docs * Contact * Manage cookies * Do not share my personal information You can’t perform that action at this time.

Links found on this page

  1. Skip to content [direct]
  2. Sign in [direct]
  3. GitHub Copilot Write better code with AI [direct]
  4. GitHub Copilot app Direct agents from issue to merge [direct]
  5. MCP Registry Integrate external tools [direct]
  6. Actions Automate any workflow [direct]
  7. Codespaces Instant dev environments [direct]
  8. Issues Plan and track work [direct]
  9. Code Review Manage code changes [direct]
  10. Code Quality Enforce quality at merge [direct]
  11. GitHub Advanced Security Find and fix vulnerabilities [direct]
  12. Code security Secure your code as you build [direct]
  13. Secret protection Stop leaks before they start [direct]
  14. Why GitHub [direct]
  15. Documentation [direct]
  16. Blog [direct]
  17. Changelog [direct]
  18. Marketplace [direct]
  19. View all features [direct]
  20. Enterprises [direct]
  21. Small and medium teams [direct]
  22. Startups [direct]
  23. Nonprofits [direct]
  24. App Modernization [direct]
  25. DevSecOps [direct]
  26. DevOps [direct]
  27. CI/CD [direct]
  28. View all use cases [direct]
  29. Healthcare [direct]
  30. Financial services [direct]
  31. Manufacturing [direct]
  32. Government [direct]
  33. View all industries [direct]
  34. View all solutions [direct]
  35. AI [direct]
  36. Software Development [direct]
  37. DevOps [direct]
  38. Security [direct]
  39. View all topics [direct]
  40. Customer stories [direct]
  41. Events & webinars [direct]
  42. Ebooks & reports [direct]
  43. Business insights [direct]
  44. GitHub Skills [direct]
  45. Customer support [direct]
  46. Community forum [direct]
  47. Trust center [direct]
  48. Partners [direct]
  49. View all resources [direct]
  50. GitHub Sponsors Fund open source developers [direct]
  51. Security Lab [direct]
  52. Maintainer Community [direct]
  53. GitHub Stars [direct]
  54. Archive Program [direct]
  55. Topics [direct]
  56. Trending [direct]
  57. Collections [direct]
  58. Copilot for Business Enterprise-grade AI features [direct]
  59. Premium Support Enterprise-grade 24/7 support [direct]
  60. Pricing [direct]
  61. Sign up [direct]
  62. modelcontextprotocol [direct]
  63. Notifications [direct]
  64. Issues 225 [direct]
  65. Pull requests 183 [direct]
  66. Actions [direct]
  67. Projects [direct]
  68. Security and quality 6 [direct]
  69. Insights [direct]
  70. Branches [direct]
  71. Tags [direct]
  72. 1,061 Commits [direct]
  73. .claude [direct]
  74. .github [direct]
  75. docs [direct]
  76. docs_src [direct]
  77. examples [direct]
  78. i18n [direct]
  79. schema [direct]
  80. scripts [direct]