[project] name = "ozon-mcp-server" version = "2.5.2" description = "MCP server for Ozon Seller API + Performance API: 156 tools for prices, promos, ads, orders, returns and finance, with response sizes measured on a live account and trimmed from 476k to 64k tokens across a 16-response corpus" readme = "README.md" requires-python = ">=3.10" license = { file = "LICENSE" } authors = [{ name = "DeviceIngineering" }] keywords = [ "mcp", "model-context-protocol", "mcp-server", "ozon", "ozon-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", ] 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'. # Снимать ограничение можно только вместе с переписыванием ozon_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/ozon-mcp-server" Repository = "https://github.com/DeviceIngineering/ozon-mcp-server" Issues = "https://github.com/DeviceIngineering/ozon-mcp-server/issues" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["ozon_mcp"] [project.optional-dependencies] dev = ["pytest>=8.0", "pytest-asyncio>=0.23"] [project.scripts] ozon-mcp = "ozon_mcp.server:main" ozon-mcp-web = "ozon_mcp.app:main"