Split protocol types into a standalone mcp-types package (#2973)

This commit is contained in:
Marcelo Trylesinski 2026-06-25 19:18:38 +02:00 • committed by GitHub
commit 0ee7f1b293
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 1040 additions and 867 deletions

View file

@ -1,9 +1,9 @@
"""Test icon and metadata support (SEP-973)."""
import pytest
from mcp_types import Icon
from mcp.server.mcpserver import MCPServer
from mcp.types import Icon
pytestmark = pytest.mark.anyio

View file

@ -1,12 +1,12 @@
import pytest
from mcp_types import (
ListResourceTemplatesResult,
TextResourceContents,
)
from mcp import Client
from mcp.server.mcpserver import MCPServer
from mcp.server.mcpserver.exceptions import ResourceError
from mcp.types import (
ListResourceTemplatesResult,
TextResourceContents,
)
@pytest.mark.anyio

View file

@ -1,11 +1,8 @@
import base64
import mcp_types as types
import pytest
from mcp import Client, types
from mcp.server import Server, ServerRequestContext
from mcp.server.mcpserver import MCPServer
from mcp.types import (
from mcp_types import (
BlobResourceContents,
ListResourcesResult,
PaginatedRequestParams,
@ -14,6 +11,10 @@ from mcp.types import (
TextResourceContents,
)
from mcp import Client
from mcp.server import Server, ServerRequestContext
from mcp.server.mcpserver import MCPServer
pytestmark = pytest.mark.anyio

View file

@ -10,11 +10,9 @@ uri fields as strings with no JSON Schema format validation.
These tests verify the fix works end-to-end through the JSON-RPC protocol.
"""
import mcp_types as types
import pytest
from mcp import Client, types
from mcp.server import Server, ServerRequestContext
from mcp.types import (
from mcp_types import (
ListResourcesResult,
PaginatedRequestParams,
ReadResourceRequestParams,
@ -22,6 +20,9 @@ from mcp.types import (
TextResourceContents,
)
from mcp import Client
from mcp.server import Server, ServerRequestContext
pytestmark = pytest.mark.anyio

View file

@ -1,11 +1,6 @@
import anyio
import pytest
from mcp.server.lowlevel import NotificationOptions, Server
from mcp.server.models import InitializationOptions
from mcp.shared.message import SessionMessage
from mcp.shared.version import LATEST_HANDSHAKE_VERSION
from mcp.types import (
from mcp_types import (
ClientCapabilities,
Implementation,
InitializeRequestParams,
@ -15,6 +10,11 @@ from mcp.types import (
JSONRPCResponse,
NotificationParams,
)
from mcp_types.version import LATEST_HANDSHAKE_VERSION
from mcp.server.lowlevel import NotificationOptions, Server
from mcp.server.models import InitializationOptions
from mcp.shared.message import SessionMessage
@pytest.mark.anyio

View file

@ -7,10 +7,10 @@ This test verifies that binary resource data is encoded with standard base64
import base64
import pytest
from mcp_types import BlobResourceContents
from mcp import Client
from mcp.server.mcpserver import MCPServer
from mcp.types import BlobResourceContents
pytestmark = pytest.mark.anyio

View file

@ -6,11 +6,11 @@ from textwrap import dedent
import anyio
import pytest
from mcp_types import InitializeResult
from mcp_types.version import LATEST_HANDSHAKE_VERSION
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
from mcp.shared.version import LATEST_HANDSHAKE_VERSION
from mcp.types import InitializeResult
@pytest.mark.skipif(sys.platform != "win32", reason="Windows-specific test") # pragma: no cover

View file

@ -3,16 +3,11 @@
from pathlib import Path
import anyio
import mcp_types as types
import pytest
from anyio.abc import TaskStatus
from anyio.streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream
from mcp import types
from mcp.client.session import ClientSession
from mcp.server import Server, ServerRequestContext
from mcp.shared.exceptions import MCPError
from mcp.shared.message import SessionMessage
from mcp.types import (
from mcp_types import (
REQUEST_TIMEOUT,
CallToolRequestParams,
CallToolResult,
@ -21,6 +16,11 @@ from mcp.types import (
TextContent,
)
from mcp.client.session import ClientSession
from mcp.server import Server, ServerRequestContext
from mcp.shared.exceptions import MCPError
from mcp.shared.message import SessionMessage
@pytest.mark.anyio
async def test_notification_validation_error(tmp_path: Path):