Crawlab MCP Server

Official
[build-system] requires = ["setuptools>=42.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "crawlab-mcp" version = "0.7.0" description = "Crawlab Model Control Protocol (MCP) - A framework for AI agents" readme = "README.md" requires-python = ">=3.8" license = {text = "MIT"} authors = [ {name = "Crawlab Team", email = "support@crawlab.org"} ] classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] dependencies = [ "fastapi>=0.95.0", "uvicorn>=0.21.1", "aiohttp>=3.8.4", "python-dotenv>=1.0.0" ] [project.urls] Homepage = "https://github.com/crawlab-team/crawlab-mcp-server" Issues = "https://github.com/crawlab-team/crawlab-mcp-server/issues" [project.scripts] crawlab-mcp = "crawlab_mcp.cli:main" [tool.ruff] # Enable Pyflakes (`F`), pycodestyle (`E`), isort (`I`), pydocstyle (`D`) select = ["E", "F", "I"] ignore = [ # Allow non-abstract empty methods in abstract base classes "B027", # Allow boolean positional values in function calls, like `dict.get(x, False)` "FBT003", # Allow print statements "T201", # D203 (one-blank-line-before-class) and D211 (no-blank-line-before-class) are incompatible "D203", ] # Maximum line length line-length = 100 # Sort imports [tool.ruff.isort] case-sensitive = true # Docstring settings [tool.ruff.pydocstyle] convention = "google" # Use Google-style docstrings [tool.ruff.per-file-ignores] # Ignore imported but unused in __init__.py files "__init__.py" = ["F401"] # Ignore some errors for tests "test_*.py" = ["D100", "D101", "D102", "D103"] [tool.ruff.mccabe] max-complexity = 12 [tool.ruff.lint.extend-per-file-ignores] "server.py" = ["E501"] # Ignore long lines in server.py [tool.pytest.ini_options] asyncio_mode = "strict" asyncio_default_fixture_loop_scope = "function"