[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "arxiv-mcp-server" version = "0.7.2" description = "A flexible arXiv search and analysis service with MCP protocol support" readme = "README.md" requires-python = ">=3.11" license = "Apache-2.0" license-files = ["LICENSE"] keywords = ["mcp", "arxiv", "model-context-protocol", "llm", "research", "papers", "semantic-search", "ai", "academic"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries :: Python Modules", ] authors = [ { name = "Joseph Blazick", email = "joe.blazick@yahoo.com" } ] dependencies = [ "arxiv>=2.1.0", "httpx>=0.24.0", "python-dateutil>=2.8.2", "pydantic>=2.8.0", "mcp>=1.27.0,<2.0.0", "aiohttp>=3.9.1", "python-dotenv>=1.0.0", "pydantic-settings>=2.1.0", "aiofiles>=23.2.1", "uvicorn>=0.30.0", "starlette>=0.27.0", "sse-starlette>=1.8.2", "anyio>=4.2.0", ] [project.urls] Repository = "https://github.com/blazickjp/arxiv-mcp-server" Issues = "https://github.com/blazickjp/arxiv-mcp-server/issues" Documentation = "https://github.com/blazickjp/arxiv-mcp-server#readme" [project.optional-dependencies] pdf = [ "pymupdf4llm>=0.0.17", "pymupdf-layout>=1.26.6", ] test = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.5", "pytest-cov>=4.1.0", "pytest-mock>=3.10.0", "aioresponses>=0.7.6" ] dev = [ "black>=23.3.0" ] pro = [ "sentence-transformers>=3.0.0", "numpy>=1.26.0", ] [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "function" testpaths = ["tests"] addopts = "-v --cov=arxiv_mcp_server" [project.scripts] arxiv-mcp-server = "arxiv_mcp_server:main" [tool.hatch.build.targets.wheel] packages = ["src/arxiv_mcp_server"] [tool.hatch.metadata] allow-direct-references = true [tool.black] line-length = 88 target-version = ["py311"] include = '\.pyi?$' exclude = ''' /( \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist | mcpb-build )/ '''