diff --git a/asgi_app.py b/asgi_app.py index 1f9aafa..007ca22 100644 --- a/asgi_app.py +++ b/asgi_app.py @@ -28,7 +28,7 @@ async def health_check(request: Request) -> JSONResponse: "status": "healthy", "service": "Yargı MCP Server", "version": "0.1.0", - "tools_count": len(mcp_server._tool_manager.tools) + "tools_count": len(mcp_server._tool_manager._tools) }) @mcp_server.custom_route("/", methods=["GET"]) @@ -58,7 +58,7 @@ async def root(request: Request) -> JSONResponse: async def status(request: Request) -> JSONResponse: """Status endpoint with detailed information""" tools = [] - for tool in mcp_server._tool_manager.tools.values(): + for tool in mcp_server._tool_manager._tools.values(): tools.append({ "name": tool.name, "description": tool.description[:100] + "..." if len(tool.description) > 100 else tool.description diff --git a/fastapi_app.py b/fastapi_app.py index b63d0fc..a85ab52 100644 --- a/fastapi_app.py +++ b/fastapi_app.py @@ -77,7 +77,7 @@ async def root(): name="Yargı MCP Server", version="0.1.0", description="MCP server for Turkish legal databases", - tools_count=len(mcp_server._tool_manager.tools), + tools_count=len(mcp_server._tool_manager._tools), databases=[ "Yargıtay (Court of Cassation)", "Danıştay (Council of State)", @@ -101,7 +101,7 @@ async def health_check(): status="healthy", timestamp=datetime.now(), uptime_seconds=uptime, - tools_operational=len(mcp_server._tool_manager.tools) > 0 + tools_operational=len(mcp_server._tool_manager._tools) > 0 ) @app.get("/api/tools", response_model=List[ToolInfo]) @@ -112,7 +112,7 @@ async def list_tools( """List all available MCP tools""" tools = [] - for tool in mcp_server._tool_manager.tools.values(): + for tool in mcp_server._tool_manager._tools.values(): # Apply filters if provided if search and search.lower() not in tool.name.lower() and search.lower() not in tool.description.lower(): continue @@ -141,7 +141,7 @@ async def list_tools( @app.get("/api/tools/{tool_name}", response_model=ToolInfo) async def get_tool(tool_name: str): """Get detailed information about a specific tool""" - tool = mcp_server._tool_manager.tools.get(tool_name) + tool = mcp_server._tool_manager._tools.get(tool_name) if not tool: raise HTTPException(status_code=404, detail=f"Tool '{tool_name}' not found") @@ -225,7 +225,7 @@ async def get_statistics(): # Count tools by database tool_counts = {} - for tool in mcp_server._tool_manager.tools.values(): + for tool in mcp_server._tool_manager._tools.values(): for db in ["yargitay", "danistay", "emsal", "uyusmazlik", "anayasa", "kik", "rekabet", "bedesten"]: if db in tool.name.lower(): tool_counts[db] = tool_counts.get(db, 0) + 1 @@ -238,7 +238,7 @@ async def get_statistics(): "version": "0.1.0" }, "tools": { - "total": len(mcp_server._tool_manager.tools), + "total": len(mcp_server._tool_manager._tools), "by_database": tool_counts }, "capabilities": { diff --git a/pyproject.toml b/pyproject.toml index fbc223b..dc514df 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,7 @@ dependencies = [ "playwright>=1.52.0", "fastmcp>=2.9.2", "pypdf>=5.5.0", + "fastapi>=0.115.14", ] [project.optional-dependencies] diff --git a/starlette_app.py b/starlette_app.py index 8310131..a9e711f 100644 --- a/starlette_app.py +++ b/starlette_app.py @@ -72,7 +72,7 @@ async def api_info(request: Request): return JSONResponse({ "authenticated_as": request.user.display_name, - "available_tools": len(mcp_server._tool_manager.tools), + "available_tools": len(mcp_server._tool_manager._tools), "databases": [ "Yargıtay", "Danıştay", "Emsal", "Uyuşmazlık", "Anayasa", "KIK", "Rekabet", "Bedesten"