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
12 changed files with 1040 additions and 867 deletions

View file

@ -8,9 +8,9 @@ resumability tests themselves.
"""
import anyio
from mcp_types import JSONRPCMessage
from mcp.server.streamable_http import EventCallback, EventId, EventMessage, EventStore, StreamId
from mcp.types import JSONRPCMessage
class SequencedEventStore(EventStore):

View file

@ -11,11 +11,7 @@ import warnings
import anyio
import coverage
from mcp.server import Server, ServerRequestContext
from mcp.server.stdio import stdio_server
from mcp.shared.exceptions import MCPDeprecationWarning
from mcp.types import (
from mcp_types import (
CallToolRequestParams,
CallToolResult,
EmptyResult,
@ -26,6 +22,10 @@ from mcp.types import (
Tool,
)
from mcp.server import Server, ServerRequestContext
from mcp.server.stdio import stdio_server
from mcp.shared.exceptions import MCPDeprecationWarning
async def list_tools(ctx: ServerRequestContext, params: PaginatedRequestParams | None) -> ListToolsResult:
return ListToolsResult(

View file

@ -10,15 +10,16 @@ from collections.abc import AsyncIterator
import anyio
import httpx
import mcp_types as types
import pytest
from inline_snapshot import snapshot
from mcp_types import INVALID_REQUEST, CallToolResult, ErrorData, ListToolsResult, TextContent, Tool
from starlette.types import Receive, Scope, Send
from mcp import MCPError, types
from mcp import MCPError
from mcp.client.client import Client
from mcp.client.streamable_http import streamable_http_client
from mcp.server import Server, ServerRequestContext
from mcp.types import INVALID_REQUEST, CallToolResult, ErrorData, ListToolsResult, TextContent, Tool
from tests.interaction._connect import BASE_URL, NO_DNS_REBINDING_PROTECTION, client_via_http, mounted_app
from tests.interaction._requirements import requirement
from tests.interaction.transports._bridge import StreamingASGITransport

View file

@ -9,10 +9,10 @@ import anyio
import httpx
import pytest
from inline_snapshot import snapshot
from mcp_types import CallToolResult, LoggingMessageNotificationParams, TextContent
from mcp.client.session import LoggingFnT
from mcp.server.mcpserver import Context, MCPServer
from mcp.types import CallToolResult, LoggingMessageNotificationParams, TextContent
from tests.interaction._connect import client_via_http, connect_over_sse, mounted_app
from tests.interaction._requirements import requirement

View file

@ -11,11 +11,7 @@ import pytest
from anyio.lowlevel import checkpoint
from httpx_sse import ServerSentEvent, aconnect_sse
from inline_snapshot import snapshot
from mcp.server import Server, ServerRequestContext
from mcp.server.transport_security import TransportSecuritySettings
from mcp.shared.version import MODERN_PROTOCOL_VERSIONS
from mcp.types import (
from mcp_types import (
CLIENT_CAPABILITIES_META_KEY,
CLIENT_INFO_META_KEY,
INVALID_PARAMS,
@ -36,6 +32,10 @@ from mcp.types import (
SubscribeRequestParams,
TextContent,
)
from mcp_types.version import MODERN_PROTOCOL_VERSIONS
from mcp.server import Server, ServerRequestContext
from mcp.server.transport_security import TransportSecuritySettings
from tests.interaction._connect import (
base_headers,
initialize_body,

View file

@ -15,13 +15,7 @@ import anyio
import httpx
import pytest
from inline_snapshot import snapshot
from mcp import MCPError
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.server import Server, ServerRequestContext
from mcp.shared.version import LATEST_MODERN_VERSION
from mcp.types import (
from mcp_types import (
CLIENT_CAPABILITIES_META_KEY,
INTERNAL_ERROR,
INVALID_PARAMS,
@ -41,6 +35,12 @@ from mcp.types import (
TextContent,
Tool,
)
from mcp_types.version import LATEST_MODERN_VERSION
from mcp import MCPError
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.server import Server, ServerRequestContext
from tests.interaction._connect import BASE_URL, base_headers, initialize_via_http, mounted_app
from tests.interaction._requirements import requirement

View file

@ -16,13 +16,7 @@ import httpx
import pytest
from httpx_sse import EventSource, ServerSentEvent
from inline_snapshot import snapshot
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.server.mcpserver import Context, MCPServer
from mcp.shared.message import ClientMessageMetadata
from mcp.shared.version import LATEST_HANDSHAKE_VERSION
from mcp.types import (
from mcp_types import (
CallToolRequest,
CallToolRequestParams,
CallToolResult,
@ -33,6 +27,12 @@ from mcp.types import (
TextContent,
jsonrpc_message_adapter,
)
from mcp_types.version import LATEST_HANDSHAKE_VERSION
from mcp.client.session import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.server.mcpserver import Context, MCPServer
from mcp.shared.message import ClientMessageMetadata
from tests.interaction._connect import (
BASE_URL,
base_headers,

View file

@ -12,9 +12,9 @@ import anyio
import httpx
import pytest
from inline_snapshot import snapshot
from mcp_types import JSONRPCResponse, ListToolsResult, PaginatedRequestParams, Tool
from mcp.server import Server, ServerRequestContext
from mcp.types import JSONRPCResponse, ListToolsResult, PaginatedRequestParams, Tool
from tests.interaction._connect import (
base_headers,
client_via_http,

View file

@ -10,12 +10,7 @@ onto a connection negotiated at the current protocol version fails here.
import httpx
import pytest
from inline_snapshot import snapshot
from mcp.client.client import Client
from mcp.client.streamable_http import streamable_http_client
from mcp.server import Server, ServerRequestContext
from mcp.shared.message import SessionMessage
from mcp.types import (
from mcp_types import (
CallToolRequestParams,
CallToolResult,
ListToolsResult,
@ -23,6 +18,11 @@ from mcp.types import (
TextContent,
Tool,
)
from mcp.client.client import Client
from mcp.client.streamable_http import streamable_http_client
from mcp.server import Server, ServerRequestContext
from mcp.shared.message import SessionMessage
from tests.interaction._connect import BASE_URL, mounted_app
from tests.interaction._helpers import RecordingTransport
from tests.interaction._modern_vocab import RecordedExchange, assert_no_modern_vocabulary

View file

@ -13,11 +13,11 @@ import anyio
import httpx
import pytest
from inline_snapshot import snapshot
from mcp_types import EmptyResult
from mcp.client.client import Client
from mcp.client.sse import sse_client
from mcp.server import Server
from mcp.types import EmptyResult
from tests.interaction._connect import BASE_URL, build_sse_app
from tests.interaction._requirements import requirement
from tests.interaction.transports._bridge import StreamingASGITransport

View file

@ -20,13 +20,7 @@ from pathlib import Path
import anyio
import pytest
from inline_snapshot import snapshot
from mcp.client import stdio
from mcp.client.client import Client
from mcp.client.stdio import StdioServerParameters, stdio_client
from mcp.server.stdio import stdio_server
from mcp.shared.message import SessionMessage
from mcp.types import (
from mcp_types import (
CallToolResult,
JSONRPCNotification,
JSONRPCRequest,
@ -34,7 +28,13 @@ from mcp.types import (
LoggingMessageNotificationParams,
TextContent,
)
from mcp.types.jsonrpc import jsonrpc_message_adapter
from mcp_types.jsonrpc import jsonrpc_message_adapter
from mcp.client import stdio
from mcp.client.client import Client
from mcp.client.stdio import StdioServerParameters, stdio_client
from mcp.server.stdio import stdio_server
from mcp.shared.message import SessionMessage
from tests.interaction._connect import initialize_body
from tests.interaction._requirements import requirement
from tests.interaction.transports import _stdio_server

View file

@ -10,13 +10,7 @@ through the suite's streaming ASGI bridge — no sockets, threads, or subprocess
import anyio
import pytest
from inline_snapshot import snapshot
from pydantic import BaseModel
from mcp.client import ClientRequestContext
from mcp.server.elicitation import AcceptedElicitation
from mcp.server.mcpserver import Context, MCPServer
from mcp.shared.exceptions import MCPError
from mcp.types import (
from mcp_types import (
INVALID_REQUEST,
CallToolResult,
ElicitRequestParams,
@ -27,6 +21,12 @@ from mcp.types import (
ResourceUpdatedNotificationParams,
TextContent,
)
from pydantic import BaseModel
from mcp.client import ClientRequestContext
from mcp.server.elicitation import AcceptedElicitation
from mcp.server.mcpserver import Context, MCPServer
from mcp.shared.exceptions import MCPError
from tests.interaction._connect import connect_over_streamable_http
from tests.interaction._helpers import IncomingMessage
from tests.interaction._requirements import requirement