[project] # Distribution name on PyPI ('kaggle-mcp' was already taken). The console command # and import package remain `kaggle-mcp` / `kaggle_mcp`. name = "safe-kaggle-mcp" version = "0.4.2" description = "A safety-first MCP server connecting Claude to Kaggle (competitions, datasets, kernels, models)." readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [{ name = "parkseokjune" }] keywords = ["mcp", "kaggle", "claude", "llm", "model-context-protocol"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "mcp[cli]>=1.27,<2", "kaggle>=1.6", "pydantic>=2", "pandas>=2", "tenacity>=8", ] [project.optional-dependencies] dev = [ "pytest>=8", "pytest-asyncio>=0.23", ] [project.urls] Homepage = "https://github.com/parkseokjune/kaggle-mcp" Repository = "https://github.com/parkseokjune/kaggle-mcp" Issues = "https://github.com/parkseokjune/kaggle-mcp/issues" [project.scripts] # `uvx kaggle-mcp` and the client config `command` resolve to this entry point. kaggle-mcp = "kaggle_mcp.server:main" # Alias matching the PyPI distribution name, so `uvx safe-kaggle-mcp` works directly # (this is the command the MCP registry's default pypi runtime invokes). safe-kaggle-mcp = "kaggle_mcp.server:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/kaggle_mcp"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]