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

View file

@ -8,11 +8,11 @@ the handler's contract in isolation from the dispatch pipeline.
import importlib.metadata
from typing import Any, cast
import mcp_types as types
import pytest
from mcp_types.version import MODERN_PROTOCOL_VERSIONS
from mcp import types
from mcp.server import Server, ServerRequestContext
from mcp.shared.version import MODERN_PROTOCOL_VERSIONS
# `Server._handle_discover` ignores its `ctx` argument entirely (it derives the
# result from server state), so a sentinel keeps the call site type-correct

View file

@ -1,10 +1,7 @@
"""Basic tests for list_prompts, list_resources, and list_tools handlers without pagination."""
import pytest
from mcp import Client
from mcp.server import Server, ServerRequestContext
from mcp.types import (
from mcp_types import (
ListPromptsResult,
ListResourcesResult,
ListToolsResult,
@ -14,6 +11,9 @@ from mcp.types import (
Tool,
)
from mcp import Client
from mcp.server import Server, ServerRequestContext
@pytest.mark.anyio
async def test_list_prompts_basic() -> None:

View file

@ -1,14 +1,14 @@
import pytest
from mcp import Client
from mcp.server import Server, ServerRequestContext
from mcp.types import (
from mcp_types import (
ListPromptsResult,
ListResourcesResult,
ListToolsResult,
PaginatedRequestParams,
)
from mcp import Client
from mcp.server import Server, ServerRequestContext
@pytest.mark.anyio
async def test_list_prompts_pagination() -> None: