Skip to main content
Glama

Oxylabs MCP Server

Official
by oxylabs
pyproject.toml3.74 kB
[project] name = "oxylabs-mcp" version = "0.6.6" description = "Oxylabs MCP server" authors = [ {name="Augis Braziunas", email="augis.braziunas@oxylabs.io"}, {name="Rostyslav Borovyk", email="rostyslav.borovyk@oxylabs.io"}, ] readme = "README.md" requires-python = ">=3.12" classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Development Status :: 4 - Beta", "Operating System :: OS Independent", ] license = "MIT" license-files = ["LICEN[CS]E*"] dependencies = [ "fastmcp>=2.11.3", "httpx>=0.28.1", "lxml>=5.3.0,<6", "lxml-html-clean>=0.4.1", "markdownify>=0.14.1", "oxylabs-ai-studio>=0.2.13", "pydantic>=2.10.5", "pydantic-settings>=2.8.1", "smithery>=0.1.25", ] [dependency-groups] dev = [ "bandit>=1.8.6", "black>=25.1.0", "lxml-stubs>=0.5.1", "mypy>=1.14.1", "pytest>=8.3.4", "pytest-asyncio>=0.25.2", "pytest-cov>=6.1.1", "pytest-mock>=3.14.0", "ruff>=0.9.1", ] e2e-tests = [ "agno>=1.8.1", "anthropic>=0.50.0", "google-genai>=1.13.0", "openai>=1.77.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project.scripts] oxylabs-mcp = "oxylabs_mcp:main" [project.urls] Homepage = "https://github.com/oxylabs/oxylabs-mcp" Repository = "https://github.com/oxylabs/oxylabs-mcp" [[tool.mypy.overrides]] module = "markdownify.*" ignore_missing_imports = true strict = true [tool.ruff] target-version = "py312" lint.select = [ "E", # pycodestyle (E, W) - https://docs.astral.sh/ruff/rules/#pycodestyle-e-w "F", # Pyflakes (F) - https://docs.astral.sh/ruff/rules/#pyflakes-f "W", # pycodestyle (E, W) - https://docs.astral.sh/ruff/rules/#pycodestyle-e-w "I", # isort (I) https://docs.astral.sh/ruff/rules/#isort-i "D", # pydocstyle (D) https://docs.astral.sh/ruff/rules/#pydocstyle-d "S", # bandit (S) https://docs.astral.sh/ruff/rules/#flake8-bandit-s "ARG", # flake8-unused-arguments - https://docs.astral.sh/ruff/rules/#flake8-unused-arguments-arg "B", # flake8-bugbear - https://docs.astral.sh/ruff/rules/#flake8-bugbear-b "C4", # flake8-comprehensions - https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4 "ISC", # flake8-implicit-str-concat - https://docs.astral.sh/ruff/rules/#flake8-implicit-str-concat-isc "FA", # flake8-future-annotations - https://docs.astral.sh/ruff/rules/#flake8-future-annotations-fa "FBT", # flake8-boolean-trap - https://docs.astral.sh/ruff/rules/#flake8-boolean-trap-fbt "Q", # flake8-quotes (Q) https://docs.astral.sh/ruff/rules/#flake8-quotes-q "ANN", # flake8-annotations (ANN) https://docs.astral.sh/ruff/rules/#flake8-annotations-ann "PLR", # Refactor (PLR) https://docs.astral.sh/ruff/rules/#refactor-plr "PT", # flake8-pytest-style (PT) https://docs.astral.sh/ruff/rules/#flake8-pytest-style-pt ] lint.ignore = [ "D213", # Contradicts D212. "D203", # Contradicts D211. "D104", # Allow no docstrings in packages "D100", # Allow no docstrings in modules "ANN002", # https://docs.astral.sh/ruff/rules/missing-type-args/ "ANN003", # https://docs.astral.sh/ruff/rules/missing-type-kwargs/ "PLR0913", # Allow functions with many arguments "PLR0912", # Allow many branches for functions ] [tool.ruff.lint.per-file-ignores] "tests/*" = ["D", "S101", "ARG001", "ANN", "PT011", "FBT", "PLR2004"] "src/oxylabs_mcp/url_params.py" = ["E501"] [tool.ruff.lint.pycodestyle] max-line-length = 100 [tool.ruff.lint.isort] known-first-party = ["src", "tests"] lines-after-imports = 2 [tool.pytest.ini_options] asyncio_default_fixture_loop_scope = "session" asyncio_mode = "auto" [tool.black] line-length = 100

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oxylabs/oxylabs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server