SYMBOL INDEX (191 symbols across 29 files) FILE: examples/05_reregister_tools_example.py function new_endpoint (line 18) | async def new_endpoint(): FILE: examples/08_auth_example_token_passthrough.py function private (line 41) | async def private(token=Depends(token_auth_scheme)): FILE: examples/09_auth_example_auth0.py class Settings (line 16) | class Settings(BaseSettings): method auth0_jwks_url (line 31) | def auth0_jwks_url(self): method auth0_oauth_metadata_url (line 35) | def auth0_oauth_metadata_url(self): class Config (line 38) | class Config: function lifespan (line 45) | async def lifespan(app: FastAPI): function verify_auth (line 53) | async def verify_auth(request: Request) -> dict[str, Any]: function get_current_user_id (line 90) | async def get_current_user_id(claims: dict = Depends(verify_auth)) -> str: function public (line 104) | async def public(): function protected (line 109) | async def protected(user_id: str = Depends(get_current_user_id)): FILE: examples/shared/apps/items.py class Item (line 13) | class Item(BaseModel): function list_items (line 25) | async def list_items(skip: int = 0, limit: int = 10): function read_item (line 35) | async def read_item(item_id: int): function create_item (line 47) | async def create_item(item: Item): function update_item (line 58) | async def update_item(item_id: int, item: Item): function delete_item (line 73) | async def delete_item(item_id: int): function search_items (line 87) | async def search_items( FILE: examples/shared/auth.py function fetch_jwks_public_key (line 15) | async def fetch_jwks_public_key(url: str) -> str: FILE: examples/shared/setup.py class LoggingConfig (line 6) | class LoggingConfig(BaseModel): function setup_logging (line 34) | def setup_logging(): FILE: fastapi_mcp/auth/proxy.py function setup_oauth_custom_metadata (line 22) | def setup_oauth_custom_metadata( function setup_oauth_metadata_proxy (line 47) | def setup_oauth_metadata_proxy( function setup_oauth_authorize_proxy (line 128) | def setup_oauth_authorize_proxy( function setup_oauth_fake_dynamic_register_endpoint (line 230) | def setup_oauth_fake_dynamic_register_endpoint( FILE: fastapi_mcp/openapi/convert.py function convert_openapi_to_mcp_tools (line 17) | def convert_openapi_to_mcp_tools( FILE: fastapi_mcp/openapi/utils.py function get_single_param_type_from_schema (line 4) | def get_single_param_type_from_schema(param_schema: Dict[str, Any]) -> str: function resolve_schema_references (line 19) | def resolve_schema_references(schema_part: Dict[str, Any], reference_sch... function clean_schema_for_display (line 60) | def clean_schema_for_display(schema: Dict[str, Any]) -> Dict[str, Any]: function generate_example_from_schema (line 103) | def generate_example_from_schema(schema: Dict[str, Any]) -> Any: FILE: fastapi_mcp/server.py class FastApiMCP (line 22) | class FastApiMCP: method __init__ (line 27) | def __init__( method setup_server (line 126) | def setup_server(self) -> None: method _register_mcp_connection_endpoint_sse (line 188) | def _register_mcp_connection_endpoint_sse( method _register_mcp_messages_endpoint_sse (line 205) | def _register_mcp_messages_endpoint_sse( method _register_mcp_endpoints_sse (line 221) | def _register_mcp_endpoints_sse( method _register_mcp_http_endpoint (line 231) | def _register_mcp_http_endpoint( method _register_mcp_endpoints_http (line 248) | def _register_mcp_endpoints_http( method _setup_auth_2025_03_26 (line 257) | def _setup_auth_2025_03_26(self): method _setup_auth (line 301) | def _setup_auth(self): method mount_http (line 312) | def mount_http( method mount_sse (line 368) | def mount_sse( method mount (line 426) | def mount( method _execute_api_tool (line 484) | async def _execute_api_tool( method _request (line 572) | async def _request( method _filter_tools (line 594) | def _filter_tools(self, tools: List[types.Tool], openapi_schema: Dict[... FILE: fastapi_mcp/transport/http.py class FastApiHttpSessionManager (line 12) | class FastApiHttpSessionManager: method __init__ (line 17) | def __init__( method _ensure_session_manager_started (line 33) | async def _ensure_session_manager_started(self) -> None: method handle_fastapi_request (line 80) | async def handle_fastapi_request(self, request: Request) -> Response: method shutdown (line 128) | async def shutdown(self) -> None: FILE: fastapi_mcp/transport/sse.py class FastApiSseTransport (line 17) | class FastApiSseTransport(SseServerTransport): method handle_fastapi_post_message (line 18) | async def handle_fastapi_post_message(self, request: Request) -> Respo... method _send_message_safely (line 87) | async def _send_message_safely( FILE: fastapi_mcp/types.py class BaseType (line 18) | class BaseType(BaseModel): class HTTPRequestInfo (line 22) | class HTTPRequestInfo(BaseType): class OAuthMetadata (line 31) | class OAuthMetadata(BaseType): method validate_non_empty_lists (line 123) | def validate_non_empty_lists(cls, v, info): method validate_endpoints_for_grant_types (line 130) | def validate_endpoints_for_grant_types(self): method model_dump (line 135) | def model_dump( class AuthConfig (line 172) | class AuthConfig(BaseType): method validate_required_fields (line 355) | def validate_required_fields(self): class ClientRegistrationRequest (line 369) | class ClientRegistrationRequest(BaseType): class ClientRegistrationResponse (line 376) | class ClientRegistrationResponse(BaseType): FILE: tests/conftest.py function pytest_configure (line 16) | def pytest_configure(config): function pytest_sessionfinish (line 30) | def pytest_sessionfinish(session, exitstatus): FILE: tests/fixtures/complex_app.py function make_complex_fastapi_app (line 20) | def make_complex_fastapi_app( function complex_fastapi_app (line 131) | def complex_fastapi_app( FILE: tests/fixtures/conftest.py function make_fastapi_app_base (line 5) | def make_fastapi_app_base(parametrized_config: dict[str, Any] | None = N... FILE: tests/fixtures/example_data.py function example_address (line 24) | def example_address() -> Address: function example_product_variant (line 29) | def example_product_variant() -> ProductVariant: function example_product (line 36) | def example_product(example_product_variant) -> Product: function example_customer (line 55) | def example_customer(example_address) -> Customer: function example_order_item (line 70) | def example_order_item() -> OrderItem: function example_payment_details (line 82) | def example_payment_details() -> PaymentDetails: function example_order_request (line 94) | def example_order_request(example_order_item) -> OrderRequest: function example_order_response (line 107) | def example_order_response(example_order_item, example_address, example_... function example_paginated_products (line 130) | def example_paginated_products(example_product) -> PaginatedResponse: FILE: tests/fixtures/simple_app.py function make_simple_fastapi_app (line 11) | def make_simple_fastapi_app(parametrized_config: dict[str, Any] | None =... function simple_fastapi_app (line 68) | def simple_fastapi_app() -> FastAPI: function simple_fastapi_app_with_root_path (line 73) | def simple_fastapi_app_with_root_path() -> FastAPI: FILE: tests/fixtures/types.py class Item (line 9) | class Item(BaseModel): class OrderStatus (line 17) | class OrderStatus(str, Enum): class PaymentMethod (line 26) | class PaymentMethod(str, Enum): class ProductCategory (line 34) | class ProductCategory(str, Enum): class ProductVariant (line 42) | class ProductVariant(BaseModel): class Address (line 52) | class Address(BaseModel): class CustomerTier (line 61) | class CustomerTier(str, Enum): class Customer (line 67) | class Customer(BaseModel): class Product (line 81) | class Product(BaseModel): class OrderItem (line 100) | class OrderItem(BaseModel): class PaymentDetails (line 109) | class PaymentDetails(BaseModel): class OrderRequest (line 118) | class OrderRequest(BaseModel): class OrderResponse (line 128) | class OrderResponse(BaseModel): class PaginatedResponse (line 149) | class PaginatedResponse(BaseModel): class ErrorResponse (line 157) | class ErrorResponse(BaseModel): FILE: tests/test_basic_functionality.py function test_create_mcp_server (line 7) | def test_create_mcp_server(simple_fastapi_app: FastAPI): function test_default_values (line 28) | def test_default_values(simple_fastapi_app: FastAPI): function test_normalize_paths (line 45) | def test_normalize_paths(simple_fastapi_app: FastAPI): FILE: tests/test_configuration.py function test_default_configuration (line 7) | def test_default_configuration(simple_fastapi_app: FastAPI): function test_custom_configuration (line 21) | def test_custom_configuration(simple_fastapi_app: FastAPI): function test_describe_all_responses_config_simple_app (line 44) | def test_describe_all_responses_config_simple_app(simple_fastapi_app: Fa... function test_describe_full_response_schema_config_simple_app (line 106) | def test_describe_full_response_schema_config_simple_app(simple_fastapi_... function test_describe_all_responses_and_full_response_schema_config_simple_app (line 139) | def test_describe_all_responses_and_full_response_schema_config_simple_a... function test_describe_all_responses_config_complex_app (line 177) | def test_describe_all_responses_config_complex_app(complex_fastapi_app: ... function test_describe_full_response_schema_config_complex_app (line 248) | def test_describe_full_response_schema_config_complex_app(complex_fastap... function test_describe_all_responses_and_full_response_schema_config_complex_app (line 292) | def test_describe_all_responses_and_full_response_schema_config_complex_... function test_filtering_functionality (line 346) | def test_filtering_functionality(): function test_filtering_edge_cases (line 408) | def test_filtering_edge_cases(): function test_filtering_with_missing_operation_ids (line 482) | def test_filtering_with_missing_operation_ids(): function test_filter_with_empty_tools (line 529) | def test_filter_with_empty_tools(): function test_filtering_with_empty_tags_array (line 556) | def test_filtering_with_empty_tags_array(): FILE: tests/test_http_real_transport.py function run_server (line 23) | def run_server(server_port: int, fastapi_app: FastAPI) -> None: function server (line 80) | def server(request: pytest.FixtureRequest) -> Generator[str, None, None]: function http_client (line 134) | async def http_client(server: str) -> AsyncGenerator[httpx.AsyncClient, ... function test_http_initialize_request (line 140) | async def test_http_initialize_request(http_client: httpx.AsyncClient, s... function test_http_list_tools (line 173) | async def test_http_list_tools(http_client: httpx.AsyncClient, server: s... function test_http_call_tool (line 240) | async def test_http_call_tool(http_client: httpx.AsyncClient, server: st... function test_http_ping (line 312) | async def test_http_ping(http_client: httpx.AsyncClient, server: str) ->... function test_http_error_handling (line 372) | async def test_http_error_handling(http_client: httpx.AsyncClient, serve... function test_http_invalid_method (line 389) | async def test_http_invalid_method(http_client: httpx.AsyncClient, serve... function test_http_notification_handling (line 437) | async def test_http_notification_handling(http_client: httpx.AsyncClient... FILE: tests/test_mcp_complex_app.py function fastapi_mcp (line 15) | def fastapi_mcp(complex_fastapi_app: FastAPI) -> FastApiMCP: function lowlevel_server_complex_app (line 26) | def lowlevel_server_complex_app(fastapi_mcp: FastApiMCP) -> Server: function test_list_tools (line 31) | async def test_list_tools(lowlevel_server_complex_app: Server): function test_call_tool_list_products_default (line 44) | async def test_call_tool_list_products_default(lowlevel_server_complex_a... function test_call_tool_list_products_with_filters (line 61) | async def test_call_tool_list_products_with_filters(lowlevel_server_comp... function test_call_tool_get_product (line 80) | async def test_call_tool_get_product(lowlevel_server_complex_app: Server... function test_call_tool_get_product_with_options (line 99) | async def test_call_tool_get_product_with_options(lowlevel_server_comple... function test_call_tool_create_order (line 117) | async def test_call_tool_create_order(lowlevel_server_complex_app: Serve... function test_call_tool_create_order_validation_error (line 146) | async def test_call_tool_create_order_validation_error(lowlevel_server_c... function test_call_tool_get_customer (line 166) | async def test_call_tool_get_customer(lowlevel_server_complex_app: Serve... function test_call_tool_get_customer_with_options (line 184) | async def test_call_tool_get_customer_with_options(lowlevel_server_compl... function test_error_handling_missing_parameter (line 208) | async def test_error_handling_missing_parameter(lowlevel_server_complex_... FILE: tests/test_mcp_execute_api_tool.py function test_execute_api_tool_success (line 10) | async def test_execute_api_tool_success(simple_fastapi_app: FastAPI): function test_execute_api_tool_with_query_params (line 51) | async def test_execute_api_tool_with_query_params(simple_fastapi_app: Fa... function test_execute_api_tool_with_body (line 91) | async def test_execute_api_tool_with_body(simple_fastapi_app: FastAPI): function test_execute_api_tool_with_non_ascii_chars (line 140) | async def test_execute_api_tool_with_non_ascii_chars(simple_fastapi_app:... FILE: tests/test_mcp_simple_app.py function fastapi_mcp (line 15) | def fastapi_mcp(simple_fastapi_app: FastAPI) -> FastApiMCP: function fastapi_mcp_with_custom_header (line 26) | def fastapi_mcp_with_custom_header(simple_fastapi_app: FastAPI) -> FastA... function lowlevel_server_simple_app (line 38) | def lowlevel_server_simple_app(fastapi_mcp: FastApiMCP) -> Server: function test_list_tools (line 43) | async def test_list_tools(lowlevel_server_simple_app: Server): function test_call_tool_get_item_1 (line 57) | async def test_call_tool_get_item_1(lowlevel_server_simple_app: Server): function test_call_tool_get_item_2 (line 75) | async def test_call_tool_get_item_2(lowlevel_server_simple_app: Server): function test_call_tool_raise_error (line 93) | async def test_call_tool_raise_error(lowlevel_server_simple_app: Server): function test_error_handling (line 106) | async def test_error_handling(lowlevel_server_simple_app: Server): function test_complex_tool_arguments (line 119) | async def test_complex_tool_arguments(lowlevel_server_simple_app: Server): function test_call_tool_list_items_default (line 144) | async def test_call_tool_list_items_default(lowlevel_server_simple_app: ... function test_call_tool_list_items_with_pagination (line 162) | async def test_call_tool_list_items_with_pagination(lowlevel_server_simp... function test_call_tool_get_item_not_found (line 180) | async def test_call_tool_get_item_not_found(lowlevel_server_simple_app: ... function test_call_tool_update_item (line 193) | async def test_call_tool_update_item(lowlevel_server_simple_app: Server): function test_call_tool_delete_item (line 220) | async def test_call_tool_delete_item(lowlevel_server_simple_app: Server): function test_call_tool_get_item_with_details (line 233) | async def test_call_tool_get_item_with_details(lowlevel_server_simple_ap... function test_headers_passthrough_to_tool_handler (line 252) | async def test_headers_passthrough_to_tool_handler(fastapi_mcp: FastApiM... function test_custom_header_passthrough_to_tool_handler (line 331) | async def test_custom_header_passthrough_to_tool_handler(fastapi_mcp_wit... function test_context_extraction_in_tool_handler (line 374) | async def test_context_extraction_in_tool_handler(fastapi_mcp: FastApiMCP): FILE: tests/test_openapi_conversion.py function test_simple_app_conversion (line 13) | def test_simple_app_conversion(simple_fastapi_app: FastAPI): function test_complex_app_conversion (line 38) | def test_complex_app_conversion(complex_fastapi_app: FastAPI): function test_describe_full_response_schema (line 63) | def test_describe_full_response_schema(simple_fastapi_app: FastAPI): function test_describe_all_responses (line 94) | def test_describe_all_responses(complex_fastapi_app: FastAPI): function test_schema_utils (line 123) | def test_schema_utils(): function test_parameter_handling (line 161) | def test_parameter_handling(complex_fastapi_app: FastAPI): function test_request_body_handling (line 233) | def test_request_body_handling(complex_fastapi_app: FastAPI): function test_missing_type_handling (line 305) | def test_missing_type_handling(complex_fastapi_app: FastAPI): function test_body_params_descriptions_and_defaults (line 330) | def test_body_params_descriptions_and_defaults(complex_fastapi_app: Fast... function test_body_params_edge_cases (line 380) | def test_body_params_edge_cases(complex_fastapi_app: FastAPI): FILE: tests/test_sse_mock_transport.py function mock_transport (line 15) | def mock_transport() -> FastApiSseTransport: function valid_session_id (line 23) | def valid_session_id(): function mock_writer (line 29) | def mock_writer(): function test_handle_post_message_missing_session_id (line 34) | async def test_handle_post_message_missing_session_id(mock_transport: Fa... function test_handle_post_message_invalid_session_id (line 49) | async def test_handle_post_message_invalid_session_id(mock_transport: Fa... function test_handle_post_message_session_not_found (line 64) | async def test_handle_post_message_session_not_found( function test_handle_post_message_validation_error (line 81) | async def test_handle_post_message_validation_error( function test_handle_post_message_general_exception (line 108) | async def test_handle_post_message_general_exception( function test_send_message_safely_with_validation_error (line 135) | async def test_send_message_safely_with_validation_error( function test_send_message_safely_with_jsonrpc_message (line 156) | async def test_send_message_safely_with_jsonrpc_message( function test_send_message_safely_exception_handling (line 175) | async def test_send_message_safely_exception_handling( FILE: tests/test_sse_real_transport.py function run_server (line 27) | def run_server(server_port: int, fastapi_app: FastAPI) -> None: function server (line 84) | def server(request: pytest.FixtureRequest) -> Generator[str, None, None]: function http_client (line 138) | async def http_client(server: str) -> AsyncGenerator[httpx.AsyncClient, ... function test_raw_sse_connection (line 144) | async def test_raw_sse_connection(http_client: httpx.AsyncClient, server... function test_sse_basic_connection (line 175) | async def test_sse_basic_connection(server: str) -> None: function test_sse_tool_call (line 189) | async def test_sse_tool_call(server: str) -> None: FILE: tests/test_types_validation.py class TestOAuthMetadata (line 11) | class TestOAuthMetadata: method test_non_empty_lists_validation (line 12) | def test_non_empty_lists_validation(self): method test_authorization_endpoint_required_for_authorization_code (line 28) | def test_authorization_endpoint_required_for_authorization_code(self): method test_model_dump_excludes_none (line 46) | def test_model_dump_excludes_none(self): class TestAuthConfig (line 58) | class TestAuthConfig: method test_required_fields_validation (line 59) | def test_required_fields_validation(self): method test_client_id_required_for_setup_proxies (line 80) | def test_client_id_required_for_setup_proxies(self): method test_client_secret_required_for_fake_registration (line 94) | def test_client_secret_required_for_fake_registration(self):