mirror of
https://github.com/aljazceru/mcp-python-sdk.git
synced 2025-12-19 14:54:24 +01:00
Typing fixes
Strict pyright mode results in a lot of issues regarding non fully determined types, due to Generics. These are some issues I came across today. We are still far from being clean on pyright.
This commit is contained in:
@@ -20,6 +20,8 @@ from mcp_python.types import (
|
|||||||
CompleteRequest,
|
CompleteRequest,
|
||||||
ErrorData,
|
ErrorData,
|
||||||
JSONRPCMessage,
|
JSONRPCMessage,
|
||||||
|
ListPromptsRequest,
|
||||||
|
ListPromptsResult,
|
||||||
ListResourcesRequest,
|
ListResourcesRequest,
|
||||||
ListResourcesResult,
|
ListResourcesResult,
|
||||||
LoggingLevel,
|
LoggingLevel,
|
||||||
@@ -57,8 +59,6 @@ class Server:
|
|||||||
return request_ctx.get()
|
return request_ctx.get()
|
||||||
|
|
||||||
def list_prompts(self):
|
def list_prompts(self):
|
||||||
from mcp_python.types import ListPromptsRequest, ListPromptsResult
|
|
||||||
|
|
||||||
def decorator(func: Callable[[], Awaitable[list[Prompt]]]):
|
def decorator(func: Callable[[], Awaitable[list[Prompt]]]):
|
||||||
logger.debug(f"Registering handler for PromptListRequest")
|
logger.debug(f"Registering handler for PromptListRequest")
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ class Server:
|
|||||||
|
|
||||||
async def handler(req: GetPromptRequest):
|
async def handler(req: GetPromptRequest):
|
||||||
prompt_get = await func(req.params.name, req.params.arguments)
|
prompt_get = await func(req.params.name, req.params.arguments)
|
||||||
messages = []
|
messages: list[SamplingMessage] = []
|
||||||
for message in prompt_get.messages:
|
for message in prompt_get.messages:
|
||||||
match message.content:
|
match message.content:
|
||||||
case str() as text_content:
|
case str() as text_content:
|
||||||
|
|||||||
@@ -7,10 +7,9 @@ from anyio.streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStre
|
|||||||
|
|
||||||
from mcp_python.types import JSONRPCMessage
|
from mcp_python.types import JSONRPCMessage
|
||||||
|
|
||||||
|
|
||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
async def stdio_server(
|
async def stdio_server(
|
||||||
stdin: anyio.AsyncFile | None = None, stdout: anyio.AsyncFile | None = None
|
stdin: anyio.AsyncFile[str] | None = None, stdout: anyio.AsyncFile[str] | None = None
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Server transport for stdio: this communicates with an MCP client by reading from the current process' stdin and writing to stdout.
|
Server transport for stdio: this communicates with an MCP client by reading from the current process' stdin and writing to stdout.
|
||||||
|
|||||||
Reference in New Issue
Block a user