diff --git a/src/backend/base/langflow/api/router.py b/src/backend/base/langflow/api/router.py index 39339035e1a6..d2ce1905ada0 100644 --- a/src/backend/base/langflow/api/router.py +++ b/src/backend/base/langflow/api/router.py @@ -9,7 +9,6 @@ flows_router, folders_router, login_router, - mcp_router, monitor_router, starter_projects_router, store_router, @@ -17,7 +16,6 @@ validate_router, variables_router, ) -from langflow.services.deps import get_settings_service router = APIRouter( prefix="/api/v1", @@ -35,6 +33,3 @@ router.include_router(monitor_router) router.include_router(folders_router) router.include_router(starter_projects_router) - -if get_settings_service().settings.mcp_server_enabled: - router.include_router(mcp_router) diff --git a/src/backend/base/langflow/api/v1/mcp.py b/src/backend/base/langflow/api/v1/mcp.py index 0fbf08ee4fe5..1516111d362b 100644 --- a/src/backend/base/langflow/api/v1/mcp.py +++ b/src/backend/base/langflow/api/v1/mcp.py @@ -45,7 +45,6 @@ logger.debug("MCP module loaded - debug logging enabled") -enable_progress_notifications = get_settings_service().settings.mcp_server_enable_progress_notifications router = APIRouter(prefix="/mcp", tags=["mcp"]) @@ -58,6 +57,10 @@ MAX_RETRIES = 2 +def get_enable_progress_notifications() -> bool: + return get_settings_service().settings.mcp_server_enable_progress_notifications + + @server.list_prompts() async def handle_list_prompts(): return [] @@ -175,7 +178,9 @@ async def handle_list_tools(): @server.call_tool() -async def handle_call_tool(name: str, arguments: dict) -> list[types.TextContent]: +async def handle_call_tool( + name: str, arguments: dict, *, enable_progress_notifications: bool = Depends(get_enable_progress_notifications) +) -> list[types.TextContent]: """Handle tool execution requests.""" try: session = await anext(get_session()) diff --git a/src/backend/base/langflow/components/logic/run_flow.py b/src/backend/base/langflow/components/logic/run_flow.py index 6e61f213a764..bc296aa4196b 100644 --- a/src/backend/base/langflow/components/logic/run_flow.py +++ b/src/backend/base/langflow/components/logic/run_flow.py @@ -56,7 +56,7 @@ async def run_flow_with_tweaks(self): if node not in tweaks: tweaks[node] = {} tweaks[node][name] = self._attributes[field] - # import pdb; pdb.set_trace() + return await run_flow( inputs=None, output_type="all", diff --git a/src/backend/base/langflow/main.py b/src/backend/base/langflow/main.py index ef400b31225e..172837b4c817 100644 --- a/src/backend/base/langflow/main.py +++ b/src/backend/base/langflow/main.py @@ -233,6 +233,11 @@ async def flatten_query_string_lists(request: Request, call_next): start_http_server(settings.prometheus_port) + if settings.mcp_server_enabled: + from langflow.api.v1 import mcp_router + + router.include_router(mcp_router) + app.include_router(router) app.include_router(health_check_router) app.include_router(log_router)