Formatting

This commit is contained in:
Justin Spahr-Summers
2024-11-06 12:35:32 +00:00
parent a891ad4689
commit c7d8f11e0c
8 changed files with 87 additions and 58 deletions

View File

@@ -18,6 +18,7 @@ from mcp_python.types import (
ClientNotification,
ClientRequest,
CompleteRequest,
EmbeddedResource,
EmptyResult,
ErrorData,
JSONRPCMessage,
@@ -31,6 +32,7 @@ from mcp_python.types import (
PingRequest,
ProgressNotification,
Prompt,
PromptMessage,
PromptReference,
ReadResourceRequest,
ReadResourceResult,
@@ -40,11 +42,9 @@ from mcp_python.types import (
ServerResult,
SetLevelRequest,
SubscribeRequest,
TextContent,
Tool,
UnsubscribeRequest,
TextContent,
EmbeddedResource,
PromptMessage,
)
logger = logging.getLogger(__name__)
@@ -147,17 +147,14 @@ class Server:
)
case types.EmbeddedResource() as resource:
content = EmbeddedResource(
type="resource",
resource=resource.resource
type="resource", resource=resource.resource
)
case _:
raise ValueError(
f"Unexpected content type: {type(message.content)}"
)
prompt_message = PromptMessage(
role=message.role, content=content
)
prompt_message = PromptMessage(role=message.role, content=content)
messages.append(prompt_message)
return ServerResult(
@@ -175,9 +172,7 @@ class Server:
async def handler(_: Any):
resources = await func()
return ServerResult(
ListResourcesResult(resources=resources)
)
return ServerResult(ListResourcesResult(resources=resources))
self.request_handlers[ListResourcesRequest] = handler
return func
@@ -222,7 +217,6 @@ class Server:
return decorator
def set_logging_level(self):
from mcp_python.types import EmptyResult
@@ -282,10 +276,17 @@ class Server:
return decorator
def call_tool(self):
from mcp_python.types import CallToolResult, TextContent, ImageContent, EmbeddedResource
from mcp_python.types import (
CallToolResult,
EmbeddedResource,
ImageContent,
TextContent,
)
def decorator(
func: Callable[..., Awaitable[list[str | types.ImageContent | types.EmbeddedResource]]]
func: Callable[
..., Awaitable[list[str | types.ImageContent | types.EmbeddedResource]]
],
):
logger.debug("Registering handler for CallToolRequest")
@@ -298,28 +299,26 @@ class Server:
case str() as text:
content.append(TextContent(type="text", text=text))
case types.ImageContent() as img:
content.append(ImageContent(
type="image",
data=img.data,
mimeType=img.mime_type
))
content.append(
ImageContent(
type="image",
data=img.data,
mimeType=img.mime_type,
)
)
case types.EmbeddedResource() as resource:
content.append(EmbeddedResource(
type="resource",
resource=resource.resource
))
content.append(
EmbeddedResource(
type="resource", resource=resource.resource
)
)
return ServerResult(
CallToolResult(
content=content,
isError=False
)
)
return ServerResult(CallToolResult(content=content, isError=False))
except Exception as e:
return ServerResult(
CallToolResult(
content=[TextContent(type="text", text=str(e))],
isError=True
isError=True,
)
)

View File

@@ -12,7 +12,7 @@ from mcp_python.shared.session import (
RequestResponder,
)
from mcp_python.types import (
ListRootsResult, LATEST_PROTOCOL_VERSION,
LATEST_PROTOCOL_VERSION,
ClientNotification,
ClientRequest,
CreateMessageResult,
@@ -23,15 +23,16 @@ from mcp_python.types import (
InitializeRequest,
InitializeResult,
JSONRPCMessage,
ListRootsResult,
LoggingLevel,
ModelPreferences,
PromptListChangedNotification,
ResourceListChangedNotification,
SamplingMessage,
ServerNotification,
ServerRequest,
ServerResult,
ResourceListChangedNotification,
ToolListChangedNotification,
PromptListChangedNotification,
ModelPreferences,
)

View File

@@ -1,5 +1,6 @@
"""
This module provides simpler types to use with the server for managing prompts and tools.
This module provides simpler types to use with the server for managing prompts
and tools.
"""
from dataclasses import dataclass
@@ -7,7 +8,12 @@ from typing import Literal
from pydantic import BaseModel
from mcp_python.types import Role, ServerCapabilities, TextResourceContents, BlobResourceContents
from mcp_python.types import (
BlobResourceContents,
Role,
ServerCapabilities,
TextResourceContents,
)
@dataclass