[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "seleniumboot-mcp" version = "0.6.0" description = "A Python MCP server for Selenium WebDriver — 85 tools for browser automation, alerts, frames, shadow DOM, cookies, mobile emulation, self-healing locators, and codegen for Java/C#/Python/Playwright/CI pipelines" readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [{ name = "Raza Tech", email = "razatechnologyservices@gmail.com" }] keywords = ["selenium", "mcp", "test-automation", "webdriver", "testng", "junit", "model-context-protocol"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Topic :: Software Development :: Testing", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", ] dependencies = [ # Both bounds are load-bearing, and for different reasons. # # Floor: server.py speaks the mcp 2.0 API as of 0.5.0 — the decorators it # used to register with (Server.list_tools / Server.call_tool) were removed # in 2.0.0, so 1.x cannot run this code at all (#2). # # Ceiling: this is the bound whose absence caused #2, and it is NOT # temporary. Two things depend on it: # 1. Users never silently resolve to a major that removed our API. That # is the 25-day outage, exactly. # 2. It is what makes dependency alerting work. Dependabot only opens a # PR when the constraint *excludes* the new release; against an open # `>=` it has nothing to say and stays silent. Verified 2026-08-23 — # the first pip run against an unbounded `mcp>=2.0.0` completed # successfully and opened zero PRs. # # So when mcp 3.0 ships, Dependabot proposes widening this line, and that # PR *is* the alert. Do not merge it without running the selenium-mcp-test # gate against the new major first. "mcp>=2.0.0,<3.0.0", "selenium>=4.6.0", ] [project.urls] Homepage = "https://github.com/seleniumboot/selenium-mcp" Repository = "https://github.com/seleniumboot/selenium-mcp" Issues = "https://github.com/seleniumboot/selenium-mcp/issues" [project.scripts] seleniumboot-mcp = "selenium_mcp.server:run" [tool.setuptools.packages.find] where = ["src"]