[project] name = "wb-mcp-server" version = "2.6.1" description = "MCP server for Wildberries Seller API: 197 tools for products, prices, orders, ads, supplies, reviews, finance and analytics, with response sizes measured on a live account and trimmed from 770k to 75k tokens across a 27-response corpus" readme = "README.md" license = { file = "LICENSE" } authors = [{ name = "DeviceIngineering" }] keywords = [ "mcp", "model-context-protocol", "mcp-server", "wildberries", "wb-api", "seller-api", "marketplace", "ecommerce", "claude", "ai-agents", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Office/Business", "Topic :: Software Development :: Libraries :: Python Modules", ] requires-python = ">=3.10" dependencies = [ # ВНИМАНИЕ: верхняя граница обязательна. # В mcp 2.0.0 low-level API переписан: у mcp.server.Server больше нет # декораторов @app.list_tools() / @app.call_tool() — обработчики передаются # в конструктор (on_list_tools / on_call_tool) и возвращают ListToolsResult / # CallToolResult вместо list[Tool] / list[TextContent]. С mcp>=2 сервер падает # ещё на импорте: AttributeError: 'Server' object has no attribute 'list_tools'. # Снимать ограничение можно только вместе с переписыванием wb_mcp/server.py # (см. TODO там же). "mcp[cli]>=1.0.0,<2", "httpx>=0.27.0", "pydantic>=2.0.0", "fastapi>=0.115.0", "uvicorn[standard]>=0.30.0", "jinja2>=3.1.0", "aiosqlite>=0.20.0", "cryptography>=43.0.0", ] [project.urls] Homepage = "https://github.com/DeviceIngineering/wb-mcp-server" Repository = "https://github.com/DeviceIngineering/wb-mcp-server" Issues = "https://github.com/DeviceIngineering/wb-mcp-server/issues" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["wb_mcp"] [project.optional-dependencies] dev = ["pytest>=8.0", "pytest-asyncio>=0.23"] [tool.pytest.ini_options] asyncio_mode = "auto" [project.scripts] wb-mcp = "wb_mcp.server:main" wb-mcp-web = "wb_mcp.app:main"