Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Python: support mcp 2.x (Python SDK): pin blocks mcp 2.0.0

Đang mở
#14,246 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
68/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python
Lĩnh vực
api

Hướng nghiên cứu

Bắt đầu với các dependency pin trong python/pyproject.toml:59 và :99, sau đó kiểm tra các import bị ảnh hưởng, việc đọc thuộc tính, thiết lập client và các server handler trong python/semantic_kernel/connectors/mcp.py. Kiểm tra các giao diện SDK mcp 2.0 được mô tả trong issue và xác minh rằng việc cài đặt và Python MCP connector hoạt động với mcp==2.0.0 cùng các dependency floor bắt buộc của nó.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

semantic-kernel currently pins the MCP Python SDK to the 1.x line and cannot be installed alongside mcp 2.0.0 (released 2026-07-28). This issue tracks the breaking changes in mcp 2.0 that affect the Python MCP connector.

Current pins
  • mcp>=1.26.0,<2.0 — python/pyproject.toml:59
  • mcp>=1.8,<2.0 — python/pyproject.toml:99 (the mcp extra)
Breaking changes in mcp 2.0 that affect semantic-kernel

All in python/semantic_kernel/connectors/mcp.py, verified against the installed mcp==2.0.0 SDK:

  1. streamablehttp_client renamed → streamable_http_client, and dropped kwargs.

    • mcp.py:20 — from mcp.client.streamable_http import streamablehttp_client
    • mcp.py:897 — return streamablehttp_client(**args) where args includes headers, timeout, sse_read_timeout (mcp.py:887-895). In 2.0 these kwargs are removed; headers/timeouts must move onto an httpx2.AsyncClient passed as http_client=.
  2. ClientSession(read_timeout_seconds=timedelta(...)) now takes a float.

    • mcp.py:337 — read_timeout_seconds=timedelta(seconds=self.request_timeout) → pass a float of seconds.
  3. McpError renamed → MCPError.

    • mcp.py:24 — from mcp.shared.exceptions import McpError; used at mcp.py:619, 637, 1125, 1158. In 2.0 the name is MCPError (constructor MCPError(code, message, data=None)).
  4. camelCase attribute reads on mcp.types → snake_case.

    • mcp.py:113, 115, 120 — mcp_type.mimeType → mime_type
    • mcp.py:133 — mcp_type.toolUseId → tool_use_id
    • mcp.py:207, 208 — tool.inputSchema.get(...) → input_schema
  5. Lowlevel @server.list_tools() / @server.call_tool() decorators removed.

    • mcp.py:1091 — @server.list_tools(); mcp.py:1118 — @server.call_tool() (in the MCPServer class, from mcp.server.lowlevel import Server at mcp.py:22). In 2.0 handlers are registered via the Server(...) constructor (on_list_tools= / on_call_tool=).
Notes
  • Dependency-floor updates. mcp 2.0 requires pydantic>=2.12, anyio>=4.9, typing-extensions>=4.13, and adds required deps opentelemetry-api and mcp-types (exact-pinned to the SDK version); the SDK's HTTP layer moved from httpx/httpx-sse to httpx2>=2.5.0.

Happy to help with a PR if the maintainers are open to it.

Ngôn ngữ chính
C#
Star
28.6k
Fork
4.8k
Merge trung bình
13 giờ 24 phút
Pull request đã merge (30 ngày)
11

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/semantic-kernel

Tất cả issue của microsoft/semantic-kernel

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.