fix mcp linting

This commit is contained in:
Ishaan Jaffer 2026-01-31 11:21:03 -08:00
parent f508a998d4
commit 54a383879c
2 changed files with 22 additions and 11 deletions

View file

@ -11,7 +11,7 @@ import datetime
import hashlib
import json
import re
from typing import Any, Dict, List, Literal, Optional, Set, Tuple, Union, cast, Callable
from typing import Any, Callable, Dict, List, Literal, Optional, Set, Tuple, Union, cast
from urllib.parse import urlparse
from fastapi import HTTPException
@ -30,7 +30,6 @@ from pydantic import AnyUrl
import litellm
from litellm._logging import verbose_logger
from litellm.types.utils import CallTypes
from litellm.exceptions import BlockedPiiEntityError, GuardrailRaisedException
from litellm.experimental_mcp_client.client import MCPClient
from litellm.llms.custom_httpx.http_handler import get_async_httpx_client
@ -63,20 +62,26 @@ from litellm.types.mcp_server.mcp_server_manager import (
MCPOAuthMetadata,
MCPServer,
)
from litellm.types.utils import CallTypes
try:
from mcp.shared.tool_name_validation import SEP_986_URL, validate_tool_name # type: ignore
from mcp.shared.tool_name_validation import ( # type: ignore
SEP_986_URL,
ToolNameValidationResult,
validate_tool_name,
)
except ImportError:
from typing import Any
SEP_986_URL = "https://github.com/modelcontextprotocol/protocol/blob/main/proposals/0001-tool-name-validation.md"
def validate_tool_name(name: str):
def validate_tool_name(name: str) -> Any:
from pydantic import BaseModel
class MockResult(BaseModel):
class ToolNameValidationResult(BaseModel):
is_valid: bool = True
warnings: list = []
return MockResult()
return ToolNameValidationResult()
# Probe includes characters on both sides of the separator to mimic real prefixed tool names.

View file

@ -37,6 +37,8 @@ from litellm._uuid import uuid
from litellm.constants import LITELLM_PROXY_ADMIN_NAME
from litellm.proxy._experimental.mcp_server.utils import (
get_server_prefix,
)
from litellm.proxy._experimental.mcp_server.utils import (
validate_and_normalize_mcp_server_payload as _base_validate_and_normalize_mcp_server_payload,
)
@ -57,17 +59,21 @@ except ImportError as e:
if MCP_AVAILABLE:
try:
from mcp.shared.tool_name_validation import validate_tool_name # type: ignore
from mcp.shared.tool_name_validation import ( # type: ignore
ToolNameValidationResult,
validate_tool_name,
)
except ImportError:
from typing import Any
def validate_tool_name(name: str):
def validate_tool_name(name: str) -> Any:
from pydantic import BaseModel
class MockResult(BaseModel):
class ToolNameValidationResult(BaseModel):
is_valid: bool = True
warnings: list = []
return MockResult()
return ToolNameValidationResult()
from litellm.proxy._experimental.mcp_server.db import (
create_mcp_server,
@ -77,9 +83,9 @@ if MCP_AVAILABLE:
update_mcp_server,
)
from litellm.proxy._experimental.mcp_server.discoverable_endpoints import (
get_request_base_url,
authorize_with_server,
exchange_token_with_server,
get_request_base_url,
register_client_with_server,
)
from litellm.proxy._experimental.mcp_server.mcp_server_manager import (