Rename FastMCP to MCPServer (#1951)
This commit is contained in:
parent
4a2d83a0cb
commit
65c614e48e
3 changed files with 713 additions and 693 deletions
|
|
@ -10,8 +10,8 @@ import json
|
|||
import logging
|
||||
|
||||
import click
|
||||
from mcp.server.fastmcp import Context, FastMCP
|
||||
from mcp.server.fastmcp.prompts.base import UserMessage
|
||||
from mcp.server.mcpserver import Context, MCPServer
|
||||
from mcp.server.mcpserver.prompts.base import UserMessage
|
||||
from mcp.server.session import ServerSession
|
||||
from mcp.server.streamable_http import EventCallback, EventMessage, EventStore
|
||||
from mcp.types import (
|
||||
|
|
@ -80,7 +80,7 @@ watched_resource_content = "Watched resource content"
|
|||
# Create event store for SSE resumability (SEP-1699)
|
||||
event_store = InMemoryEventStore()
|
||||
|
||||
mcp = FastMCP(
|
||||
mcp = MCPServer(
|
||||
name="mcp-conformance-test-server",
|
||||
)
|
||||
|
||||
|
|
@ -391,9 +391,9 @@ def test_prompt_with_image() -> list[UserMessage]:
|
|||
|
||||
|
||||
# Custom request handlers
|
||||
# TODO(felix): Add public APIs to FastMCP for subscribe_resource, unsubscribe_resource,
|
||||
# and set_logging_level to avoid accessing protected _mcp_server attribute.
|
||||
@mcp._mcp_server.set_logging_level() # pyright: ignore[reportPrivateUsage]
|
||||
# TODO(felix): Add public APIs to MCPServer for subscribe_resource, unsubscribe_resource,
|
||||
# and set_logging_level to avoid accessing protected _lowlevel_server attribute.
|
||||
@mcp._lowlevel_server.set_logging_level() # pyright: ignore[reportPrivateUsage]
|
||||
async def handle_set_logging_level(level: str) -> None:
|
||||
"""Handle logging level changes"""
|
||||
logger.info(f"Log level set to: {level}")
|
||||
|
|
@ -413,8 +413,8 @@ async def handle_unsubscribe(uri: str) -> None:
|
|||
logger.info(f"Unsubscribed from resource: {uri}")
|
||||
|
||||
|
||||
mcp._mcp_server.subscribe_resource()(handle_subscribe) # pyright: ignore[reportPrivateUsage]
|
||||
mcp._mcp_server.unsubscribe_resource()(handle_unsubscribe) # pyright: ignore[reportPrivateUsage]
|
||||
mcp._lowlevel_server.subscribe_resource()(handle_subscribe) # pyright: ignore[reportPrivateUsage]
|
||||
mcp._lowlevel_server.unsubscribe_resource()(handle_unsubscribe) # pyright: ignore[reportPrivateUsage]
|
||||
|
||||
|
||||
@mcp.completion()
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ from starlette.requests import Request
|
|||
from starlette.responses import Response
|
||||
|
||||
from mcp.server.auth.settings import AuthSettings, ClientRegistrationOptions
|
||||
from mcp.server.fastmcp.server import FastMCP
|
||||
from mcp.server.mcpserver.server import MCPServer
|
||||
|
||||
from .simple_auth_provider import SimpleAuthSettings, SimpleOAuthProvider
|
||||
|
||||
|
|
@ -43,8 +43,8 @@ class LegacySimpleOAuthProvider(SimpleOAuthProvider):
|
|||
super().__init__(auth_settings, auth_callback_path, server_url)
|
||||
|
||||
|
||||
def create_simple_mcp_server(server_settings: ServerSettings, auth_settings: SimpleAuthSettings) -> FastMCP:
|
||||
"""Create a simple FastMCP server with simple authentication."""
|
||||
def create_simple_mcp_server(server_settings: ServerSettings, auth_settings: SimpleAuthSettings) -> MCPServer:
|
||||
"""Create a simple MCPServer server with simple authentication."""
|
||||
oauth_provider = LegacySimpleOAuthProvider(
|
||||
auth_settings, server_settings.auth_callback_path, str(server_settings.server_url)
|
||||
)
|
||||
|
|
@ -61,7 +61,7 @@ def create_simple_mcp_server(server_settings: ServerSettings, auth_settings: Sim
|
|||
resource_server_url=None,
|
||||
)
|
||||
|
||||
app = FastMCP(
|
||||
app = MCPServer(
|
||||
name="Simple Auth MCP Server",
|
||||
instructions="A simple MCP server with simple credential authentication",
|
||||
auth_server_provider=oauth_provider,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ from pydantic import AnyHttpUrl
|
|||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from mcp.server.auth.settings import AuthSettings
|
||||
from mcp.server.fastmcp.server import FastMCP
|
||||
from mcp.server.mcpserver.server import MCPServer
|
||||
|
||||
from .token_verifier import IntrospectionTokenVerifier
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ class ResourceServerSettings(BaseSettings):
|
|||
oauth_strict: bool = False
|
||||
|
||||
|
||||
def create_resource_server(settings: ResourceServerSettings) -> FastMCP:
|
||||
def create_resource_server(settings: ResourceServerSettings) -> MCPServer:
|
||||
"""Create MCP Resource Server with token introspection.
|
||||
|
||||
This server:
|
||||
|
|
@ -60,8 +60,8 @@ def create_resource_server(settings: ResourceServerSettings) -> FastMCP:
|
|||
validate_resource=settings.oauth_strict, # Only validate when --oauth-strict is set
|
||||
)
|
||||
|
||||
# Create FastMCP server as a Resource Server
|
||||
app = FastMCP(
|
||||
# Create MCPServer server as a Resource Server
|
||||
app = MCPServer(
|
||||
name="MCP Resource Server",
|
||||
instructions="Resource Server that validates tokens via Authorization Server introspection",
|
||||
debug=True,
|
||||
|
|
|
|||
Loading…
Reference in a new issue